Просмотр файла admin_panel/explorer_pro.php

Размер файла: 22.88Kb
<?php
session_start();
$ip = preg_replace('|[^0-9\.]|', '', $_SERVER['REMOTE_ADDR']);
include_once("libzip.dat");//Баблиотека для zip архивов
if($_SESSION['PHPSESSED'] == !NULL && $_SESSION['login'] == !NULL && $_SESSION['PHPSESSED'] == $_SESSION['gener'] && $_SESSION['login'] == $_COOKIE['login'] && $_SESSION['ip'] == $ip){
echo'<style type="text/css">
body {
font:12px Verdana;
max-width:380px;
margin:0 auto;
background:#fff;
}

img {
border:none;
padding:0px;
}

div {
margin-top:1px;
margin-bottom:1px;
}

.head {
background:#82e24d url(/style/default/head.png);
height:40px;
border:1px solid #5bff00;
}

.razd {
background:#ecd725 url(/style/default/razdel.png);
padding:4px;
border:1px solid #ffe400;
color:#c19d0c;
font-weight:700;
}

.menu {
background:#eee url(/style/default/menu.png) repeat-x top;
padding:4px;
border:1px solid #ccc;
border-radius:5px;
}

.foot {
background:#82e24d url(/style/default/foot.png);
padding:4px;
border:1px solid #5bff00;
}

a {
color:#45b607;
text-decoration:none;
}

a:hover {
color:#7dde48;
text-decoration:underline;
}
hr { margin-bottom: 2px;border: 0;border-top:1px dotted #c4c4c4; }
input[type="submit"] {
	color: #fff;
	cursor: pointer;
	font-size: x-small;
	background-color: #b0b0b0;
	border: 1px solid #969696;
	margin: 1px 1px 1px 1px;
	padding: 1px 5px 1px 5px;
}

</style>';
echo'<div class="head"><img src="/style/default/logo.png" alt="logo"></div>';
echo'<div class="razd">Админ-панель</div>';
echo'<div class="menu">';


      echo'<strong>explorer</strong><br />';
      if(isset($_GET['dir'])){$dir = $_GET['dir'];}
      if(isset($_GET['file'])){$file = $_GET['file'];}
      if(isset($_POST['dir'])){$dir = $_POST['dir'];}
      if(isset($_POST['param'])){$param = $_POST['param'];}
      if(isset($_POST['txtsob'])){$txtsob = $_POST['txtsob'];}
      ////////////////////////////////////////////////////////
      if(empty($act)){$act="index";}
      if($act=="index")
      {
         if(empty($dir)){ $dir='..'; }
         if(file_exists($dir))//проверяем существование дериктории или файла
         {
            if(is_dir($dir))//если дериктория, то выводим её
            {
               $new_dir_url="..";
               $new_dir_url_arr = explode("/", $dir);
               $i = "0";
               $var = count($new_dir_url_arr)-1;
               while(++$i < $var)
               {$new_dir_url = $new_dir_url."/".$new_dir_url_arr[$i];}
               echo'<a href="explorer_pro.php?act=index&amp;dir='.$new_dir_url.'&amp;'.SID.'">&#171; на уровень вверх</a><br>';
               $basename=basename($dir); 
               echo'<div class="sob"><b>'.$dir.'</b></div>';
               
               
               $dire = @opendir ($dir);
               while ( $file = readdir ($dire))
               {
                  if(( $file != ".")&& ($file != ".."))
                  {
                     
                     if(is_dir($dir.'/'.$file)){ $issr = $img_dir_dounload; $ves = ''; }
                     if(is_file($dir.'/'.$file))
                     {
                        $issr = $img_file_dounload;
                        $ves = filesize("$dir/$file");
                        $ves = $ves / 1000;
                        $ves = '('.$ves.' kb)';
                     }
                     echo'<div class="link">'.$issr.'<a href="explorer_pro.php?act=index&amp;dir='.$dir.'/'.$file.'&amp;'.SID.'"><B>'.$file.'</B></a> '.$ves.' [<a href="explorer_pro.php?act=dell&amp;dir='.$dir.'/'.$file.'">Dell</a>]</div>';
                  }
               }
               closedir ($dire);
               
               
               //форма для создания нового файла
               echo'<form name="forma" action="explorer_pro.php?'.SID.'" method="post">';
               echo'<INPUT TYPE="hidden" NAME="act" VALUE="save">';
               echo'<INPUT TYPE="hidden" NAME="dir" VALUE="'.$dir.'">';
               echo'<input type="text" name="param" value="" size="10" maxlength="30"><br>';
               echo'<input type="submit" name="" value="Создать фаил"><br>';
               echo'</form>';
               //форма для создания новой папки
               echo'<form name="forma" action="explorer_pro.php?'.SID.'" method="post">';
               echo'<INPUT TYPE="hidden" NAME="act" VALUE="mkdir">';
               echo'<INPUT TYPE="hidden" NAME="dir" VALUE="'.$dir.'">';
               echo'<input type="text" name="param" value="" size="10" maxlength="30"><br>';
               echo'<input type="submit" name="" value="Создать папку"><br>';
               echo'</form>';
               //Форма для загрузки файла
               echo'<form enctype="multipart/form-data" action="explorer_pro.php?'.SID.'" method="post">';
               echo'<INPUT TYPE="hidden" NAME="act" VALUE="upload">';
               echo'<INPUT TYPE="hidden" NAME="dir" VALUE="'.$dir.'">';
               echo'<INPUT TYPE="file" NAME="userfile"><br>';
               echo'<input type="submit" value="Загрузить Файл"></form>';
               
               //форма для импорта файла
               echo'<form name="forma" action="explorer_pro.php?'.SID.'" method="post">';
               echo'<INPUT TYPE="hidden" NAME="act" VALUE="import">';
               echo'<INPUT TYPE="hidden" NAME="dir" VALUE="'.$dir.'">';
               echo'<input type="text" name="txtsob" value="http://" size="10" maxlength="2000"><br>';
               echo'<input type="submit" name="" value="Импортировать файл по url"><br>';
               echo'</form>';
               
               //форма для переименования папки
               echo'<form name="forma" action="explorer_pro.php?'.SID.'" method="post">';
               echo'<INPUT TYPE="hidden" NAME="act" VALUE="rename">';
               echo'<INPUT TYPE="hidden" NAME="dir" VALUE="'.$dir.'">';
               echo'<input type="text" name="txtsob" value="'.$basename.'" size="10" maxlength="30"><br>';
               echo'<input type="submit" name="" value="Переименовать папку"><br>';
               echo'</form>';
               echo'<a href="explorer_pro.php?act=ziped&amp;dir='.$dir.'">Создать ZIP архив этой папки</a><br>';
            }
            
            
            if(is_file($dir))//если фаил, читаем его
            {
         	   $basename=basename($dir); 
         	   echo'<div class="sob"><B>'.$basename.'</B></div>';
         	   $filesize=filesize($dir);
         	   $filesize = $filesize / "1000";
         	   echo'Размер <B>'.$filesize.'</B> kb<br>';
         	   
         	   if (get_magic_quotes_gpc())
         	   {
         	      echo'ОШИБКА!!! Сейчас была проведена проверка настройки сервера, настройки не удовлетворительны, т.к. сервер запретил выключить "Магические кавычки". При включённой опции "магические кавычки", редактирование файлов не возможно, они будут испорчены. ';
         	      echo'Проверьте наличие файла .htaccess , именно того, что выпускается вместе с движком. Если файл .htaccess на месте, то это значит, что хостинг не разрешает настройку сервера или просто запретил изменять параметры "magic_quotes". Вы можете обратится в поддержку хостинга, возможно они помогут вам с этой проблемой!<br>';
         	      echo'<font color="#FF0000">Изменяя этот файл вы можете его испортить!!!</font>';
         	   }
         	   
         	   echo'<form name="forma" action="explorer_pro.php?'.SID.'" method="post">';
                  echo'<INPUT TYPE="hidden" NAME="act" VALUE="save">';
                  echo'<INPUT TYPE="hidden" NAME="dir" VALUE="'.$dir.'">';
                  echo'<TEXTAREA NAME="txtsob" ROWS=30 COLS=90>';
                  $file_read = fopen($dir, 'r');
                  while($str = fgets($file_read))
                  {
             	     $str = htmlspecialchars($str);
                	 echo $str;
                  }
                  fclose($file_read);
                  echo'</TEXTAREA><br>';
                  echo'Внимание, explorer сохранит фаил "<B>'.$basename.'</B>" в кодировке <B>Utf-8</B><br>';
                  echo'<input type="submit" name="" value="Сохранить"><br>';
                  echo'</form>';
               
               //форма для переименования файла
               echo'<form name="forma" action="explorer_pro.php?'.SID.'" method="post">';
               echo'<INPUT TYPE="hidden" NAME="act" VALUE="rename">';
               echo'<INPUT TYPE="hidden" NAME="dir" VALUE="'.$dir.'">';
               echo'<input type="text" name="txtsob" value="'.$basename.'" size="10" maxlength="30"><br>';
               echo'<input type="submit" name="" value="Переименовать"><br>';
               echo'</form>';
               
               $new_dir_url="..";
               $new_dir_url_arr = explode("/", $dir);
               $i = "0";
               $var = count($new_dir_url_arr)-1;
               while(++$i < $var)
               {$new_dir_url = $new_dir_url."/".$new_dir_url_arr[$i];}
               echo'<a href="explorer_pro.php?act=index&amp;dir='.$new_dir_url.'&amp;'.SID.'">Назад к списку файлов</a><br>';
               
               echo'<a href="explorer_pro.php?act=dell&amp;dir='.$dir.'&amp;'.SID.'">Удалить фаил</a><br>';
               
               
            }
            //
            echo'<hr size="2" width="100%">';
            
            echo'<a href="explorer_pro.php?act=index&amp;'.SID.'">В корневую папку</a><br>';
            
            }else
            {
               echo'Файла или дериктории не существует<br>';
               echo'<hr size="2" width="100%">';
               $referer=$_SERVER['HTTP_REFERER'];
               echo'<a href="'.$referer.'">Назад</a><br>';
               echo'<a href="explorer_pro.php?act=index&amp;'.SID.'">В корневую папку</a><br>';
            }
         echo'<hr size="2" width="100%">';
         echo'<a href="index.php?'.SID.'">В меню</a><br>';
      }
///////////////////////////////////////////////////////////удаление папки или файла/////////////////////////////////////////
      if($act=="dell"){
      	  echo'Подтвердите удаление<br>';
          echo'<a href="explorer_pro.php?act=dell2&amp;dir='.$dir.'&amp;'.SID.'">ДА!</a><br>';
          echo'<hr size="2" width="100%">';
          $referer=$_SERVER['HTTP_REFERER'];
          echo'<a href="'.$referer.'">Назад</a><br>';
          echo'<a href="explorer_pro.php?act=index&amp;'.SID.'">В корневую папку</a><br>';
      }
//--------------------------------------------------------------------------------------------------------------------------
      if($act=="dell2"){
      	  $basename=basename($dir); 
      	  if($basename !="explorer_pro.php")
      	  {
      	      //удаление
      	      if(is_dir($dir))
      	      {
      	         function delldir($fldr)
                 {
                    $dh = opendir($fldr);
                    while(($f= readdir($dh)) !== false)
                    {
                       if($f != '.' && $f != '..')
                       {
                          $path = $fldr.'/'.$f;
                          if(is_dir($path))
                          {
                             delldir($path);
                             @rmdir($path);
                          }elseif(is_file($path))
                          {
                             @unlink($path);
                          }
                       }
                    }
                    closedir($dh);
                    @rmdir($fldr);
                    //return $retur;
                 }
                 delldir($dir); echo'Готово<br>';
      	      }
      	      
      	      if(is_file($dir))
      	      {
      	         if(@unlink($dir)){ echo'Файл удалён!<br>'; }else{ echo'Ошибка, файл не удалён!<br>'; }
      	      }
      	      
      	      
      	      $new_dir_url="..";
              $new_dir_url_arr = explode("/", $dir);
              $i = "0";
              $var = count($new_dir_url_arr)-1;
              while(++$i < $var)
              {$new_dir_url = $new_dir_url."/".$new_dir_url_arr[$i];}
              echo'<a href="explorer_pro.php?act=index&amp;dir='.$new_dir_url.'&amp;'.SID.'">Списку файлов</a><br>';
      	      echo'<a href="explorer_pro.php?act=index&amp;'.SID.'">В корневую папку</a><br>';
      	      echo'<hr size="2" width="100%">';
      	      echo'<a href="index.php?'.SID.'">В меню</a><br>';
      	  }else{
      	      echo'Фаил explorer_pro.php удалять нельзя<br>';
      	      echo'<a href="explorer_pro.php?act=index&amp;dir='.$dir.'&amp;'.SID.'">Далее</a><br>';
      	      echo'<a href="explorer_pro.php?act=index&amp;'.SID.'">В корневую папку</a><br>';
      	      echo'<hr size="2" width="100%">';
      	      echo'<a href="index.php?'.SID.'">В меню</a><br>';
      	  }
      }
////////////////////////////////////////////////создание или сохранение файла///////////////////////////////////////////////////
      if($act=="save")
      {
              //$txtsob=stripslashes($txtsob);
              
              if(isset($param)){ $dir="$dir/$param";  $txtsob=""; }
              
              if($filesave = fopen($dir, "w+")){
                  fputs($filesave,$txtsob);
                  fclose($filesave);
                  @chmod($dir, 0666);
                  echo'Сохранено<br>';
                  echo'<a href="explorer_pro.php?act=index&amp;dir='.$dir.'&amp;'.SID.'">К файлу</a><br>';
                  
                  $new_dir_url="..";
                  $new_dir_url_arr = explode("/", $dir);
                  $i = "0";
                  $var = count($new_dir_url_arr)-1;
                  while(++$i < $var)
                  {$new_dir_url = $new_dir_url."/".$new_dir_url_arr[$i];}
                  echo'<a href="explorer_pro.php?act=index&amp;dir='.$new_dir_url.'&amp;'.SID.'">Списку файлов</a><br>';
              }else{
                  echo'Ошибка сохранения<br>';
              }
              echo'<a href="explorer_pro.php?act=index&amp;'.SID.'">В корневую папку</a><br>';
      	      echo'<hr size="2" width="100%">';
      	      echo'<a href="index.php?'.SID.'">В меню</a><br>';
      }
////////////////////////////////////////////////создание папки///////////////////////////////////////////////////
      if($act=="mkdir")
      {
              
              $mkdir="$dir/$param";
              if(mkdir($mkdir))
              {
                  @chmod($mkdir, 0777);
                  echo $mkdir."<br>";
                  echo'Создано<br>';
                  echo'<a href="explorer_pro.php?act=index&amp;dir='.$dir.'/'.$param.'&amp;'.SID.'">В созданную папку</a><br>';
                  echo'<a href="explorer_pro.php?act=index&amp;dir='.$dir.'&amp;'.SID.'">К списку</a><br>';
              }else{
                  
                  echo"$dir/$param<br>";
                  echo'Ошибка создания<br>';
              }
              echo'<a href="explorer_pro.php?act=index&amp;'.SID.'">В корневую папку</a><br>';
      	      echo'<hr size="2" width="100%">';
      	      echo'<a href="index.php?'.SID.'">В меню</a><br>';
      }
////////////////////////////////////////////////переименование///////////////////////////////////////////////////
      if($act=="rename")
      {
              
              $new_dir_url="..";
              
              $new_dir_url_arr = explode("/", $dir);
              $i = "0";
              $var = count($new_dir_url_arr)-1;
              while(++$i < $var)
              {
                 $new_dir_url = $new_dir_url."/".$new_dir_url_arr[$i];
              }
              $new_dir_url = $new_dir_url."/$txtsob";
              
              echo "$dir<br>в<br>$new_dir_url";
              
              rename($dir, $new_dir_url);
              echo'<a href="explorer_pro.php?act=index&amp;dir='.$new_dir_url.'&amp;'.SID.'">Далее</a><br>';
              echo'<a href="explorer_pro.php?act=index&amp;'.SID.'">В корневую папку</a><br>';
      	      echo'<hr size="2" width="100%">';
      	      echo'<a href="index.php?'.SID.'">В меню</a><br>';
      }
////////////////////////////////////////////////импорт///////////////////////////////////////////////////
      if($act=="import")
      {
              
              
              
              
              $basename=basename($txtsob); 
              $loadfile = "$dir/$basename";
              echo'<b>"'.$loadfile.'"</b><br>';
              if(copy($txtsob, $loadfile))
              {
                 echo'Файл загружен на сервер<br>';
              }else
              {
                 echo'Ошибка! Файл не загружен<br>';
              }
              
              
              
              echo'<a href="explorer_pro.php?act=index&amp;dir='.$dir.'&amp;'.SID.'">Далее</a><br>';
              echo'<a href="explorer_pro.php?act=index&amp;'.SID.'">В корневую папку</a><br>';
      	      echo'<hr size="2" width="100%">';
      	      echo'<a href="index.php?'.SID.'">В меню</a><br>';
      }
///////////////////////////////////////////////////загрузка файла////////////////////////////////////////////////////////////
      if($act=="upload")
      {
         if(isset($_FILES['userfile']))
         {
            
            $file_n = $_FILES['userfile']['name'];
            move_uploaded_file($_FILES['userfile']['tmp_name'], "$dir/$file_n");
            @chmod("$dir/$file_n", 0666);
            
            echo'Фаил успешно загружен<br>';
            
         }else
         {
            echo'Ошибка при загрузке!<br>';
         }
         
         
         echo'<a href="explorer_pro.php?act=index&amp;dir='.$dir.'&amp;'.SID.'">К списку файлов</a><br>';
         echo'<a href="explorer_pro.php?act=index&amp;'.SID.'">В корневую папку</a><br>';
      }
////////////////////////////////////////////////архивация///////////////////////////////////////////////////
      if($act=="ziped")
      {
              $createZip = new createZip;  
              
              //$createZip -> addDirectory("dir/");
              //$fileContents = file_get_contents("img.jpg");  
              //$createZip -> addFile($fileContents, "dir/img.jpg");
              
              
              
              
              
      	      if(is_dir($dir))
      	      {
      	         function spisfile($fldr)//Составление списков файлов и папок
                 {
                    $dh = opendir($fldr);
                    while(($f= readdir($dh)) !== false)
                    {
                       if($f != '.' && $f != '..' && $f != 'archive.zip')
                       {
                          $path = $fldr.'/'.$f;
                          if(is_dir($path))
                          {
                             $str = $str."$path/ ";
                             $str = $str.spisfile($path, $str);
                          }elseif(is_file($path))
                          {
                             $str = $str."$path ";
                          }
                       }
                    }
                    closedir($dh);
                    return $str;
                 }
                 
                 
                 
                 //Создаём файлы
                 $arr_spisfile = explode(" ", spisfile($dir));
                 $nom = count($arr_spisfile);
                 
                 $i = "0";
                 $var = $nom - 1;
                 while($i < $var)
                 {
                    
                    if(is_dir($arr_spisfile[$i]))//
                    {
                       $namedir = str_replace("../","",$arr_spisdir[$i]);
                       $namedir = str_replace("..","",$namedir);
                       echo $namefile."<br>";
                       $createZip -> addDirectory($namedir);
                    }
                    if(is_file($arr_spisfile[$i]))//
                    {
                       $fileContents = file_get_contents($arr_spisfile[$i]);
                       $namefile = str_replace("../","",$arr_spisfile[$i]);
                       $namefile = str_replace("..","",$namefile);
                       echo $namefile."<br>";
                       $createZip -> addFile($fileContents, $namefile);
                    }
                    ++$i;
                 }
                 
                 $fileName = "../archive.zip";
                 $fd = fopen ($fileName, "wb");
                 $out = fwrite ($fd, $createZip -> getZippedfile());
                 fclose ($fd);
                 echo'Готово!<br>';
                 echo'Если в процессе архивирования всё прошло нормально, то архив сохранился в корневой папке сайта. <a href="../archive.zip">Скачать архив!</a><br>';
      	      }else{ echo'Это не папка<br>'; }
              
              echo'<a href="explorer_pro.php?act=index&amp;dir='.$dir.'&amp;'.SID.'">К Папкам</a><br>';
              echo'<a href="explorer_pro.php?act=index&amp;'.SID.'">В корневую папку</a><br>';
      	      echo'<hr size="2" width="100%">';
      	      echo'<a href="index.php?'.SID.'">В меню</a><br>';
      }
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
      }
	  
	  	  echo'<a href="../index.php?'.SID.'">Главная</a><br>';

	 echo'</div>
	 <div class="foot">Terrin</div>';
 
?>