1 | function handler(){ |
---|
2 | } |
---|
3 | |
---|
4 | handler.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 | |
---|
41 | handler.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 | |
---|
77 | handler.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 | |
---|
90 | handler.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 | |
---|
110 | handler.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 | |
---|
129 | handler.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 | |
---|
146 | handler.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 | |
---|
196 | handler.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 | |
---|
212 | handler.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 | } |
---|
227 | handler.prototype.refreshDir = function (data) { |
---|
228 | cExecute_('./index.php?menuaction=filemanager.uifilemanager.get_folders_list',handler.draw_folders_list); |
---|
229 | } |
---|
230 | |
---|
231 | var handler = new handler(); |
---|