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

Revision 3591, 7.1 KB checked in by alexandrecorreia, 13 years ago (diff)

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