';
}
toolbar.prototype.control = function (arg)
{
//Used to get button position
var button = document.getElementsByName(arg);
button = button[0];
switch (arg) {
case 'new':
elements = new Array();
elements[0] = { 'text': get_lang('empty file'),
'url': 'javascript:newEmptyFile()'};
elements[1] = new Array();
elements[1]['text'] = get_lang('File from model');
address = document.location.toString();
address = address.split("?");
elements[1]['url'] = address[0]+"?menuaction=filemanager.uifilemanager.fileModels";
elements[2] = { 'text' : get_lang('Upload'),
'url': 'javascript:newUpload()'};
draw_menu(arg,elements);
break;
case 'rename':
var one_checked = false;
files=document.getElementsByName('fileman');
for (i = 0; i < files.length; i++)
if (files[i].checked){
one_checked = true;
files[i].checked = false;
var nameLink = document.getElementById('name_'+files[i].value);
var inputName = document.createElement('INPUT');
inputName.id = 'input_'+files[i].value;
var filename = nameLink.innerHTML;
inputName.value = filename;
inputName.onclick = function () { oldValue = inputName.value; }
inputName.onblur = function () { if (inputName.value == oldValue) handler.rename(); else cExecute('./index.php?menuaction=filemanager.vfs_functions.rename&file='+base64_encode(this.id.substr(6))+'&to='+base64_encode(this.value)+"&path="+base64_encode(currentPath),handler.rename) };
inputName.onkeydown=function (event) {if (event.keyCode == KEY_ENTER) this.blur(); };
nameLink.parentNode.appendChild(inputName);
nameLink.parentNode.removeChild(nameLink);
}
if (!one_checked)
write_msg(get_lang('Please select a file'));
break;
case 'edit':
var one_checked = false;
files=document.getElementsByName('fileman');
for (i = 0; i < files.length; i++)
if (files[i].checked){
one_checked = true;
var filename=files[i].value;
}
if (one_checked){
address = document.location.toString();
address = address.split("&");
document.location = address[0]+"&"+arg+".x=1&filename="+base64_encode(filename)+".&path="+base64_encode(currentPath);
}
else
{
write_msg(get_lang('Please select a file'));
return;
}
break;
case 'delete':
filesUrl = "";
var one_checked = false;
files=document.getElementsByName('fileman');
var j=0;
for (i = 0; i < files.length; i++)
if (files[i].checked){
one_checked = true;
filesUrl += "&fileman["+j+"]="+base64_encode(files[i].value);
j++;
}
if (!one_checked)
{
write_msg(get_lang('Please select a file'));
return;
}
cExecute('./index.php?menuaction=filemanager.vfs_functions.delete&path='+
base64_encode(currentPath)+filesUrl,handler.del);
break;
case 'archive':
filesUrl = "";
var one_checked = false;
files=document.getElementsByName('fileman');
var j=0;
for (i = 0; i < files.length; i++)
if (files[i].checked){
one_checked = true;
filesUrl += "&fileman["+j+"]="+base64_encode(files[i].value);
j++;
}
if (!one_checked)
{
write_msg(get_lang('Please select a file'));
return;
}
password = prompt(get_lang('Please, type a strong password (suggestion: at least 8 characters, letters and numbers) or leave it empty to archive only'));
if (password == null)
return;
if (password.length > 0)
{
password2 = prompt(get_lang('Please, retype your password'));
if (password != password2)
{
alert(get_lang('Error:')+get_lang('passwords are differents'));
return;
}
}
// TODO use DES, or something strong
var pswd = crypt.encode(password);
cExecute('./index.php?menuaction=filemanager.vfs_functions.archive&pswd='+base64_encode(pswd.toString())+'&path='+base64_encode(currentPath)+filesUrl,handler.archive);
break;
case 'move_to':
case 'copy_to':
filesUrl = "";
var one_checked = false;
files=document.getElementsByName('fileman');
var j=0;
for (i = 0; i < files.length; i++)
if (files[i].checked){
one_checked = true;
filesUrl += "&fileman["+j+"]="+files[i].value;
j++;
}
if (!one_checked)
{
write_msg(get_lang('Please select a file'));
return;
}
var elements = new Array();
inputEl = document.getElementById('content_folders');
for(i=0; i< inputEl.childNodes.length; i++)
{
if (inputEl.childNodes[i].nodeName != 'SPAN')
continue;
elements[i] = new Array();
elements[i]['text']=inputEl.childNodes[i].innerHTML;
address = document.location.toString();
address = address.split("&");
elements[i]['url'] = address[0]+
"&"+escape(arg)+".x=10"+
"&from="+base64_encode(currentPath)+
"&to="+base64_encode(inputEl.childNodes[i].innerHTML)+
filesUrl;
}
draw_menu(arg,elements);
break;
case 'reload':
cExecute('./index.php?menuaction=filemanager.uifilemanager.dir_ls&path='+base64_encode(currentPath)+'&criteria='+criteria+'&otype='+order_type,folderList.drawFiles);
return;
case 'tools':
elements = new Array();
elements[0] = new Array();
elements[0]['text'] = get_lang('Preferences');
elements[0]['url'] = 'preferences/preferences.php?appname=filemanager';
elements[0]['img'] = templatePath+'images/preferences.png';
elements[1] = new Array();
elements[1]['text'] = get_lang('Search');
elements[1]['url'] = 'javascript:\
document.getElementById("menu_newFiletools").style.visibility="hidden";\
document.getElementById("em_message_search").focus();';
elements[1]['img'] = templatePath+'images/search.gif';
elements[2] = new Array();
elements[2]['text'] = get_lang('Edit Folders');
elements[2]['url'] = 'javascript:editFolders()';
elements[2]['img'] = templatePath+'images/button_createdir.png';
elements[3] = new Array();
elements[3]['text'] = get_lang('Share Folders');
elements[3]['url'] = "./index.php?menuaction=preferences.uiaclprefs.index&acl_app=filemanager";
elements[3]['img'] = templatePath+'images/mime16_directory.png';
elements[4] = new Array();
elements[4]['text'] = get_lang('Edit Columns');
elements[4]['url'] = "javascript:EditColumns()";
elements[4]['img'] = templatePath+'images/editpaste.png';
elements[5] = new Array();
elements[5]['text'] = get_lang('Archive');
elements[5]['url'] = "javascript:toolbar.control('archive')";
elements[5]['img'] = templatePath+'images/button_zip.png';
draw_menu(arg,elements);
break;
default:
return;
}
}
var toolbar = new toolbar();
function unarchive(filename){
password = crypt.encode(prompt(get_lang('Please, type archive password or leave it empty if it is not encrypted')));
if (password == null)
return;
cExecute('./index.php?menuaction=filemanager.vfs_functions.unarchive&pswd='+base64_encode(password)+'&path='+base64_encode(currentPath)+'&file='+base64_encode(filename),handler.archive);
}
function draw_card(filename){
draw_window_card('preview','./index.php?menuaction=filemanager.vfs_functions.summary&file='+base64_encode(filename)+"&path="+base64_encode(currentPath));
}
function editFolders(operation){
if (operation == 'new'){
var name = prompt(get_lang('Enter with the name of new file/directory'), '');
if (name != null && name != '')
{
var parentDir = document.getElementById('folders_box').value;
cExecute('./index.php?menuaction=filemanager.uifilemanager.createdir&path='+base64_encode(parentDir)+'&filename='+base64_encode(name),handler.refreshDir);
currentPath = parentDir+'/'+name;
close_window();
}
}
else
if (operation == 'remove'){
var Dfolder = document.getElementById('folders_box').value;
if (confirm(get_lang('Do you really want to remove folder: %1?',Dfolder), ''))
{
cExecute('./index.php?menuaction=filemanager.uifilemanager.removedir&path='+base64_encode(crypt.encode(Dfolder)),handler.refreshDir);
var lastIndex = Dfolder.lastIndexOf('/');
currentPath = Dfolder.substr(0,lastIndex);
close_window();
}
}
else{
var buf = "";
code = "
"+buf+"
";
draw_window(code);
}
}
function draw_window_card(id,url){
var menu = document.getElementById('menu_newFile'+id);
if (menu == null){
menu = document.createElement('DIV');
menu.className = 'menubox';
menu.id = "menu_newFile"+id;
menu.style.left = DocX;
menu.style.top = (DocY+20)+"px";
menu.width = "100%";
menu.innerHTML = '';
menu.onmouseout = function () { menuTimeout = setTimeout("hide_preview()",50);}
menu.onmouseover = function () { clearTimeout(menuTimeout); };
menu.style.zIndex='1';
document.getElementById('tdAppbox').appendChild(menu);
}
else
{
menu.style.left = DocX;
menu.style.top = (DocY+20)+"px";
menu.innerHTML = '';
}
menu.style.visibility = 'visible';
clearTimeout(menuTimeout);
menuTimeout = setTimeout("hide_preview()",4000);
}
function hide_preview(){
var e=document.getElementById('menu_newFilepreview');
if (e!=null)
e.style.visibility = 'hidden';
}