View file gb/index.php

File size: 16.06Kb
<?php
//автор - figura             
//сайт - http://f-pt.ru   

include("../sistem/cfg.dat");
include("../sistem/global.dat");
include("../sistem/functions_txt.dat");
include("../sistem/functions_uzer.dat");
include("../temes/$teme/verh.dat");




if($status=="gost" || $status=="uzer" || $status=="moder" || $status=="admin")
{
   echo'<div class="razd"><B>ГОСТЕВАЯ КНИГА</B></div>';
   
   if(empty($act)){$act="index";}
   if($act == "index"){
      echo'&#187;<a href="index.php?act=dobsob&amp;'.SID.'">Добавить</a><br>';
      //вывод сообщений
      $str = file("../data/gb/gb.dat");
      $str=array_reverse($str);//перевернули масив
      $nom=count($str);
      
      
      //начало новой навигации
      if(isset($_GET['nom_page']) && ($_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 * $navgb;
      $var = $i+$navgb;
      if($nom < $i){ $i = 0; $var = $i+$navgb; $nom_page = "1";}
      
      while($i < $var)
      {
         if($i < $nom)
         {
            //показываем сообщение
            $arrr=explode("<||>",$str[$i]);
            
            
            
                        if(file_exists("../avators/$arrr[0].jpg")){$img = '<img src="../avators/avator.php?f='.$arrr[0].'.jpg&amp;type=0" alt="ава"><br>';}
                        elseif(file_exists("../avators/$arrr[0].JPG")){$img = '<img src="../avators/avator.php?f='.$arrr[0].'.JPG&amp;type=0" alt="ава"><br>';}
                        elseif(file_exists("../avators/$arrr[0].jpeg")){$img = '<img src="../avators/avator.php?f='.$arrr[0].'.jpeg&amp;type=0" alt="ава"><br>';}
                        elseif(file_exists("../avators/$arrr[0].JPEG")){$img = '<img src="../avators/avator.php?f='.$arrr[0].'.JPEG&amp;type=0" alt="ава"><br>';}
                        elseif(file_exists("../avators/$arrr[0].gif")){$img = '<img src="../avators/avator.php?f='.$arrr[0].'.gif&amp;type=0" alt="ава"><br>';}
                        elseif(file_exists("../avators/$arrr[0].GIF")){$img = '<img src="../avators/avator.php?f='.$arrr[0].'.GIF&amp;type=0" alt="ава"><br>';}
                        elseif(file_exists("../avators/$arrr[0].png")){$img = '<img src="../avators/avator.php?f='.$arrr[0].'.png&amp;type=0" alt="ава"><br>';}
                        elseif(file_exists("../avators/$arrr[0].PNG")){$img = '<img src="../avators/avator.php?f='.$arrr[0].'.PNG&amp;type=0" alt="ава"><br>';}
                        else{$img = $img_gb_post;}
            
            
            
            
            echo'<div class="ramk"><div class="sob">'.$img.''.$arrr[1].'<br><a href="../pages/my_menu.php?act=anket&amp;if_uzer='.$arrr[0].'&amp;'.SID.'"><B>'.$arrr[0].'</B></a> '.postov($arrr[0]).''.online($arrr[0]).'<br>'.$arrr[2].'</div>';
            echo''.$arrr[4].'';
            if($status=="moder" || $status=="admin")
            {
               echo'<br><a href="index.php?act=dell_sob&amp;st='.$i.'&amp;'.SID.'">[Удал]</a> <a href="../pages/ban.php?act=index&amp;ip_uzer='.$arrr[3].'&amp;'.SID.'">[Бан ip]</a><br>';
            }
            echo'</div>';
         }
         ++$i;
      }
      
      //конец новой навигации
      $kol_page = ceil($nom / $navgb); 
      
      
      //навигация назад, вперёд
      if("1" < $nom_page)
      {
         $nom_previous_page = $nom_page - 1;
         echo '<a href="index.php?nom_page='.$nom_previous_page.'&amp;'.SID.'">Назад</a>';
      }else{ echo 'Назад'; }
      echo'|';
      if($kol_page > $nom_page)
      {
         $nom_next_page = $nom_page + 1;
         echo '<a href="index.php?nom_page='.$nom_next_page.'&amp;'.SID.'">Далее</a>';
      }else{ echo 'Далее'; }
      
      
      
      //============================================//
      $gb_count = file("../data/gb/count.dat");
      echo'<br><B>Всего сообщений '.$gb_count[0].'</B><br>';
      
      
      
      
      
      
      
      
      ///////////////////Код для автоудаления старых постов
      if($nom >= "150")//если постов больше 150, то чистим:)
      {
         $str = file("../data/gb/gb.dat");
         $nom=count($str);
         $filegb = fopen("../data/gb/gb.dat", "w+");
         flock ($filegb,LOCK_EX);
         
         $i = "49";//удаляем последние 50 постов
         $var = $nom;
         while($i < $var)
         {
            fputs($filegb,$str[$i]);
            ++$i;
         }
         flock ($filegb,LOCK_UN);
         fclose($filegb);
         @chmod("../data/gb/gb.dat", 0666);
      }
      
      
      echo'<hr size="2" width="100%">';
      echo'&#187;<a href="index.php?act=dobsob&amp;'.SID.'">Добавить</a><br>';
      echo'&#187;<a href="../pages/smiles.php?act=1&amp;'.SID.'">Смайлы</a><br>';
      echo'&#187;<a href="../index.php?'.SID.'">Главная</a><br>';
   }
   
   if($act=='dobsob')
   {
      if($status=="gost")
      {
         if($gb_avt=="oof")
         {
            echo'<form name="forma" action="index.php?'.SID.'" method="post">';
            echo'<INPUT TYPE="hidden" NAME="act" VALUE="end">';
            echo'Имя<br>';
            echo'<input type="text" name="uzer_login" value="" size="10" maxlength="10"><br>';
            
            echo'Сообщение<br>';
            echo'<TEXTAREA NAME="txtsob" ROWS=3 COLS=20></TEXTAREA><br>';
            
            $real_pr_kod = rand(1111,9999);
            $_SESSION['real_pr_kod']=$real_pr_kod;
            echo'Введите: <B>'.$real_pr_kod.'</B><br>';
            echo'<input type="text" name="pr_kod" value="" size="4" maxlength="4"><br>';
            
            echo'<input type="submit" name="" value="Добавить"><br>';
            echo'</form>';
            echo'<hr size="2" width="100%">';
            echo'&#187;<a href="../pages/smiles.php?act=1&amp;'.SID.'">Смайлы</a><br>';
            echo'&#187;<a href="../pages/bb.php?'.SID.'">BB коды</a><br>';
         }elseif($gb_avt=="on")
         {
            echo'Администрация запретила неавторизированным пользователям оставлять сообщения в гостевой книге! Авторизируйтесь или зарегистрируйтесь.<br>';
         }else
         {
            echo'Ошибка';
         }
      }
      
      if($status=="uzer" || $status=="moder" || $status=="admin")
      {
         echo'<form name="forma" action="index.php?'.SID.'" method="post">';
         echo'<INPUT TYPE="hidden" NAME="act" VALUE="end">';
         
         echo'Сообщение<br>';
         echo'<TEXTAREA NAME="txtsob" ROWS=3 COLS=20></TEXTAREA><br>';
         
         echo'<input type="submit" name="" value="Добавить"><br>';
         echo'</form>';
         echo'<hr size="2" width="100%">';
         echo'&#187;<a href="../pages/smiles.php?act=1&amp;'.SID.'">Смайлы</a><br>';
         echo'&#187;<a href="../pages/bb.php?'.SID.'">BB коды</a><br>';
      }
      
      
      echo'&#187;<a href="index.php?'.SID.'">Гостевая</a><br>';
      echo'&#187;<a href="../index.php?'.SID.'">Главная</a><br>';
   }
   
   if($act=='end')
   {
      if(isset($_POST['txtsob'])){$txtsob = $_POST['txtsob'];}
      
      if($status=="gost")
      {
         if($gb_avt=="oof")
         {
            if(isset($_SESSION['real_pr_kod'])){ $real_pr_kod = $_SESSION['real_pr_kod']; }else{ $real_pr_kod =""; }
            if(isset($_POST['pr_kod'])){$pr_kod = trim($_POST['pr_kod']);}
            if(isset($_POST['uzer_login'])){$uzer_login = $_POST['uzer_login'];}////обозначили пост переменные
            
            if($uzer_login=="" || $txtsob=="" || "1000" <= strlen($txtsob))
            {
               echo'Не все поля заполнены или слишком длинный текст!!!<br>';
            }else{
               if($real_pr_kod == $pr_kod)
               {
                  if(!file_exists("../data/uzer/$uzer_login.dat"))
                  {
                     $ip = htmlspecialchars($_SERVER['REMOTE_ADDR']);
                     $arbuz = explode("/",$_SERVER['HTTP_USER_AGENT']);
                     $arbuz = htmlspecialchars($arbuz[0]);
                     $uzer_login = htmlspecialchars($uzer_login);
                     $txtsob = htmlspecialchars($txtsob);
                     $txtsob = smiles($txtsob);
                     $txtsob = bb($txtsob);
                     $txtsob = str_replace("\n","<br>",$txtsob);
                     $uzer_login = trim($uzer_login);
                     $txtsob = trim($txtsob);
                     $dat = date("d.m.Y H:i:s");
                     $str=''.$uzer_login.'<||>'.$dat.'<||>'.$arbuz.'<||>'.$ip.'<||>'.$txtsob.'<||>';
                     
                     if($filegb = fopen("../data/gb/gb.dat", "a+"))
                     {
                        flock ($filegb,LOCK_EX);
                        fputs($filegb,$str."\n");
                        flock ($filegb,LOCK_UN);
                        fclose($filegb);
                        @chmod("../data/gb/gb.dat", 0666);
                        
                        //Увеличели счётчик постов
                        $gb_count = file("../data/gb/count.dat");
                        $gb_count = $gb_count[0] + 1;
                        $file_gb_count = fopen("../data/gb/count.dat", "w+");
                        flock ($file_gb_count,LOCK_EX);
                        fputs($file_gb_count,$gb_count);
                        flock ($file_gb_count,LOCK_UN);
                        fclose($file_gb_count);
                        @chmod("../data/gb/count.dat", 0666);
                        
                        echo'Спасибо <B>'.$uzer_login.'</B>!<br>Ваше сообщение успешно добавлено.<br>';
                        $_SESSION['real_pr_kod']="0000";//меняем проверочный код
                     }else{
                        echo'Ошибка добавления сообщения<br>';
                     }
                  }else{ echo'Этот логин занят другим пользователем<br>'; }
               }else{ echo'Не верно введены цифры<br>'; }
            }
         }elseif($gb_avt=="on")
         {
            echo'Администрация запретила неавторизированным пользователям оставлять сообщения в гостевой книге! Авторизируйтесь или зарегистрируйтесь. <a href="../index.php?'.SID.'">Главная</a><br>';
         }else
         {
            echo'Ошибка гостевой книги! Нехватает настроек. ';
         }
         
      }
      if($status=="uzer" || $status=="moder" || $status=="admin")
      {
         if($txtsob=="" || "1000" <= strlen($txtsob))
         {
            echo'Не все поля заполнены или слишком длинный текст!!!<br>';
         }else{
            $ip=htmlspecialchars($_SERVER['REMOTE_ADDR']);
            $arbuz=explode("/",$_SERVER['HTTP_USER_AGENT']);
            $arbuz=htmlspecialchars($arbuz[0]);
            $login=htmlspecialchars($login);
            $txtsob=htmlspecialchars($txtsob);
            $txtsob = smiles($txtsob);
            $txtsob = bb($txtsob);
            $txtsob = str_replace("\n","<br>",$txtsob);
            $login = trim($login);
            $txtsob = trim($txtsob);
            $dat=date("d.m.Y H:i:s");
            $str=''.$login.'<||>'.$dat.'<||>'.$arbuz.'<||>'.$ip.'<||>'.$txtsob.'<||>';
            
            if($filegb = fopen("../data/gb/gb.dat", "a+"))
            {
               flock ($filegb,LOCK_EX);
               fputs($filegb,$str."\n");
               flock ($filegb,LOCK_UN);
               fclose($filegb);
               @chmod("../data/gb/gb.dat", 0666);
               
               
               //Увеличели счётчик постов
               $gb_count = file("../data/gb/count.dat");
               $gb_count = $gb_count[0] + 1;
               $file_gb_count = fopen("../data/gb/count.dat", "w+");
               flock ($file_gb_count,LOCK_EX);
               fputs($file_gb_count,$gb_count);
               flock ($file_gb_count,LOCK_UN);
               fclose($file_gb_count);
               @chmod("../data/gb/count.dat", 0666);
               
               
               //добавляем количество постов
               ++$postov;
               $kod=''.$pass_real.'<||>'.$status.'<||>'.$postov.'<||>'.$golos_za.'<||>'.$golos_protiv.'<||>'.$prichina_bana.'<||>'.$time_reg.'<||>'.$den_plusa.'<||>'.$real_name.'<||>'.$real_name2.'<||>'.$gorod.'<||>'.$a_baut.'<||>'.$vozrost.'<||>'.$pol.'<||>'.$ip.'<||>'.$posled_time_pribivanij.'<||>'.$posled_time.'<||>'.$my_tema.'<||>'.$rezerv1.'<||>'.$rezerv2.'<||>'.$rezerv3.'<||>'.$rezerv4.'<||>'.$rezerv5.'<||>'.$rezerv6.'<||>'.$rezerv7.'<||>'.$rezerv8.'<||>'.$rezerv9.'<||>'.$rezerv10.'<||>'.$rezerv11.'<||>'.$rezerv12.'<||>'.$rezerv13.'<||>'.$rezerv14.'<||>'.$rezerv15.'<||>'.$rezerv16.'<||>'.$rezerv17.'<||>'.$rezerv18.'<||>'.$rezerv19.'<||>'.$rezerv20.'<||>';
               $file_login_data = fopen("$koren_dir/data/uzer/$login.dat", "w+");
               flock ($file_login_data,LOCK_EX);
               fputs($file_login_data,$kod);
               flock ($file_login_data,LOCK_UN);
               fclose($file_login_data);
               @chmod("$koren_dir/data/uzer/$login.dat", 0666);
               
               echo'Спасибо <B>'.$login.'</B>!<br>Ваше сообщение успешно добавлено.<br>';
            }else{
               echo'Ошибка добавления сообщения<br>';
            }
         }
      }
      echo'<hr size="2" width="100%">';
      echo'&#187;<a href="index.php?'.SID.'">Гостевая</a><br>';
      echo'&#187;<a href="../index.php?'.SID.'">Главная</a><br>';
   }
   
   if($act=='dell_sob')
   {
      if(isset($_GET['st'])){$st = $_GET['st'];}
      if($status=="moder" || $status=="admin")
      {
      	 $str = file("../data/gb/gb.dat");
         $str=array_reverse($str);//перевернули масив
         $nom=count($str)-1;
         //функция удаления строки
         $str[$st] =str_replace($str[$st],"",$str[$st]);
         $str=array_reverse($str);//перевернули масив в исходное состояние
         
         $i='0';
         $var=$nom;
         $filegb = fopen("../data/gb/gb.dat", "w+");
         flock ($filegb,LOCK_EX);
         while($i <= $var)
         {
               fputs($filegb,$str[$i]);
               ++$i;
         }
         flock ($filegb,LOCK_UN);
         fclose($filegb);
         @chmod("../data/gb/gb.dat", 0666);
         
      	 //Ууменьшить счётчик постов
         $gb_count = file("../data/gb/count.dat");
         $gb_count = $gb_count[0] - 1;
         $file_gb_count = fopen("../data/gb/count.dat", "w+");
         flock ($file_gb_count,LOCK_EX);
         fputs($file_gb_count,$gb_count);
         flock ($file_gb_count,LOCK_UN);
         fclose($file_gb_count);
      	 @chmod("../data/gb/count.dat", 0666);
      	 
      	 echo'Сообщение удалено<br>';
      	 echo'<hr size="2" width="100%">';
      	 echo'&#187;<a href="index.php?act=index&amp;'.SID.'">Гостевая</a><br>';
         echo'&#187;<a href="../index.php?'.SID.'">Главная</a><br>';
      }
   }
}

if($status=="ban")
{
   echo'Вам сюда нельзя<br>';
}

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