source: trunk/filemanager/js/handler.js @ 2000

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

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