source: sandbox/filemanager/js/handler.js @ 1929

Revision 1929, 6.9 KB checked in by amuller, 14 years ago (diff)

Ticket #597 - Correçao de caracteres especiais em nomes de arquivos

Line 
1function handler(){
2}
3handler.prototype.del = function(data){
4        var returnVal = data.split('|');
5        var deletedFiles = "";
6        for (i=0; i < returnVal.length; i++)
7                if (returnVal[i] == 'False'){
8                        write_error(get_lang('Could not delete %1',returnVal[i+1]));
9                        return;
10                }else
11                {
12                        if (returnVal[i] != ""){
13                                deletedFiles += ", "+returnVal[i];
14                                var element = document.getElementById("name_"+returnVal[i]);
15                                var pai = element.parentNode.parentNode.parentNode;
16                                pai.parentNode.removeChild(pai);
17                        }
18                        if (i > 3) //to avoid big message
19                        {
20                                deletedFiles = "  " +returnVal.length + " " +get_lang("files");
21                                break;
22                        }
23                }
24                write_msg(get_lang('Deleted %1',deletedFiles.substr(2)));
25        //Repaint stripes
26        folderList.drawStripes();
27}
28handler.prototype.rename = function(data) {
29        if (data == null){
30                var returnVal = new Array ("True",oldValue,oldValue);
31        }
32        else
33                var returnVal = data.split('|');
34        if ( returnVal[0] == "True" ){
35                if (returnVal[1] != returnVal[2]) write_msg(get_lang('Renamed %1 to %2',returnVal[1],returnVal[2]));
36                var nameLink = document.createElement('A');
37                var inputName = document.getElementById('input_'+returnVal[1]);
38                var trFile = inputName.parentNode.parentNode.parentNode;
39
40                nameLink.innerHTML = returnVal[2];
41                nameLink.href="./index.php?menuaction=filemanager.uifilemanager.view&file="+base64_encode(returnVal[2])+"&path="+base64_encode(currentPath);
42                nameLink.target = "_blank";
43                nameLink.id = "name_"+returnVal[2];
44
45                inputName.parentNode.appendChild(nameLink);
46                inputName.parentNode.removeChild(inputName);
47                trFile.innerHTML = trFile.innerHTML.replace(returnVal[1],returnVal[2]);
48                trFile.id = trFile.id.replace(returnVal[1],returnVal[2]);
49        }
50        else
51        {
52                if (returnVal[1] == "badchar")
53                        write_error(get_lang('File names cannot contain "%1"',returnVal[2]));
54                else if (returnVal[1] == "slashes")
55                        write_error(get_lang('File names cannot contain \\ or /'));
56                else if (returnVal[1] == "editing")
57                        write_error(get_lang('This file is being edited right now'));
58                else
59                        write_error(get_lang('Could not rename %1 to %2', returnVal[1], returnVal[2]));
60        }
61
62}
63handler.prototype.upload = function(data){
64        close_window();
65        connector.hideProgressBar();
66        var response = unserialize(data);
67        if (response[0] == "Ok")
68                write_msg(get_lang('All files created sucessfuly'));
69        else
70                for (var i=0;i < response.length; i++)
71                        write_error(response[i]);
72        toolbar.control('reload');
73}
74handler.prototype.restricted = function(data){
75        if (data.indexOf("True") == 0){
76                returnVal = data.split('|');
77                var img_lock = document.getElementById('restrict_'+returnVal[1]);
78                if (img_lock.style.backgroundImage.indexOf('button_unlock') > 0)
79                {
80                        img_lock.style.backgroundImage = img_lock.style.backgroundImage.replace(/button_unlock/g,'button_lock');
81                        write_msg(get_lang('%1 marked as restricted',returnVal[1]));
82                }
83                else
84                {
85                        img_lock.style.backgroundImage = img_lock.style.backgroundImage.replace(/button_lock/g,'button_unlock');
86                        write_msg(get_lang('%1 unmarked as restricted',returnVal[1]));
87                }
88        }
89        else
90                write_error("Could not mark as restricted");
91}
92handler.prototype.archive = function(data) {
93        returnVal = data.split('|');
94        if (returnVal[0] == 'False')
95        {
96                write_error(get_lang('It was not possible to execute it'));
97        }
98        else
99        if (returnVal[0] == 'wpasswd')
100        {
101                write_error(get_lang('Wrong password'));
102                return;
103        }
104        else
105                 write_msg(get_lang('Your operation was successfully executed'));
106        toolbar.control('reload');
107
108}
109handler.prototype.updateComment = function (data) {
110        var returnVal = data.split('|');
111        if (data.indexOf("True") == 0)
112        {
113                write_msg(get_lang('Updated comment for %1',returnVal[1]));
114        }
115        else
116        {
117                if (returnVal[1] == "badchar")
118                        write_error(get_lang('Comments cannot contain "%1"',returnVal[2]));
119                else
120                        write_error(get_lang('You have no permission to access this file'));
121        }
122
123}
124handler.prototype.draw_folders_list = function (data) {
125        toolbar.control('reload');
126        folders_tree = new dFTree({name: 'main'});
127        folders = unserialize(data);
128        var rootFold = new dNode({id:'root', caption:get_lang("filemanager")});
129        folders_tree.add(rootFold,'root');
130        var myfolder = new dNode({id:folders[0], caption:get_lang("My Folder"), plusSign:(folders[1].indexOf(folders[0]+'/') == 0), onClick:'load(\''+folders[0]+'\',this)'});
131        folders_tree.add(myfolder,'root');
132        for (var i=1;i<folders.length;i++)
133        {
134                var lastIndex = folders[i].lastIndexOf('/');
135                var name = folders[i].substr(lastIndex+1,folders[i].length);
136                var parentDir = folders[i].substr(0,lastIndex);
137                if (parentDir == '/home')
138                        parentDir = 'root';
139                next = (folders[i+1]?folders[i+1]:"");
140                folder = new dNode({id:folders[i], caption:name, plusSign:(next.indexOf(folders[i]+'/') == 0), onClick:'load(\''+folders[i]+'\',this)'});
141                folders_tree.add(folder,parentDir);
142        }
143        document.getElementById('content_folders').innerHTML = "";
144        folders_tree.draw(document.getElementById('content_folders'));
145        folders_tree.openTo(currentPath);
146        folders_tree.getNodeById(currentPath)._select();
147}
148handler.prototype.copyto = function (data) {
149        returnVal = data.split('|');
150        if (returnVal[0] == 'NODIR')
151                write_error(get_lang('Could not copy file because no destination directory is given'));
152        else if(returnVal[0] == 'SOMEERROR'){
153                write_error(get_lang('Could not copy %1 file(s)',returnVal[1]));
154        }
155        else  if(returnVal[0] == 'COPIED'){
156                if (returnVal[1] == 1)
157                        write_msg(get_lang('File copied successfuly'));
158                else
159                        write_msg(get_lang('%1 files copied successfuly', returnVal[1]));
160        }
161}
162handler.prototype.moveto = function (data) {
163        returnVal = data.split('|');
164        if (returnVal[0] == 'NODIR')
165                write_error(get_lang('Could not copy file because no destination directory is given'));
166        else if(returnVal[0] == 'SOMEERROR'){
167                write_error(get_lang('Could not move %1 file(s)',returnVal[1]));
168        }
169        else  if(returnVal[0] == 'MOVED'){
170                if (returnVal[1] == 1)
171                        write_msg(get_lang('File moved successfuly'));
172                else
173                        write_msg(get_lang('%1 files moved successfuly', returnVal[1]));
174        }
175        handler.refreshDir();
176}
177handler.prototype.refreshDir = function (data) {
178        cExecute('./index.php?menuaction=filemanager.uifilemanager.get_folders_list',handler.draw_folders_list);
179}
180
181var handler = new handler();
Note: See TracBrowser for help on using the repository browser.