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

Revision 3619, 6.7 KB checked in by alexandrecorreia, 13 years ago (diff)

Ticket #1468 - Notificacao por email de uploads de arquivos enviados pelo modulo Filemanager

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