View file modules/book/index.php

File size: 16.81Kb
<?php
########################################
##	           WAP-ENGINE             ##
########################################
##                                    ##
##  Автор : CHUMA (Токарев Владимир)  ##
##  e-mail : [email protected]     ##
##  WAP : http://wap-engine.ru        ##
##                                    ##
########################################
##         ВЫ НЕ ИМЕЕТЕ ПРАВО         ##
##        ИЗМЕНЯТЬ КОД СКРИПТА        ##
##  ДЛЯ ДАЛЬНЕЙШЕГО РАСПРОСТРАНЕНИЯ!  ##
########################################
include ('../../config.php');
include ('../../templates/run.php');
include ('../../templates/func.php');
$title_page = 'Библиотека';
$m_polozhenie = 'В библиотеке';
####################
if ($portal=='off')
 {
include '../../themes/'.$themes.'.php';
  echo'<p align="center">'.$offmes.'</p>';
 }

if ($portal=='on')
 {
$file_get = stripslashes(trim($_GET['file']));
$kat = stripslashes(trim($_GET['kat']));
if(empty($kat))
 {
  $kat = '.';
 }

if((!isset($passw) || $_SESSION['sespass'] != $passw) && $dostup_book == 0)
 {
  include '../../themes/'.$themes.'.php';
  echo'<p class="err">Вы не авторизованы!!! Войдите в личный кабинет.<br /></p>';
  echo'<p><a href="../kabinet/index.php?'.session_name().'='.session_id().'">В кабинет</a><br /></p>';
  include '../../templates/foot.php';
  exit;
 }

if(!empty($_GET['kat']) && (!preg_match("#^[^><|?*\:\"]+$#", $kat) || preg_match("#(\.\.)+|^(\/)+|^(\.)+$|^(\.\/)+$|^(\.\/\.)+$|(\/\/)+#", $kat)))
 {
  include '../../themes/'.$themes.'.php';
  echo"<p class=\"err\">Ошибка!!! Неправильное название категории.</p>";
  echo"<p><a href=\"index.php?".session_name()."=".session_id()."\">В библиотеку</a><br /></p>";
  include '../../templates/foot.php';
  exit;
 }

if(!file_exists("../../modules/book/$kat"))
 {
  include '../../themes/'.$themes.'.php';
  echo"<p class=\"err\">Ошибка!!! Данная категория не существует.</p>";
  echo"<p><a href=\"index.php?".session_name()."=".session_id()."\">В библиотеку</a><br /></p>";
  include '../../templates/foot.php';
  exit;
 }

if(!empty($_GET['file']) && (!preg_match("#^[^><|?*/\:\"]+$#", $file_get) || preg_match("#(\.\.)+|[^(\.txt)]$#", $file_get)))
 {
  include '../../themes/'.$themes.'.php';
  echo"<p class=\"err\">Ошибка!!! Неправильное название книги.</p>";
  echo"<p><a href=\"index.php?".session_name()."=".session_id()."\">В библиотеку</a><br /></p>";
  include '../../templates/foot.php';
  exit;
 }

if(!file_exists("../../modules/book/$kat/$file_get"))
 {
  include '../../themes/'.$themes.'.php';
  echo"<p class=\"err\">Ошибка!!! Данная книга не существует.</p>";
  echo"<p><a href=\"index.php?".session_name()."=".session_id()."\">В библиотеку</a><br /></p>";
  include '../../templates/foot.php';
  exit;
 }
####################[-a-zA-Z0-9_.',;!@#$&\(\)+=]
$file_get = filter($file_get);
$kat = filter($kat);

$kat_name = @file($kat.'/op.txt');
$kat_name = trim($kat_name[0]);

if($_GET['view'] == 1)
 {
  $title_kat_name = ' &#187; '.$kat_name.' &#187; Библиотека';
 }
  elseif($kat != '.')
 {
  $title_kat_name = $kat_name.' &#187; Библиотека';
 }
  else
 {
  $title_kat_name = 'Библиотека';
 }
         
$file_f = @file($kat.'/'.$file_get);
$file_name = trim($file_f[0]);

$title_page = ''.$file_name.$title_kat_name;
include '../../themes/'.$themes.'.php';
####################[^><|?*/\:\"]
function dir_list($kat, $file_get)
 {
  global $color_red;
  global $dob_url;
  include '../../config.php';
  $dir = $kat;

    $dir_kat = opendir($dir);
    $dir_file = opendir($dir);
    
     if($dir != '.')
      {
       $dir_exp = explode('/', $dir);
       $dir_exp_count = count($dir_exp);
       
       echo'<p class="modul_name"><a href="index.php?'.session_name().'='.session_id().'">Библиотека</a>';
       
       for($i=1; $i < $dir_exp_count; $i++)
        {
         $dir_plus = $dir_plus.'/'.$dir_exp[$i];

         $kat_name = @file('.'.$dir_plus.'/op.txt');
         $kat_name = trim($kat_name[0]);

         if(".$dir_plus" == $dir && $_GET['view'] == 1)
          {
           echo" &#187; <a href=\"index.php?kat=.$dir_plus&amp;".session_name()."=".session_id()."\">$kat_name</a>";
          }
         elseif('.'.$dir_plus == $dir)
          {
           echo' &#187; '.$kat_name;
          }
           else
          {
           echo" &#187; <a href=\"index.php?kat=.$dir_plus&amp;".session_name()."=".session_id()."\">$kat_name</a>";
          }
        }
       echo'</p>';
      }
       else
      {
       echo'<p class="modul_name">Библиотека</p>';
      }
     
     if($_GET['view'] == 1)
      {
       ###
       $book_file = @file($dir.'/'.$file_get);
       $book_name = trim($book_file[0]);

       echo'<p align="center"class="a">'.$book_name.'</p>';
  
       $text = htmlspecialchars(implode('||::||', $book_file));    
       $text = explode('||::||', $text);
       $text = implode('<br/>', $text);
       $string_array = explode(' ', $text);

       $count = count($string_array);
       $slov = 200;

       if(!empty($_POST['slov']) && preg_match('#^[0-9]+$#', $_POST['slov']))
        {
         $slov = filter($_POST['slov']);
        }
       elseif(!empty($_POST['slov']))
        {
         echo'<p class="err">Ошибка!!! Неправильное значение колличества слов.</p>';
         echo"<p><a href=\"index.php?".session_name()."=".session_id()."\">В библиотеку</a><br /></p>";
         include '../../templates/foot.php';
         exit;
        }
       
       if(!empty($_GET['slov']) && preg_match('#^[0-9]+$#', $_GET['slov']))
        {
         $slov = filter($_GET['slov']);
        }
       elseif(!empty($_GET['slov']))
        {
         echo"<p class=\"err\">Ошибка!!! Неправильное значение колличества слов.</p>";
         echo"<p><a href=\"index.php?".session_name()."=".session_id()."\">В библиотеку</a><br /></p>";
         include '../../templates/foot.php';
         exit;
        }
   
       if($slov > 9999)
        {
         $slov = '9999';
        }
   
       $stranic = ceil($count/$slov);

       if(empty($_GET['page']))
        {
         $page_get = 1;
        }
       else
        {
         $page_get = filter($_GET['page']);
        }
   
       if($page_get < 0)
        {
         $page_get = 1;
        }
       if($page_get > $stranic)
        {
         $page_get = $stranic;
        }

       $do = $slov * ($page_get - 1);
       $end = $slov * $page_get;

       $page_nazad = $page_get - 1;
       $page_dalee = $page_get + 1;

       echo'<p class="b">';
       if(!preg_match('#^[0-9]+$#i', $page_get))
        {
         echo'Данной страницы несуществует!';
        }
         else
        {
         for ($i = $do; $i < $end; $i++)
          {
           if (!empty($string_array[$i]))
            {
             $text = preg_replace('#\[img=(.*?)\]#su', '<img src="\1" alt="'.$book_name.'" />', $string_array[$i]);
             $text = preg_replace('#((?:http|https|ftp)://[0-9a-zA-Z\._-]+\.[0-9a-zA-Z]{2,6}[0-9a-zA-Z/\?\.\~&amp;_=/%-:\#]*)#su', '<a href="\1">\1</a>', $text);
             $text = str_replace('<br/>', '<br />', $text);
             echo"$text ";
            }
          }
        }
       echo"</p>";
       
       if($stranic > 1)
        {
       echo"<p align=\"center\" class=\"d\">";
       echo'Страницы:';
       echo'<br />';
       if($page_get > 4)
        {
         echo"<a href=\"index.php?page=1&amp;file=$file_get&amp;kat=$kat&amp;view=1&amp;slov=$slov&amp;".session_name()."=".session_id()."\">1</a>...";
        }
 
       $start_1 = $page_get - 3;
       $end_1 = $page_get - 1;
       if($start_1 < 1)
        {
         $start_1 = 1;
        }
  
       for($i = $start_1; $i <= $end_1; $i++)
        {
         echo"<a href=\"index.php?page=$i&amp;file=$file_get&amp;kat=$kat&amp;view=1&amp;slov=$slov&amp;".session_name()."=".session_id()."\">$i</a> ";
        }

       echo"$page_get";

       $start_2 = $page_get + 1;
       $end_2 = $page_get + 3;
       if($start_2 < 1)
        {
         $start_2 = 1;
        }
       if($end_2 > $stranic)
        {
         $end_2 = $stranic;
        }
  
       for($i = $start_2; $i <= $end_2; $i++)
        {
         echo" <a href=\"index.php?page=$i&amp;file=$file_get&amp;kat=$kat&amp;view=1&amp;slov=$slov&amp;".session_name()."=".session_id()."\">$i</a>";
        }

       if($stranic > $page_get && $page_get < ($stranic-3))
        {
         echo"...<a href=\"index.php?page=$stranic&amp;file=$file_get&amp;kat=$kat&amp;view=1&amp;slov=$slov&amp;".session_name()."=".session_id()."\">$stranic</a>";
        }
       echo"<br />";

       if($page_get > 1)
        {
         echo"<a href=\"index.php?page=$page_nazad&amp;file=$file_get&amp;kat=$kat&amp;view=1&amp;slov=$slov&amp;".session_name()."=".session_id()."\">Назад</a>";
        }
       echo" | ";
       if($stranic > $page_get)
        {
         echo"<a href=\"index.php?page=$page_dalee&amp;file=$file_get&amp;kat=$kat&amp;view=1&amp;slov=$slov&amp;".session_name()."=".session_id()."\">Дальше</a>";
        } 
       echo'<br /></p>';
        }
      
       if($page_get == 1)
        {
         echo"<form action=\"index.php?file=$file_get&amp;kat=$kat&amp;view=1&amp;".session_name()."=".session_id()."\" method=\"post\">";
         echo"<p align=\"center\" class=\"a\">";
         echo"Слов на страницу:<br />
         <input type=\"text\" name=\"slov\" size=\"4\" maxlength=\"4\" value=\"\" />
         <input type=\"submit\" value=\"OK\" />";
         echo'</p>';
         echo'</form>';
        }
       echo"<p><img src=\"/images/st/dload.gif\"alt=\"\"/> <a href=\"$dir/$file_get\">Скачать в txt</a><br /></p>";
       ###
      }
       else
      {
       while ($file = readdir($dir_kat))
        {
         if(is_dir($dir.'/'.$file) && $file != '.' && $file != '..')
          {
           $files[] = $file;
          }
        }
       $file_co = count($files);
       @natsort($files);
       if(!empty($files))
        {
         foreach($files as $val) 
          {
           $files2[] = $val;
          }
         $files = $files2;
        }
       
       for ($i=0; $i < $file_co; $i++)
        {
         if(is_dir($dir.'/'.$files[$i]) && $files[$i] != '.' && $files[$i] != '..')
          {
           $kat_file_op = @file($dir.'/'.$files[$i].'/op.txt');
           $kat_name = trim($kat_file_op[0]);
           $kat_files = trim($kat_file_op[1]);
           $kat_files_new = trim($kat_file_op[2]);
           
           if(!empty($kat_name))
            {
             echo"<p class=\"a\">";
             echo"<img src=\"../../images/dir.gif\" alt=\"i\" /> <a href=\"index.php?kat=$dir/$files[$i]&amp;".session_name()."=".session_id()."\" class=\"aa\">$kat_name</a> ($kat_files";
             if($kat_files_new > 0)
              {
               echo"|<font color=\"$color_red\">$kat_files_new</font>";
              }
             echo')';
             echo'</p>';
             $a++;
            }
          }
        }
      
#if(!empty($a)){echo'<p><br /></p>';}

     while ($file1 = readdir($dir_file))
      {
       if(is_file($dir.'/'.$file1) && $file1 != 'Thumbs.db' && $file1 != '.htaccess' && $file1 != 'index.php' && $file1 != 'kol.php' && $file1 != 'admin.php' && $file1 != 'kom.php' && $file1 != 'op.txt')
        {
         if($_GET['sort'] == 'alfa')
          {
           $file_array[] = '||'.$file1;
          }
           elseif($_GET['sort'] == 'data' || empty($_GET['sort']))
          {
           $file_array[] = filemtime($dir.'/'.$file1).'||'.$file1; 
          }
        }
      }
     
     if(!empty($file_array))
      {
       echo"<p class=\"b\" align=\"center\">Сортировка книг<br />
       <a href=\"index.php?sort=alfa&amp;kat=$kat&amp;".session_name()."=".session_id()."\">По алфавиту</a><br />
       <a href=\"index.php?sort=data&amp;kat=$kat&amp;".session_name()."=".session_id()."\">По дате добавления книги</a></p>";
       echo"<p  align=\"center\"class=\"a\">Список книг</p>";
      }
     
     $sort = filter($_GET['sort']);
     
     if($sort == 'alfa')
      {
       @natsort($file_array);
       if(!empty($files))
        {
         foreach($file_array as $val) 
          {
           $file_array2[] = $val;
          }
         $file_array = $file_array2;
        }
      }
     if($sort == 'data' || empty($sort))
      {
       @rsort($file_array);
      }
     
     $count_files = count($file_array);
     $stranic = ceil($count_files/$kolbooks);

     if(empty($_GET['page']))
      {
       $page_get = 1;
      }
       else
      {
       $page_get = filter($_GET['page']);
      }
      
     if($page_get < 0)
      {
       $page_get = 1;
      }
     if($page_get > $stranic)
      {
       $page_get = $stranic;
      }
 
     $do = $kolbooks * ($page_get - 1);
     $end = $kolbooks * $page_get;

     $page_nazad = $page_get - 1;
     $page_dalee = $page_get + 1;
     
     for($i = $do; $i < $end; $i++)
      {
       if(!empty($file_array[$i]))
        {
         echo"<p class=\"b\">";
         $file_win_arr = explode("||", $file_array[$i]); 
         preg_match("#^([^><|?*/\:\"]+)\.[a-z0-9]{0,4}$#s", $file_win_arr[1], $repl);
         $file_win = "$repl[1]";
         
         $book_name = @file("$dir/$file_win_arr[1]");
         $book_name = trim($book_name[0]);

         echo"<img src=\"../../images/txt.gif\" alt=\"\" /> ";
         
         $datanew = $file_win_arr[0] + 432000;
         $datenow = time();
         
         echo"<a href=\"index.php?kat=$dir&amp;file=$file_win_arr[1]&amp;view=1&amp;".session_name()."=".session_id()."\">$book_name</a>";
         if($datanew > $datenow)
          {
           echo'<img src="/images/st/new.gif"alt=""/>';
          }
         echo"<br />";
         echo"</p>";
        }
      }

     if($stranic > 1)
      {
       echo"<p align=\"center\" class=\"d\">";
       echo"Страницы:";
       echo"<br />";
       if($page_get > 4)
        {
         echo"<a href=\"index.php?page=1&amp;kat=$kat&amp;sort=$sort&amp;".session_name()."=".session_id()."\">1</a>...";
        }
 
       $start_1 = $page_get - 3;
       $end_1 = $page_get - 1;
       if($start_1 < 1)
        {
         $start_1 = 1;
        }
  
       for($i = $start_1; $i <= $end_1; $i++)
        {
         echo"<a href=\"index.php?page=$i&amp;kat=$kat&amp;sort=$sort&amp;".session_name()."=".session_id()."\">$i</a> ";
        }

       echo"$page_get";

       $start_2 = $page_get + 1;
       $end_2 = $page_get + 3;
       if($start_2 < 1)
        {
         $start_2 = 1;
        }
       if($end_2 > $stranic)
        {
         $end_2 = $stranic;
        }
  
       for($i = $start_2; $i <= $end_2; $i++)
        {
         echo" <a href=\"index.php?page=$i&amp;kat=$kat&amp;sort=$sort&amp;".session_name()."=".session_id()."\">$i</a>";
        }

       if($stranic > $page_get && $page_get < ($stranic-3))
        {
         echo"...<a href=\"index.php?page=$stranic&amp;kat=$kat&amp;sort=$sort&amp;".session_name()."=".session_id()."\">$stranic</a>";
        }
       echo'<br />';

       if($page_get > 1)
        {
         echo"<a href=\"index.php?page=$page_nazad&amp;kat=$kat&amp;sort=$sort&amp;".session_name()."=".session_id()."\">Назад</a>";
        }
       echo" | ";
       if($stranic > $page_get)
        {
         echo"<a href=\"index.php?page=$page_dalee&amp;kat=$kat&amp;sort=$sort&amp;".session_name()."=".session_id()."\">Дальше</a>";
        } 
       echo'<br />';
       echo'</p>';
      }
     
     if(!empty($a) || $count_files > 0)
      {
       echo"<p class=\"d\">";
       if(!empty($a))
        {
         echo"Категорий: $a<br />";
        }
       if($count_files > 0)
        {
         echo"Файлов: $count_files";
        }
       echo"</p>";
      }
	 if(empty($a) and $count_files == 0) 
	  {
	   echo"<p class=\"err\">В данной категории нет книг и других категорий.</p>";
	  }
      }
  closedir ($dir_kat);
  closedir ($dir_file);
 }
####################
dir_list($kat, $file_get);
####################
}
include '../../templates/foot.php';
?>