Просмотр файла news/index.php

Размер файла: 10.63Kb
<?php
//автор - figura
//сайт - http://f-pt.ru

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

echo'<div class="razd"><B>НОВОСТИ НАШЕГО САЙТА</B></div>';
if($status=="gost" || $status=="uzer" || $status=="moder" || $status=="admin" || $status=="mod_chat" || $status=="mod_forum" || $status=="mod_news")
{
   if(empty($act)){$act="index";}
   if($act == "index")
   {

      if($status=="admin" || $status=="mod_news" || $status=="moder")
      {
         echo'<a href="index.php?act=ad&amp;'.SID.'">Добавить новость</a><br>';
      }

      //вывод новостей
      $str = file("../data/news/news.dat");
      $str=array_reverse($str);//перевернули масив
      $nom=count($str);

      //начало новой навигации
      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 * $navnews;
      $var = $i+$navnews;
      if($nom < $i){ $var = 0; echo'Страница не найдена!<br>'; }

      while($i < $var)
      {
         if($i < $nom)
         {
            //показываем сообщение
            $arrr=explode("<||>",$str[$i]);

            echo'<div class="ramk"><div class="sob">'.$img_act.''.$arrr[0].'</div>';
            echo''.$arrr[1].'';
            echo'<br><a href="../comments/index.php?ndata='.$arrr[0].'">Комментарии</a>';
            if($status=="admin" || $status=="mod_news")
            {
               echo'<br><a href="index.php?act=d&amp;st='.$i.'&amp;'.SID.'">Удалить</a> <a href="index.php?act=izm&amp;st='.$i.'&amp;'.SID.'">Изминить</a><br>';
            }
            echo'</div>';
         }
         ++$i;
      }

      //конец новой навигации
      $asd2 = ceil($nom / $navnews);
      $asd3 = "0";

      //навигация вперёд, назад
      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($asd2 > $nom_page)
      {
         $nom_next_page = $nom_page + 1;
         echo '<a href="index.php?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?nom_page='.$asd3.'&amp;'.SID.'">'.$asd3.'</a> ';
         }

      }

      echo'<br>Всего новостей '.count($str).'<br>';

      //записываем количество сообщений в кеш для вывода на главную//
      $file_news_count = fopen("../data/news/count.dat", "w+");
      flock ($file_news_count,LOCK_EX);
      fputs($file_news_count,count($str));
      flock ($file_news_count,LOCK_UN);
      fclose($file_news_count);
      @chmod("../data/news/count.dat", 0666);

      echo'<hr size="2" width="100%">';
   }

//////////////////////////////////////////////////////////////////////////////////////////////////
   if($act == "izm")
   {
      if($status=="admin" || $status=="mod_news" || $status=="moder")
      {
         if(isset($_GET['st'])){$st = $_GET['st'];}
         $str = file("../data/news/news.dat");
         $nom=count($str);
         $str=array_reverse($str);//перевернули масив
         $ar=explode("<||>",$str[$st]);
         $ar[1] = off_smiles($ar[1]);
         $ar[1] =str_replace("<br>","\n",$ar[1]);
         echo'<B>Изменяем новость</B>';
         echo'<form name="forma" action="index.php?'.SID.'" method="post">';
         echo'<INPUT TYPE="hidden" NAME="act" VALUE="izm2">';
         echo'<INPUT TYPE="hidden" NAME="st" VALUE="'.$st.'">';
         echo'<INPUT TYPE="hidden" NAME="param_member" VALUE="post_izm_2">';
         echo'<TEXTAREA NAME="txtsob" ROWS=3 COLS=30>'.$ar[1].'</TEXTAREA><br>';
         echo'<input type="submit" name="" value="Изменить"><br></form>';
      }else
      {
         echo'Нужны права администратора!<br>';
      }
   }

   if($act == "izm2")
   {
      if($status=="admin" || $status=="mod_news" || $status=="moder")
      {
         if(isset($_POST['st'])){$st = $_POST['st'];}
         if(isset($_POST['txtsob'])){$txtsob = $_POST['txtsob'];}
         $str = file("../data/news/news.dat");
         $nom=count($str);
         $ar=explode("<||>",$str[$st]);


         //Убираем не нужное
         $txtsob = htmlspecialchars($txtsob);
         $txtsob = str_replace("\n","<br>",$txtsob);
         $txtsob = trim($txtsob);
         include("../sistem/smiles.dat");//обработали смайлами и bb кодами
         $txtsob=stripslashes($txtsob);//функция убираний слешей, обрабатывать только в последнюю очередь

         //функция замены строки
         $kod=$ar[0].'<||>'.$txtsob.'<||>';
         $str=array_reverse($str);//перевернули масив
         $str[$st] = str_replace($str[$st],$kod."\n",$str[$st]);
         $str=array_reverse($str);//перевернули масив в исходное состояние

         $i='0';
         $var=$nom-1;
         $file_news = fopen("../data/news/news.dat", "w+");
         flock ($file_news,LOCK_EX);
         while($i <= $var)
         {
            fputs($file_news,$str[$i]);
            ++$i;
         }
         flock ($file_news,LOCK_UN);
         fclose($file_news);
         @chmod("../data/news/news.dat", 0666);

         echo'<B>Изменено</B><br>';
         echo'<a href="index.php?act=index&amp;'.SID.'">К новостям</a><br>';
      }else
      {
         echo'Нужны права администратора!<br>';
      }
   }
