View file forum/addtopik.php

File size: 10.59Kb
<?php
include("../sistem/cfg.dat");
include("../sistem/cfg_forum.dat");
include("../sistem/global.dat");
include("../temes/$teme/verh.dat");


echo'<div class="razd"><B>Форум</B></div>';
if($status=="uzer" || $status=="gost")
{
   echo'Вам запрещено здесь находится<br>';
}

if(isset($_POST['r'])){$r = $_POST['r'];}
if(isset($_GET['r'])){$r = $_GET['r'];}

if(isset($_POST['t'])){$t = $_POST['t'];}
if(isset($_GET['t'])){$t = $_GET['t'];}

if(isset($_POST['param_member'])){$param_member = $_POST['param_member'];}
if(isset($_GET['param_member'])){$param_member = $_GET['param_member'];}

if(isset($_POST['txtsob'])){$txtsob = $_POST['txtsob'];}

if(isset($_GET['fid'])){$fid = $_GET['fid'];}
if(isset($_POST['fid'])){$fid = $_POST['fid'];}

///////////////////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////Меню управления постами/////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////////////
if($status=="moder" || $status=="admin")
{
   
//////////////////////////////////////////////////удаляем пост///////////////////////////////////
   
   if($param_member=="post_dell")
   {
      echo'Удаление Поста<br>';
      
      echo'Вы уверены <a href="addtopik.php?r='.$r.'&amp;t='.$t.'&amp;fid='.$fid.'&amp;param_member=post_dell_2&amp;'.SID.'">Да</a> <a href="topik.php?r='.$r.'&amp;t='.$t.'&amp;'.SID.'">Нет</a><br>';
      
      
      
   }
   if($param_member=="post_dell_2")
   {
      if(eregi("[^0-9]" , $r ))
      {
         echo'запрещённые символы<br>';
      }else
      {
         if(eregi("[^0-9]" , $t ))
         {
            echo'запрещённые символы<br>';
         }else
         {
            if(eregi("[^0-9]" , $fid ))
            {
               echo'запрещённые символы<br>';
            }else
            {
               
               if (file_exists("../data/forum/topik-$t.dat"))//проверили существование темы
               {
                  
                  //удаление поста
                  $str = file("../data/forum/topik-$t.dat");
                  $nom=count($str);
                  //функция удаления строки из списка разделов
                  $str[$fid] =str_replace($str[$fid],"",$str[$fid]);
                  
                  $i='-1';
                  $var=$nom-1;
                  
                  $file_razd = fopen("../data/forum/topik-$t.dat", "w+");
                  flock ($file_razd,LOCK_EX);
                  while(++$i <= $var)
                  {
                     fputs($file_razd,$str[$i]);
                  }
                  flock ($file_razd,LOCK_UN);
                  fclose($file_razd);
                  @chmod("../data/forum/topik-$t.dat", 0666);
                  
                  echo'Удалено <a href="topik.php?r='.$r.'&amp;t='.$t.'&amp;'.SID.'">Далее</a><br>';
                  
               }else{ echo'Тема не найдена<br>'; }
            }
         }
      }
   }

//////////////////////////////////////////изменяем пост///////////////////////////////////////////////
   
   if($param_member=="post_izm")
   {
      if(eregi("[^0-9]" , $r ))
      {
         echo'запрещённые символы<br>';
      }else
      {
         if(eregi("[^0-9]" , $t ))
         {
            echo'запрещённые символы<br>';
         }else
         {
            if(eregi("[^0-9]" , $fid ))
            {
               echo'запрещённые символы<br>';
            }else
            {
               
               if(file_exists("../data/forum/topik-$t.dat"))//проверили существование темы
               {
                  //получаем параметры
                  $str = file("../data/forum/topik-$t.dat");
                  $nom=count($str);
                  
                  $ar=explode("<||>",$str[$fid]);
                  
                  //здесь позже можно вставить код обратного генерирования смайлов и бб кодов
                  
                  function off_smiles($txtsob)
                  { 
                     //стандартные смайлы
                     $txtsob =str_replace("<img src='../img/1.gif' alt=''>",":)",$txtsob);
                     $txtsob =str_replace("<img src='../img/1.gif' alt=''>",":-)",$txtsob);
                     $txtsob =str_replace("<img src='../img/2.gif' alt=''>",":(",$txtsob);
                     $txtsob =str_replace("<img src='../img/2.gif' alt=''>",":-(",$txtsob);
                     
                     //остальные
                     $txtsob =str_replace("<img src='../img/",":",$txtsob);
                     $txtsob =str_replace(".gif' alt=''>",":",$txtsob);
                     
                     //bb
                     $txtsob = preg_replace('#<big>(.*?)</big>#si', '[big]\1[/big]', $txtsob);
                     $txtsob = preg_replace('#<b>(.*?)</b>#si', '[b]\1[/b]', $txtsob);
                     $txtsob = preg_replace('#<i>(.*?)</i>#si', '[i]\1[/i]', $txtsob);
                     $txtsob = preg_replace('#<u>(.*?)</u>#si', '[u]\1[/u]', $txtsob);
                     $txtsob = preg_replace('#<small>(.*?)</small>#si', '[small]\1[/small]', $txtsob);
                     
                     $txtsob = preg_replace('#<font color="\#FF0000">(.*?)</font>#si', '[red]\1[/red]', $txtsob);
                     $txtsob = preg_replace('#<font color="\#00FF00">(.*?)</font>#si', '[green]\1[/green]', $txtsob);
                     $txtsob = preg_replace('#<font color="\#0000FF">(.*?)</font>#si', '[blue]\1[/blue]', $txtsob);
                     $txtsob = preg_replace('#<font color="\#FFFF00">(.*?)</font>#si', '[yellow]\1[/yellow]', $txtsob);
                     
                     $txtsob = preg_replace('#<q>(.*?)</q>#si', '[q]\1[/q]', $txtsob);
                     $txtsob = preg_replace('#<del>(.*?)</del>#si', '[del]\1[/del]', $txtsob);
                     
                     $txtsob =str_replace('<a href="','[url=',$txtsob);
                     $txtsob =str_replace('">',']',$txtsob);
                     $txtsob =str_replace('</a>','[/url]',$txtsob);
                     
                     return $txtsob;         
                  }
                  $ar[2] = off_smiles($ar[2]);
                  //закончили обратное генерирование
                  //системное генирирование в исходный текст для формы
                  $ar[2] =str_replace("<br>","\r\n",$ar[2]);
                  //закончили системное генерирование
                  echo'<B>Изменяем пост</B>';
                  echo'<form name="forma" action="addtopik.php?'.SID.'" method="post">';
                  echo'<INPUT TYPE="hidden" NAME="r" VALUE="'.$r.'">';
                  echo'<INPUT TYPE="hidden" NAME="t" VALUE="'.$t.'">';
                  echo'<INPUT TYPE="hidden" NAME="fid" VALUE="'.$fid.'">';
                  echo'<INPUT TYPE="hidden" NAME="param_member" VALUE="post_izm_2">';
                  echo'<TEXTAREA NAME="txtsob" ROWS=5 COLS=30>'.$ar[2].'</TEXTAREA><br>';
                  echo'<input type="submit" name="" value="Изменить"><br></form>';
                  
                  echo'<a href="topik.php?r='.$r.'&amp;t='.$t.'&amp;'.SID.'">назад</a><br>';
                  
               }else{ echo'Тема не найдена<br>'; }
            }
         }
      }
   }
   
   
   if($param_member=="post_izm_2")
   {
      if(eregi("[^0-9]" , $r ))
      {
         echo'запрещённые символы<br>';
      }else
      {
         if(eregi("[^0-9]" , $t ))
         {
            echo'запрещённые символы<br>';
         }else
         {
            if(eregi("[^0-9]" , $fid ))
            {
               echo'запрещённые символы<br>';
            }else
            {
               if(file_exists("../data/forum/topik-$t.dat"))//проверили существование темы
               {
                  
                  
                  //изменяем
                  $str = file("../data/forum/topik-$t.dat");
                  $nom=count($str);
                  $ar=explode("<||>",$str[$fid]);
                  //Убираем не нужное
                  $txtsob=htmlspecialchars($txtsob);
                  $txtsob =str_replace("\r","",$txtsob);
                  $txtsob =str_replace("\n","<br>",$txtsob);
                  
                  
                  include("../sistem/smiles.dat");//обработали смайлами и bb кодами
                  
                  
                  
                  
                  $txtsob=stripslashes($txtsob);//функция убираний слешей, обрабатывать только в последнюю очередь
                  
                  $kod = ''.$ar[0].'<||>'.$ar[1].'<||>'.$txtsob.'<br><font color="#FF0000">Изменено <B>'.htmlspecialchars($login).'</B> '.date("d.m.y H:i:s").'</font><||>
';
                  //функция замены строки из списка постов
                  $str[$fid] =str_replace($str[$fid],$kod,$str[$fid]);
                  
                  $i='-1';
                  $var=$nom-1;
                  
                  $file_razd = fopen("../data/forum/topik-$t.dat", "w+");
                  flock ($file_razd,LOCK_EX);
                  while(++$i <= $var)
                  {
                     fputs($file_razd,$str[$i]);
                  }
                  flock ($file_razd,LOCK_UN);
                  fclose($file_razd);
                  @chmod("../data/forum/topik-$t.dat", 0666);
                  
                  echo'Изменено <a href="topik.php?r='.$r.'&amp;t='.$t.'&amp;'.SID.'">Далее</a><br>';
               }else{ echo'Тема не найдена<br>'; }
            }
         }
      }
   }
}


//////////////////////////////////////////////////Конец, спасибо за внимание/////////////////////////////////////////////////
include("../sistem/global_end.dat");
include("../temes/$teme/niz.dat");
?>