View file dounload/index.php

File size: 15.39Kb
<?php
//автор - figura
//сайт - http://f-pt.ru
include("../sistem/cfg.dat");
include("../sistem/global.dat");
include("../temes/$teme/verh.dat");
if(isset($_GET['dir'])){$dir = $_GET['dir'];}
if(isset($_GET['file'])){$file = $_GET['file'];}


if($status=="gost" || $status=="uzer" || $status=="moder" || $status=="admin")
{
   echo'<div class="razd"><B>ЗАГРУЗ ЦЕНТР</B></div>';
   if(empty($act)){$act="index";}
   if($act == "index")
   {
      
      if(empty($dir)){ $dir='.'; }else
      {
         $dir = str_replace("./","",$dir); 
         $dir = str_replace("..","",$dir);
         $dir = str_replace("\0","",$dir); 
         $dir = htmlspecialchars($dir);
      }
      if(file_exists($dir))//проверяем существование дериктории или файла
      {
         if(is_dir($dir))//если дериктория, то выводим её
         {
               if(file_exists("$dir/name.dat"))
               {
                  if($buff = @file("$dir/name.dat"))
                  {
                     $name_dir=$buff[0];
                     //получаем кол-во файлов в папке
                     echo'<div class="sob">'.$name_dir.'</div>';
                  }
               }
               
               $dire = @opendir ($dir);
               while ( $arr_dir = readdir ($dire))
               {
                  if(( $arr_dir != ".")
                  	  &&($arr_dir != "..")
                  	  && ($arr_dir != "name.dat")
                  	  && ($arr_dir != "Thumbs.db")
                  	  && ($arr_dir != "index.php")
                  	  && ($arr_dir != "count.dat")
                  	  && ($arr_dir != "cach.dat")
                  	  && ($arr_dir != "opisanie")
                  	  && ($arr_dir != "grafic")
                  	  && ($arr_dir != "count")
                  	  && ($arr_dir != "skr"))
                  {
                     $arr_file[] = $arr_dir;
                  }
               }
               closedir ($dire);
               
               natsort($arr_file);//сортируем по порядку
               $arr_file = array_reverse($arr_file);//перевернули масив
               $nom=count($arr_file);
               
               //$nav_dounload = "10";
               //начало новой навигации
               if(isset($_GET['nom_page'])){$nom_page = $_GET['nom_page'];}else{ $nom_page = "1"; }
               if(eregi("[^0-9]" , $nom_page )){ $nom_page = "1"; }
               $asd = $nom_page - 1;
               $i= $asd * $nav_dounload;
               $var = $i+$nav_dounload;
               if($nom < $i){ $var = 0; echo'Страница не найдена!<br>'; }
               
               while($i < $var)
               {
                  if($i < $nom)
                  {
                     if(is_dir("$dir/$arr_file[$i]"))//если дериктория,
                     {
                        if($buff = @file("$dir/$arr_file[$i]/name.dat"))
                        {
                           $name_dir=$buff[0];
                           //получаем кол-во файлов в папке
                           $count_dir = scandir("$dir/$arr_file[$i]");
                           $count_dir = count($count_dir) - 3;
                        }else
                        {
                           $name_dir=$arr_file[$i];
                           //получаем кол-во файлов в папке
                           $count_dir = scandir("$dir/$arr_file[$i]");
                           $count_dir = count($count_dir) - 2;
                        }
                        echo'<div class="sob">'.$img_dir_dounload.'<a href="index.php?act=index&amp;dir='.$dir.'/'.$arr_file[$i].'&amp;'.SID.'">'.$name_dir.'</a> ('.$count_dir.')</div>';
                     }
                     
                     if(is_file("$dir/$arr_file[$i]"))//если фаил,
                     {
                        echo'<div class="ramk">';
                        echo'<div class="sob">'.$img_file_dounload.'<a href="index.php?act=infofile&amp;dir='.$dir.'&amp;file='.$arr_file[$i].'&amp;nom_page='.$nom_page.'&amp;'.SID.'"><B>'.$arr_file[$i].'</B></a></div>';
                        $ves = filesize("$dir/$arr_file[$i]");
                        $ves = $ves / 1000;
                        $ves = round($ves);
                        echo'Размер ('.$ves.' kb)<br>';
                        
                        $dirr =str_replace("/","",$dir);
                        $dirr =str_replace(".","",$dirr);
                        if(file_exists("count/$dirr-$arr_file[$i]-count.dat"))
                        {
                           $count_file=file("count/$dirr-$arr_file[$i]-count.dat");
                           echo'Скачано ('.$count_file[0].') Раз(а).<br>';
                        }else
                        {
                           echo'Скачано (0) Раз(а).<br>';
                        }
                        echo'</div>';
                     }
                  }
                  ++$i;
               }
               
               //конец новой навигации
               $asd2 = ceil($nom / $nav_dounload); 
               $asd3 = "0";
               
               //навигация вперёд, назад
               if("1" < $nom_page)
               {
                  $nom_previous_page = $nom_page - 1;
                  echo '<a href="index.php?act=index&amp;dir='.$dir.'&amp;nom_page='.$nom_previous_page.'&amp;'.SID.'">Назад</a>';
               }else{ echo 'Назад'; }
               echo'|';
               if($asd2 > $nom_page)
               {
                  $nom_next_page = $nom_page + 1;
                  echo '<a href="index.php?act=index&amp;dir='.$dir.'&amp;nom_page='.$nom_next_page.'&amp;'.SID.'">Далее</a>';
               }else{ echo 'Далее'; }
               echo'<br>';
               
               //навигация по номерам страниц
               while(++$asd3 <= $asd2)
               {
                  
                  if($nom_page == $asd3)
                  {
                     echo'<b>('.$asd3.')</b> ';
                  }else
                  {
                     echo'<a href="index.php?act=index&amp;dir='.$dir.'&amp;nom_page='.$asd3.'&amp;'.SID.'">'.$asd3.'</a> ';
                  }
                  
               }
               
               
               echo'<hr size="2" width="100%">';
               //echo'Всего '.$nom.'.<br>';
               
               $arr_link_vv=explode("/",$dir);
               $nom=count($arr_link_vv);
               $i = "-1";
               $var = $nom - 2;
               if($nom >= "1"){ echo'<a href="index.php?act=index&amp;dir=.'; while(++$i <= $var){ echo'/'.$arr_link_vv[$i]; } echo'&amp;'.SID.'">На уровень вверх</a><br>'; }
               echo'<a href="index.php?act=index&amp;'.SID.'">В начало</a><br>';
               
               
         }
         
         
      }else{ echo'Файла или дериктории не существует<br>'; }
      ////////////////////////////////////////////конец////////////////////
      echo'<a href="../index.php?'.SID.'">Главная</a><br>';
   }
//...........................................................................................................................//
   if($act=='infofile')
   {
      
      $dir =str_replace("./","",$dir);
      $dir =str_replace(".","",$dir);
      $dir = str_replace("\0","",$dir);
      
      $file =str_replace("/","",$file);
      $file =str_replace("..","",$file);
      $file = str_replace("\0","",$file);
      
      $dir=htmlspecialchars($dir);
      $file=htmlspecialchars($file);
      
      
      if(isset($_GET['nom_page'])){$nom_page = $_GET['nom_page'];}else{ $nom_page = "1"; }
      if(eregi("[^0-9]" , $nom_page )){ $nom_page = "1"; }
      
         if(file_exists("$dir/$file"))
         {
            echo'<div class="ramk">';
            echo'<B>'.$file.'</B><br>';
            
            if(file_exists("skr/$file.jpg")){echo'<img src="skr/'.$file.'.jpg" alt="Скриншот"><br>';}
            elseif(file_exists("skr/$file.JPG")){echo'<img src="skr/'.$file.'.JPG" alt="Скриншот"><br>';}
            elseif(file_exists("skr/$file.jpeg")){echo'<img src="skr/'.$file.'.jpeg" alt="Скриншот"><br>';}
            elseif(file_exists("skr/$file.JPEG")){echo'<img src="skr/'.$file.'.JPEG" alt="Скриншот"><br>';}
            elseif(file_exists("skr/$file.gif")){echo'<img src="skr/'.$file.'.gif" alt="Скриншот"><br>';}
            elseif(file_exists("skr/$file.GIF")){echo'<img src="skr/'.$file.'.GIF" alt="Скриншот"><br>';}
            elseif(file_exists("skr/$file.png")){echo'<img src="skr/'.$file.'.png" alt="Скриншот"><br>';}
            elseif(file_exists("skr/$file.PNG")){echo'<img src="skr/'.$file.'.PNG" alt="Скриншот"><br>';}
            
            
            $format_file = explode(".", $file);
            $poooo = count($format_file) -1;
            $format_file = $format_file[$poooo];
            if($format_file == "jpg"||$format_file == "JPG"||$format_file == "jpeg"||$format_file == "JPEG"||$format_file == "gif"||$format_file == "GIF"||$format_file == "png"||$format_file == "PNG")
            {
               echo'<img src="'.$dir.'/'.$file.'" alt="Скриншот"><br>';
            }
            
            
            if(file_exists("opisanie/$file.txt"))
            {
               $fi = fopen("opisanie/$file.txt","r");
               while ( $buff = fgets ($fi))
               {
                  echo ''.htmlspecialchars($buff).'<br>';//выводим строчки описания с фильтрацыей
               }
               fclose ($fi);
               
            }else
            {
               echo'Описания нет';
            }
            echo'</div>';
            echo'<hr size="2" width="100%">';
            $ves = filesize("$dir/$file");
            $ves = $ves / 1000;
            $ves = round($ves);
            if($load_file=="on")
            {
               if($status=="uzer" || $status=="moder" || $status=="admin")
               {
                  echo''.$img_down_dounload.'<a href="index.php?act=kach&amp;dir='.$dir.'&amp;file='.$file.'&amp;'.SID.'">Скачать</a> ('.$ves.' kb)<br>';
                  echo'<form name="forma" action="index.php" method="post"><input type="text" name="url" value="http://'.$_SERVER['HTTP_HOST'].'/dounload/'.$dir.'/'.$file.'" size="10"><br></form>';
               }
               if($status=="gost")
               {
                  echo'Скачивать файлы могут только зарегистрированные пользователи!<br>Регистрация очень проста, обычно занимает не больше минуты<br>'; 
               }
            }
            if($load_file=="oof")
            {
               if($status=="gost" || $status=="uzer" || $status=="moder" || $status=="admin")
               {
                  echo''.$img_down_dounload.'<a href="index.php?act=kach&amp;dir='.$dir.'&amp;file='.$file.'&amp;'.SID.'">Скачать</a> ('.$ves.' kb)<br>';
                  echo'<form name="forma" action="index.php" method="post"><input type="text" name="url" value="http://'.$_SERVER['HTTP_HOST'].'/dounload/'.$dir.'/'.$file.'" size="10"><br></form>';
               }
            }
            
            $dirr =str_replace("/","",$dir);
            $dirr =str_replace(".","",$dirr);
            if(file_exists("count/$dirr-$file-count.dat"))
            {
               $count_file=file("count/$dirr-$file-count.dat");
               echo'Скачано ('.$count_file[0].') Раз(а).<br>';
            }else
            {
               echo'Скачано (0) Раз(а).<br>';
            }
            
            
            echo''.$img_dir_dounload.'<a href="index.php?act=index&amp;dir='.$dir.'&amp;nom_page='.$nom_page.'&amp;'.SID.'">Назад</a><br>';
            
         }else{ echo'При проверке существования файла произошла ошибка'; }
      
   }
//...........................................................................................................................//
   if($act=='kach')
   {
      
      $dir =str_replace("./","",$dir);
      $dir =str_replace(".","",$dir);
      $dir = str_replace("\0","",$dir);
      
      $file =str_replace("/","",$file);
      $file =str_replace("..","",$file);
      $file = str_replace("\0","",$file);
      
      $dir=htmlspecialchars($dir);
      $file=htmlspecialchars($file);
      
      if(file_exists("$dir/$file"))
      {
         if($status=="uzer" || $status=="moder" || $status=="admin")
         {
            $dat=htmlspecialchars(date("d.m.y H:i"));
            $str = file("cach.dat");
            $nom=count($str)-1;
            
            //функция удаления строки
            if($nom > "5"){ $str[0] = str_replace($str[0],"",$str[0]); }
            
            $i='0';
            $var=$nom;
            
            $file_cach = fopen("cach.dat", "w+");
            flock ($file_cach,LOCK_EX);
            while($i <= $var)
            {
               fputs($file_cach,$str[$i]);
               ++$i;
            }
            fputs($file_cach,"$login<||>$dat<||>$dir<||>$file<||>\r\n");
            flock ($file_cach,LOCK_UN);
            fclose($file_cach);
            @chmod("cach.dat", 0666);
         }
         
         $dirr =str_replace("/","",$dir);
         $dirr =str_replace(".","",$dirr);
         if(file_exists("count/$dirr-$file-count.dat"))
         {
            $count_file=file("count/$dirr-$file-count.dat");
            
            $str = $count_file[0] + 1;//плюс 1 к количеству загрузок
            $str=htmlspecialchars($str);
            
            $file_count = fopen("count/$dirr-$file-count.dat", "w+");
            flock ($file_count,LOCK_EX);
            fputs($file_count,$str);
            flock ($file_count,LOCK_UN);
            fclose($file_count);
            @chmod("count/$dirr-$file-count.dat", 0666);
            
            echo'<a href="'.$dir.'/'.$file.'">Начать загрузку</a><br>';
            
         }else
         {
            $str='1';
            
            $file_count = fopen("count/$dirr-$file-count.dat", "w+");
            flock ($file_count,LOCK_EX);
            fputs($file_count,$str);
            flock ($file_count,LOCK_UN);
            fclose($file_count);
            @chmod("count/$dirr-$file-count.dat", 0666);
            
            echo'<a href="'.$dir.'/'.$file.'">Начать загрузку</a><br>';
            
         }
         header("Location: $dir/$file");
         
      }else
      {
         echo'Фаил не найден!';
      }
   }
   
   
   
   echo'<div class="razd">Кто, что качает</div>';
   include("../sistem/cach.dat"); 
}
if($status=="ban")
{
   echo'Вам сюда нельзя<br>';
}

include("../sistem/global_end.dat");
include("../temes/$teme/niz.dat");
?>