source: branches/2.2/filemanager/js/handler.js @ 3585

Revision 3585, 7.0 KB checked in by alexandrecorreia, 13 years ago (diff)

Ticket #1395 - Padronizacao das janelas do filemanager com as do Expresso ( Editar pastas ).

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}
125
126handler.prototype.draw_folders_list = function (data)
127{
128       
129        toolbar.control('reload');
130        folders_tree = new dFTree({name: 'main'});
131       
132        folders = unserialize(data);
133       
134        var rootFold = new dNode({id:'root', caption:get_lang("filemanager")});
135        folders_tree.add(rootFold,'root');
136       
137        for ( var i = 0 ; i < folders.length; i++ )
138        {
139                var lastIndex = folders[i].lastIndexOf('/');
140                if (folders[i] != "/home/"+preferences.lid)
141                        var name = folders[i].substr(lastIndex+1,folders[i].length);
142                else
143                        var name = get_lang("My Folder");
144                var parentDir = folders[i].substr(0,lastIndex);
145       
146                if (parentDir == '/home')
147                        parentDir = 'root';
148               
149                var search_child = function(afolders,name)
150                {
151                        for (j=0; j < afolders.length; j++)
152                                if (afolders[j].indexOf(name+'/') == 0)
153                                        return true;
154                        return false;
155                }
156               
157                folder = new dNode({id:folders[i], caption:name, plusSign:search_child(folders,folders[i]), onClick:'load(\''+folders[i]+'\',this)'});
158               
159                if (i == 0)
160                        folders_tree.add(folder,'root');
161                else
162                        folders_tree.add(folder,parentDir);
163        }
164       
165        document.getElementById('content_folders').innerHTML = "";
166       
167        folders_tree.draw(document.getElementById('content_folders'));
168   
169        folders_tree.openTo(currentPath);
170       
171        folders_tree.getNodeById(currentPath)._select();
172}
173
174handler.prototype.copyto = function (data) {
175        returnVal = data.split('|');
176        if (returnVal[0] == 'NODIR')
177                write_error(get_lang('Could not copy file because no destination directory is given'));
178        else if(returnVal[0] == 'SOMEERROR'){
179                write_error(get_lang('Could not copy %1 file(s)',returnVal[1]));
180        }
181        else  if(returnVal[0] == 'COPIED'){
182                if (returnVal[1] == 1)
183                        write_msg(get_lang('File copied successfuly'));
184                else
185                        write_msg(get_lang('%1 files copied successfuly', returnVal[1]));
186        }
187}
188handler.prototype.moveto = function (data) {
189        returnVal = data.split('|');
190        if (returnVal[0] == 'NODIR')
191                write_error(get_lang('Could not copy file because no destination directory is given'));
192        else if(returnVal[0] == 'SOMEERROR'){
193                write_error(get_lang('Could not move %1 file(s)',returnVal[1]));
194        }
195        else  if(returnVal[0] == 'MOVED'){
196                if (returnVal[1] == 1)
197                        write_msg(get_lang('File moved successfuly'));
198                else
199                        write_msg(get_lang('%1 files moved successfuly', returnVal[1]));
200        }
201        handler.refreshDir();
202}
203handler.prototype.refreshDir = function (data) {
204        cExecute_('./index.php?menuaction=filemanager.uifilemanager.get_folders_list',handler.draw_folders_list);
205}
206
207var handler = new handler();
Note: See TracBrowser for help on using the repository browser.