function handler(){ } handler.prototype.del = function(data){ var returnVal = data.split('|'); var deletedFiles = ""; for (i=0; i < returnVal.length; i++) if (returnVal[i] == 'False'){ write_error(get_lang('Could not delete %1',returnVal[i+1])); return; }else { if (returnVal[i] != ""){ deletedFiles += ", "+returnVal[i]; /*var element = document.getElementById("name_"+returnVal[i]); var pai = element.parentNode.parentNode.parentNode; pai.parentNode.removeChild(pai);*/ } if (i > 3) //to avoid big message { deletedFiles = " " +returnVal.length + " " +get_lang("files"); break; } } write_msg(get_lang('Deleted %1',deletedFiles.substr(2))); //Repaint stripes toolbar.control('reload'); //folderList.drawStripes(); } handler.prototype.rename = function(data) { if (data == null){ var returnVal = new Array ("True",oldValue,oldValue); } else var returnVal = data.split('|'); if ( returnVal[0] == "True" ){ if (returnVal[1] != returnVal[2]) write_msg(get_lang('Renamed %1 to %2',returnVal[1],returnVal[2])); var nameLink = document.createElement('A'); var inputName = document.getElementById('input_'+returnVal[1]); var trFile = inputName.parentNode.parentNode.parentNode; nameLink.innerHTML = returnVal[2]; nameLink.href="./index.php?menuaction=filemanager.uifilemanager.view&file="+base64_encode(returnVal[2])+"&path="+base64_encode(currentPath); nameLink.target = "_blank"; nameLink.id = "name_"+returnVal[2]; inputName.parentNode.appendChild(nameLink); inputName.parentNode.removeChild(inputName); trFile.innerHTML = trFile.innerHTML.replace(returnVal[1],returnVal[2]); trFile.id = trFile.id.replace(returnVal[1],returnVal[2]); } else { if (returnVal[1] == "badchar") write_error(get_lang('File names cannot contain "%1"',returnVal[2])); else if (returnVal[1] == "slashes") write_error(get_lang('File names cannot contain \\ or /')); else if (returnVal[1] == "editing") write_error(get_lang('This file is being edited right now')); else write_error(get_lang('Could not rename %1 to %2', returnVal[1], returnVal[2])); } } handler.prototype.upload = function(data){ close_window(); connector.hideProgressBar(); var response = unserialize(data); if (response[0] == "Ok") write_msg(get_lang('All files created sucessfuly')); else for (var i=0;i < response.length; i++) write_error(response[i]); toolbar.control('reload'); } handler.prototype.restricted = function(data){ if (data.indexOf("True") == 0){ returnVal = data.split('|'); var img_lock = document.getElementById('restrict_'+returnVal[1]); if (img_lock.style.backgroundImage.indexOf('button_unlock') > 0) { img_lock.style.backgroundImage = img_lock.style.backgroundImage.replace(/button_unlock/g,'button_lock'); write_msg(get_lang('%1 marked as restricted',returnVal[1])); } else { img_lock.style.backgroundImage = img_lock.style.backgroundImage.replace(/button_lock/g,'button_unlock'); write_msg(get_lang('%1 unmarked as restricted',returnVal[1])); } } else write_error("Could not mark as restricted"); } handler.prototype.archive = function(data) { returnVal = data.split('|'); if (returnVal[0] == 'False') { write_error(get_lang('It was not possible to execute it')); } else if (returnVal[0] == 'wpasswd') { write_error(get_lang('Wrong password')); return; } else write_msg(get_lang('Your operation was successfully executed')); toolbar.control('reload'); } handler.prototype.updateComment = function (data) { var returnVal = data.split('|'); if (data.indexOf("True") == 0) { write_msg(get_lang('Updated comment for %1',returnVal[1])); } else { if (returnVal[1] == "badchar") write_error(get_lang('Comments cannot contain "%1"',returnVal[2])); else write_error(get_lang('You have no permission to access this file')); } } handler.prototype.draw_folders_list = function (data) { toolbar.control('reload'); folders_tree = new dFTree({name: 'main'}); folders = unserialize(data); var rootFold = new dNode({id:'root', caption: get_lang("Directories") }); folders_tree.add(rootFold,'root'); for ( var i = 0 ; i < folders.length; i++ ) { var lastIndex = folders[i].lastIndexOf('/'); if (folders[i] != "/home/"+preferences.lid) var name = folders[i].substr(lastIndex+1,folders[i].length); else var name = get_lang("My Folder"); var parentDir = folders[i].substr(0,lastIndex); if ( parentDir == '/home' ) parentDir = 'root'; var search_child = function( ListFolders, name ) { for ( j = 0 ; j < ListFolders.length; j++ ) { if ( ListFolders[j].indexOf( name + '/') > -1 ) return true; } return false; } folder = new dNode({id:folders[i], caption:name, plusSign:search_child(folders,folders[i]), onClick:'load(\''+folders[i]+'\',this)'}); if (i == 0) folders_tree.add(folder,'root'); else folders_tree.add(folder,parentDir); } document.getElementById('content_folders').innerHTML = ""; folders_tree.draw(document.getElementById('content_folders')); folders_tree.openTo(currentPath); folders_tree.getNodeById(currentPath)._select(); } handler.prototype.copyto = function (data) { returnVal = data.split('|'); if (returnVal[0] == 'NODIR') write_error(get_lang('Could not copy file because no destination directory is given')); else if(returnVal[0] == 'SOMEERROR'){ write_error(get_lang('Could not copy %1 file(s)',returnVal[1])); } else if(returnVal[0] == 'COPIED'){ if (returnVal[1] == 1) write_msg(get_lang('File copied successfuly')); else write_msg(get_lang('%1 files copied successfuly', returnVal[1])); } } handler.prototype.moveto = function (data) { returnVal = data.split('|'); if (returnVal[0] == 'NODIR') write_error(get_lang('Could not copy file because no destination directory is given')); else if(returnVal[0] == 'SOMEERROR'){ write_error(get_lang('Could not move %1 file(s)',returnVal[1])); } else if(returnVal[0] == 'MOVED'){ if (returnVal[1] == 1) write_msg(get_lang('File moved successfuly')); else write_msg(get_lang('%1 files moved successfuly', returnVal[1])); } handler.refreshDir(); } handler.prototype.refreshDir = function (data) { cExecute_('./index.php?menuaction=filemanager.uifilemanager.get_folders_list',handler.draw_folders_list); } var handler = new handler();