Changeset 3879 for branches/2.2/filemanager/js/handler.js
- Timestamp:
- 03/18/11 18:18:12 (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2.2/filemanager/js/handler.js
r3619 r3879 1 function handler(){ 2 } 3 4 handler.prototype.del = function(data) 1 (function() 5 2 { 6 var _return = data; 7 var deletedFiles = ""; 3 function archive(data) 4 { 5 var returnVal = data.split('|'); 6 7 if (returnVal[0] == 'False') 8 { 9 write_error(get_lang('It was not possible to execute it')); 10 } 11 else 12 13 if (returnVal[0] == 'wpasswd') 14 { 15 write_error(get_lang('Wrong password')); 16 return; 17 } 18 else 19 write_msg(get_lang('Your operation was successfully executed')); 20 21 toolbar.control('reload'); 22 } 23 24 function copyto(data) 25 { 26 var returnVal = data.split('|'); 27 28 if (returnVal[0] == 'NODIR') 29 write_error(get_lang('Could not copy file because no destination directory is given')); 30 else if(returnVal[0] == 'SOMEERROR') 31 { 32 write_error(get_lang('Could not copy %1 file(s)',returnVal[1])); 33 } 34 else if(returnVal[0] == 'COPIED') 35 { 36 if (returnVal[1] == 1) 37 write_msg(get_lang('File copied successfuly')); 38 else 39 write_msg(get_lang('%1 files copied successfuly', returnVal[1])); 40 } 41 } 42 43 function del(data) 44 { 45 var _return = data; 46 var deletedFiles = ""; 47 48 _return = _return.substring(0, ( _return.length - 1 ) ); 49 _return = _return.split("|"); 50 51 52 for (var i = 0 ; i < _return.length; i++) 53 { 54 if ( _return[i] == 'False') 55 { 56 write_error(get_lang('Could not delete %1', _return[i+1]) ); 57 return; 58 } 59 else 60 { 61 if ( _return[i] != "" ) 62 { 63 deletedFiles += ", " + _return[i]; 64 } 65 66 if (i > 3) //to avoid big message 67 { 68 deletedFiles = " " + _return.length + " " +get_lang("files"); 69 break; 70 } 71 } 72 } 73 74 write_msg(get_lang('Deleted %1',deletedFiles.substr(2))); 75 76 toolbar.control('reload'); 77 } 78 79 function draw_folders_list(data) 80 { 81 toolbar.control('reload'); 82 folders_tree = new dFTree({name: 'main'}); 83 84 folders = unserialize(data); 85 86 var rootFold = new dNode({id:'root', caption: get_lang("Directories") }); 87 folders_tree.add(rootFold,'root'); 88 89 for ( var i = 0 ; i < folders.length; i++ ) 90 { 91 var lastIndex = folders[i].lastIndexOf('/'); 92 if (folders[i] != "/home/"+preferences.lid) 93 var name = folders[i].substr(lastIndex+1,folders[i].length); 94 else 95 var name = get_lang("My Folder"); 96 var parentDir = folders[i].substr(0,lastIndex); 97 98 if ( parentDir == '/home' ) 99 parentDir = 'root'; 100 101 var search_child = function( ListFolders, name ) 102 { 103 for ( j = 0 ; j < ListFolders.length; j++ ) 104 { 105 if ( ListFolders[j].indexOf( name + '/') > -1 ) 106 return true; 107 } 108 109 return false; 110 } 111 112 folder = new dNode({id:folders[i], caption:name, plusSign:search_child(folders,folders[i]), onClick:'load(\''+folders[i]+'\',this)'}); 113 114 if (i == 0) 115 folders_tree.add(folder,'root'); 116 else 117 folders_tree.add(folder,parentDir); 118 } 119 120 document.getElementById('content_folders').innerHTML = ""; 121 122 folders_tree.draw(document.getElementById('content_folders')); 123 124 folders_tree.openTo(currentPath); 125 126 folders_tree.getNodeById(currentPath)._select(); 127 } 128 129 function moveto(data) 130 { 131 returnVal = data.split('|'); 132 if (returnVal[0] == 'NODIR') 133 write_error(get_lang('Could not copy file because no destination directory is given')); 134 else if(returnVal[0] == 'SOMEERROR'){ 135 write_error(get_lang('Could not move %1 file(s)',returnVal[1])); 136 } 137 else if(returnVal[0] == 'MOVED'){ 138 if (returnVal[1] == 1) 139 write_msg(get_lang('File moved successfuly')); 140 else 141 write_msg(get_lang('%1 files moved successfuly', returnVal[1])); 142 } 143 handler.refreshDir(); 144 } 145 146 function refreshDir(data) 147 { 148 cExecute_('./index.php?menuaction=filemanager.uifilemanager.get_folders_list',handler.draw_folders_list); 149 } 150 151 function rename(data) 152 { 153 if ( data == null ) 154 { 155 var returnVal = new Array ("True",oldValue,oldValue); 156 } 157 else 158 var returnVal = data.split('|'); 159 160 if ( returnVal[0] == "True" ) 161 { 162 if (returnVal[1] != returnVal[2]) write_msg(get_lang('Renamed %1 to %2',returnVal[1],returnVal[2])); 163 var nameLink = document.createElement('A'); 164 165 var inputName = document.getElementById('input_'+returnVal[1]); 166 var trFile = inputName.parentNode.parentNode.parentNode; 167 168 nameLink.innerHTML = returnVal[2]; 169 nameLink.href="./index.php?menuaction=filemanager.uifilemanager.view&file=" 170 + base64_encode(returnVal[2])+"&path="+base64_encode(currentPath); 171 nameLink.target = "_blank"; 172 nameLink.id = "name_"+returnVal[2]; 173 174 inputName.parentNode.appendChild(nameLink); 175 inputName.parentNode.removeChild(inputName); 176 trFile.innerHTML = trFile.innerHTML.replace(returnVal[1],returnVal[2]); 177 trFile.id = trFile.id.replace(returnVal[1],returnVal[2]); 178 } 179 else 180 { 181 if ( returnVal[1] == "badchar" ) 182 write_error(get_lang('File names cannot contain "%1"',returnVal[2])); 183 else if (returnVal[1] == "slashes") 184 write_error(get_lang('File names cannot contain \\ or /')); 185 else if (returnVal[1] == "editing") 186 write_error(get_lang('This file is being edited right now')); 187 else 188 write_error(get_lang('Could not rename %1 to %2', returnVal[1], returnVal[2])); 189 } 190 191 } 8 192 9 _return = _return.substring(0, ( _return.length - 1 ) ); 10 _return = _return.split("|"); 193 function restricted(data) 194 { 195 if (data.indexOf("True") == 0) 196 { 197 returnVal = data.split('|'); 198 var img_lock = document.getElementById('restrict_'+returnVal[1]); 199 200 if (img_lock.style.backgroundImage.indexOf('button_unlock') > 0) 201 { 202 img_lock.style.backgroundImage = img_lock.style.backgroundImage.replace(/button_unlock/g,'button_lock'); 203 write_msg(get_lang('%1 marked as restricted',returnVal[1])); 204 } 205 else 206 { 207 img_lock.style.backgroundImage = img_lock.style.backgroundImage.replace(/button_lock/g,'button_unlock'); 208 write_msg(get_lang('%1 unmarked as restricted',returnVal[1])); 209 } 210 } 211 else 212 write_error("Could not mark as restricted"); 213 } 214 215 function updateComment(data) 216 { 217 var returnVal = data.split('|'); 218 if (data.indexOf("True") == 0) 219 { 220 write_msg(get_lang('Updated comment for %1',returnVal[1])); 221 } 222 else 223 { 224 if (returnVal[1] == "badchar") 225 write_error(get_lang('Comments cannot contain "%1"',returnVal[2])); 226 else 227 write_error(get_lang('You have no permission to access this file')); 228 } 229 230 } 11 231 232 function upload(data) 233 { 234 var response = unserialize(data); 235 236 if ( response[0] == "Ok" ) 237 { 238 write_msg(get_lang('All files created sucessfuly')); 239 _winBuild( "dwindownewUpload" , "remove" ); 240 } 241 else 242 { 243 var _inputs = document.getElementsByTagName('input'); 244 245 for( var i = 0; i < response.length; i++ ) 246 { 247 for( var j = 0 ; j < _inputs.length ; j++ ) 248 { 249 if( _inputs[j].getAttribute('type') == 'file' ) 250 { 251 if( _inputs[j].value.indexOf( response[i]['file'] ) > -1 ) 252 { 253 var _parent = _inputs[j].parentNode; 254 var _div = _parent.firstChild; 255 _div.style.display = "block"; 256 _div.style.color = "red"; 257 _div.style.height = "16px"; 258 _div.style.paddingLeft = "17px"; 259 _div.style.background = "url('"+path_filemanager+"images/warning.gif') no-repeat left top"; 260 _div.style.cursor = "pointer"; 261 _div.onclick = function(){ this.style.display = 'none'; } ; 262 263 if( response[i]['size_max'] ) 264 { 265 _div.innerHTML = "<span style='font-weight:bold' >Erro </span>:: Tamanho do arquivo " 266 + borkb( response[i]['size'] ) + " - Permitido " + borkb( response[i]['size_max'] ); 267 } 268 else if( response[i]['badchar'] ) 269 { 270 _div.innerHTML = "<span style='font-weight:bold' >Erro </span>:: " + response[i]['badchar']; 271 } 272 else if( response[i]['directory'] ) 273 { 274 _div.innerHTML = "<span style='font-weight:bold' >Erro </span>:: " + response[i]['directory']; 275 } 276 else if( response[i]['sendFile'] ) 277 { 278 _div.innerHTML = "<span style='font-weight:bold' >Erro </span>:: " + response[i]['sendFile']; 279 } 280 else if( response[i]['undefined'] ) 281 { 282 _div.innerHTML = "<span style='font-weight:bold' >Erro </span>:: " + response[i]['undefined']; 283 } 284 } 285 } 286 } 287 } 288 } 289 290 connector.hideProgressBar(); 291 toolbar.control('reload'); 292 } 293 294 function handler(){} 295 296 handler.prototype.archive = archive; 297 handler.prototype.copyto = copyto; 298 handler.prototype.del = del; 299 handler.prototype.draw_folders_list = draw_folders_list; 300 handler.prototype.moveto = moveto; 301 handler.prototype.refreshDir = refreshDir; 302 handler.prototype.rename = rename; 303 handler.prototype.restricted = restricted; 304 handler.prototype.updateComment = updateComment; 305 handler.prototype.upload = upload; 306 307 window.handler = new handler; 12 308 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(); 309 })();
Note: See TracChangeset
for help on using the changeset viewer.