//////////////////////////////////////////////////////////////////////////////////////
   if($act == "d")
   {
      if($status=="admin" || $status=="mod_news" || $status=="moder")
      {
         if(isset($_GET['st'])){$st = $_GET['st'];}
         $st=htmlspecialchars($st);

         echo'Уверены? <a href="index.php?act=dell&amp;st='.$st.'&amp;'.SID.'">Да</a><br>';
         echo'<hr size="2" width="100%">';
         echo '<a href="index.php?act=index&amp;'.SID.'">К новостям</a><br>';
      }else
      {
         echo'Нужны права администратора!<br>';
      }
   }

   if($act == "dell")
   {
      if($status=="admin" || $status=="mod_news" || $status=="moder")
      {
         if(isset($_GET['st'])){$st = $_GET['st'];}
         $str = file("../data/news/news.dat");
         $str=array_reverse($str);//перевернули масив
         $nom=count($str);

         //функция удаления строки
         $arrr=explode("<||>",$str[$st]);
         $data=$arrr[0];
         $str[$st] =str_replace($str[$st],"",$str[$st]);
         $str=array_reverse($str);//перевернули масив в исходное состояние

         $i='0';
         $var=$nom - 1;
         $filenews = fopen("../data/news/news.dat", "w+");
         flock ($filenews,LOCK_EX);
         while($i <= $var)
         {
            fputs($filenews,$str[$i]);
            ++$i;
         }
         flock ($filenews,LOCK_UN);
         fclose($filenews);
         @chmod("../data/news/news.dat", 0666);
         @unlink("../news/comments/$data.dat");
         echo'Новость удалена<br>';
         echo'<hr size="2" width="100%">';
         echo '<a href="index.php?act=index&amp;'.SID.'">К новостям</a><br>';
      }else
      {
         echo'Нужны права администратора!<br>';
      }
   }

   /////////////////////////////////////////////////////////////////////
   if($act == "ad")
   {
      if($status=="admin" || $status=="mod_news" || $status=="moder")
      {
         echo'<form name="forma" action="index.php?'.SID.'" method="post">';

         echo'<INPUT TYPE="hidden" NAME="act" VALUE="add">';
         echo'Добавить новость<br>';
         echo'<TEXTAREA NAME="txtsob" ROWS=3 COLS=30></TEXTAREA><br>';
         echo'<input type="submit" name="" value="добавить"><br>';
         echo'</form>';
      }else
      {
         echo'Нужны права администратора!<br>';
      }
   }
   if($act == "add")
   {
      if($status=="admin" || $status=="mod_news" || $status=="moder")
      {
         if(isset($_POST['txtsob'])){$txtsob = $_POST['txtsob'];}
         if($txtsob=="")
         {
         	 echo'Новость не введена!';
         	 echo ' <a href="index.php?act=index&amp;'.SID.'">К новостям</a><br>';
         }else
         {
      	    $txtsob=htmlspecialchars($txtsob);
      	    include("../sistem/smiles.dat");
      	    $txtsob = str_replace("\n","<br>",$txtsob);
      	    $txtsob=trim($txtsob);
      	    $dat=date("d.m.Y [H.i]");
      	    $dat=htmlspecialchars($dat);

      	    $kod=''.$dat.'<||>'.$txtsob.'<||>';

      	    $filenews = fopen("../data/news/news.dat", "a+");
      	    flock ($filenews,LOCK_EX);
      	    fputs($filenews,$kod."\r\n");
      	    flock ($filenews,LOCK_UN);
      	    fclose($filenews);
      	    @chmod("../data/news/news.dat", 0666);
      	    $kod='';
               $file_login_data = fopen("../news/comments/$dat.dat", "w+");
               flock ($file_login_data,LOCK_EX);
               fputs($file_login_data,$kod);
               flock ($file_login_data,LOCK_UN);
               fclose($file_login_data);
               @chmod("../news/comments/$dat.dat", 0666);

      	    echo'Новость добавлена<br>';
      	    echo'<hr size="2" width="100%">';
      	    echo '<a href="index.php?act=index&amp;'.SID.'">К новостям</a><br>';
         }
      }else
      {
         echo'Нужны права администратора!<br>';
      }
   }
/////////////////////////////////////////////////////////////////////////////////////////////
}

if($status=="ban"){ echo'Вам сюда нельзя<br>'; }
echo'<a href="../index.php?'.SID.'">Главная</a><br>';




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