function load(path,el){ currentPath = path; contentFolders = document.getElementById('content_folders'); for (i=0; i < contentFolders.childNodes.length; i++) if (contentFolders.childNodes[i].className == "sl") contentFolders.childNodes[i].className = "l"; el.className = "sl"; toolbar.control('reload'); } var denyFileExtensions = new Array('exe','com','reg','chm','cnf','hta','ins', 'jse','job','lnk','pif','src','scf','sct','shb', 'vbe','vbs','wsc','wsf','wsh','cer','its','mau', 'mda','mar','mdz','prf','pst'); function validateFileExtension(fileName){ var error_flag = false; var fileExtension = fileName.split("."); fileExtension = fileExtension[(fileExtension.length-1)]; for(var i=0; i 1) for(j = 1; typeof(arguments[j]) != 'undefined'; j++) _value = _value.replace("%"+j,arguments[j]); return _value; } function newEmptyFile(){ var name = prompt(get_lang('Enter with the name of new file/directory'), ''); var input_text = document.getElementById('newfile_or_dir'); if (name != null && name != '' && validateFileExtension(name)) { var fileExtension = name.split("."); fileExtension = fileExtension[1]; if (typeof(fileExtension) == 'undefined') input_text.value = name+".html"; else input_text.value = name; address = document.location.toString(); address = address.split("&"); document.location = address[0]+"&newfile.x=1&newfile_or_dir="+input_text.value; } } /* * base64.js - Base64 encoding and decoding functions * * Copyright (c) 2007, David Lindquist * Released under the MIT license */ function base64_encode(str) { var chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'; var encoded = []; var c = 0; while (c < str.length) { var b0 = str.charCodeAt(c++); var b1 = str.charCodeAt(c++); var b2 = str.charCodeAt(c++); var buf = (b0 << 16) + ((b1 || 0) << 8) + (b2 || 0); var i0 = (buf & (63 << 18)) >> 18; var i1 = (buf & (63 << 12)) >> 12; var i2 = isNaN(b1) ? 64 : (buf & (63 << 6)) >> 6; var i3 = isNaN(b2) ? 64 : (buf & 63); encoded[encoded.length] = chars.charAt(i0); encoded[encoded.length] = chars.charAt(i1); encoded[encoded.length] = chars.charAt(i2); encoded[encoded.length] = chars.charAt(i3); } return encoded.join(''); } function base64_decode(str) { var chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/='; var invalid = { strlen: (str.length % 4 != 0), chars: new RegExp('[^' + chars + ']').test(str), equals: (/=/.test(str) && (/=[^=]/.test(str) || /={3}/.test(str))) }; if (invalid.strlen || invalid.chars || invalid.equals) throw new Error('Invalid base64 data'); var decoded = []; var c = 0; while (c < str.length) { var i0 = chars.indexOf(str.charAt(c++)); var i1 = chars.indexOf(str.charAt(c++)); var i2 = chars.indexOf(str.charAt(c++)); var i3 = chars.indexOf(str.charAt(c++)); var buf = (i0 << 18) + (i1 << 12) + ((i2 & 63) << 6) + (i3 & 63); var b0 = (buf & (255 << 16)) >> 16; var b1 = (i2 == 64) ? -1 : (buf & (255 << 8)) >> 8; var b2 = (i3 == 64) ? -1 : (buf & 255); decoded[decoded.length] = String.fromCharCode(b0); if (b1 >= 0) decoded[decoded.length] = String.fromCharCode(b1); if (b2 >= 0) decoded[decoded.length] = String.fromCharCode(b2); } return decoded.join(''); } function setRestricted(name){ var continue_set = confirm(get_lang('This property will change the visibility of all users that have access to this file, continue?')); if (continue_set) cExecute('./index.php?menuaction=filemanager.vfs_functions.setRestricted&file='+base64_encode(name)+'&path='+base64_encode(currentPath),setRestricted_handler); } function setRestricted_handler(data){ if (data.indexOf("True") == 0){ returnVal = data.split(':'); var img_lock = document.getElementById('restrict_'+returnVal[1]); if (img_lock.src.indexOf('button_unlock') > 0) { img_lock.src = img_lock.src.replace(/button_unlock/g,'button_lock'); write_msg(get_lang('%1 marked as restricted',returnVal[1])); } else { img_lock.src = img_lock.src.replace(/button_lock/g,'button_unlock'); write_msg(get_lang('%1 unmarked as restricted',returnVal[1])); } } else write_error("Could not mark as restricted"); } function presetComments(el){ if (permissions['edit'] == 0){ el.blur(); write_error(get_lang('You have no permission to access this file')); } oldComment = el.value; } function setComments(el){ if (el.value == oldComment){ el.value = oldComment; return; } var filename = base64_encode(el.id); cExecute('./index.php?menuaction=filemanager.vfs_functions.editComment&file='+filename+'&comment='+base64_encode(el.value),updateComment); } function enterComments(e,el){ if (e.keyCode == KEY_ENTER) el.blur(); } function updateComment(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')); } } function handlerDelete(data){ var returnVal = data.split(':'); 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] != ""){ write_msg(get_lang('Deleted %1',returnVal[i])); var element = document.getElementById(returnVal[i]); var pai = element.parentNode.parentNode; pai.parentNode.removeChild(pai); //Repaint stripes } } folderList.drawStripes(); } function handlerRename(data) { var returnVal = data.split(':'); if (data.indexOf("True") == 0){ write_msg(get_lang('Renamed %1 to %2',returnVal[1],returnVal[2])); var nameLink = document.createElement('A'); var inputName = document.getElementById('input_'+returnVal[1]); 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]; /*Value da checkbox correspondente ao arquivo é atualizada*/ inputName.parentNode.parentNode.firstChild.firstChild.value = returnVal[2]; inputName.parentNode.appendChild(nameLink); inputName.parentNode.removeChild(inputName); } 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 /')); 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])); } } function EditColumns(param){ if (param == 'close') { var menu = document.getElementById('menu_col_pref'); menu.parentNode.removeChild(menu); return; } if(param == 'save') { var checkBoxes = document.getElementsByName('prefView'); var url=""; for (var i=0; i < checkBoxes.length; i++) { if (checkBoxes[i].checked) preferences[checkBoxes[i].value] = '1'; else preferences[checkBoxes[i].value] = '0'; } cExecute('./index.php?menuaction=filemanager.user.save_preferences&preferences='+base64_encode(serialize(preferences)),function () { toolbar.control('reload'); EditColumns('close'); }) return; } var check = function(type) { if (preferences[type] =='1') return 'checked'; else return '';}; var inputHTML = ''+get_lang('type')+'
'+ inputHTML+'size" '+check('size')+'>'+get_lang('size')+'
'+ inputHTML+'created" '+check('created')+'>'+get_lang('created')+'
'+ inputHTML+'modified" '+check('modified')+'>'+get_lang('modified')+'
'+ inputHTML+'owner" '+check('owner')+'>'+get_lang('owner')+'
'+ inputHTML+'createdby_id" '+check('createdby_id')+'>'+get_lang('created by')+'
'+ inputHTML+'modifiedby_id" '+check('modifiedby_id')+'>'+get_lang('modified by')+'
'+ // inputHTML+'application" '+check('application')+'>'+get_lang('application')+'
'+ inputHTML+'comment" '+check('comment')+'>'+get_lang('comment')+'
'+ inputHTML+'version" '+check('version')+'>'+get_lang('version')+'
'+ ' '+ ''; menu = document.createElement('DIV'); menu.id = "menu_col_pref"; menu.style.left = "100px"; menu.style.top = "200px"; menu.className = 'menubox'; menu.style.zIndex='1'; menu.innerHTML = form; document.getElementById('divAppboxHeader').appendChild(menu); } function searchFile(){ var inputText = document.getElementById('em_message_search'); if (inputText.value.length < 4) { alert(get_lang('Your search must have at least 4 characters')); return; } cExecute('./index.php?menuaction=filemanager.uifilemanager.search&text='+inputText.value,folderList.drawSearch); } function selectAll(el){ checkBoxes = document.getElementsByName('fileman'); if (el.checked) for (i=0; i < checkBoxes.length; i++) checkBoxes[i].checked = true; else for (i=0; i < checkBoxes.length; i++) checkBoxes[i].checked = false; } function borkb(size){ kbyte = 1024; mbyte = kbyte*1024; gbyte = mbyte*1024; if (!size) size = 0; if (size < kbyte) return size + 'B'; else if (size < mbyte) return parseInt(size/kbyte) + 'KB'; else if (size < gbyte) if (size/mbyte > 100) return (size/mbyte).toFixed(0) + 'MB'; else return (size/mbyte).toFixed(1) + 'MB'; else return parseInt(size/gbyte).toFixed(1) + 'GB'; }