View file forum/new_post.php

File size: 8.1Kb
<?php
session_start();
include("../sistem/cfg.dat");
include("../sistem/global.dat");
include("../temes/$teme/verh.dat");
if($status=="gost")
{
   echo'<div class="razd"><B>МЕНЮ ГОСТЯ</B></div>';
   echo'<a href="../rega.php">Регистрация</a> | ';
   echo'<a href="../avtoriza.php">Вход</a><br>';
   echo'<a href="../page/info.php?act=index">Форум</a><br>';
}
if($status=="uzer" || $status=="moder" || $status=="admin")
{
   echo'<div class="razd"><B>МЕНЮ ЮЗЕРА</B></div>';
   echo'Здравствуйте <B>'.$login.'</B><br>';
   echo'Постов на сайте ['.$postov.']<br>';
   echo'<a href="../anket/index.php?act=my_anket">Моя анкета</a><br>';
   if(file_exists("../privat/dat/new-$login.dat")){ $new_pismo='<font COLOR="#FF0000">NEW</font>'; }else{ $new_pismo=''; }
   echo'<a href="../privat/index.php?act=index">Письма</a> '.$new_pismo.'<br>';
   
   echo'<div class="razd"><B>Форум</B></div>';
   
   if(isset($_POST['str_razdela'])){$str_razdela = $_POST['str_razdela'];}
   if(isset($_POST['str_temes'])){$str_temes = $_POST['str_temes'];}
   
   $str_razdela=htmlspecialchars($str_razdela);
   if (eregi("[^0-9]" , $str_razdela )){ echo'запрещённые символы<br>'; }else
   {
   $str_temes=htmlspecialchars($str_temes);
   if (eregi("[^0-9]" , $str_temes )){ echo'запрещённые символы<br>'; }else
   {
   $arr = file("razd.dat");//получаем данные
            $razd=explode("<||>",$arr[$str_razdela]);
if (file_exists("data/r-$razd[1].dat")){//проверили существование раздела
            $arr = file("data/r-$razd[1].dat");//получаем данные
            $tem=explode("<||>",$arr[$str_temes]);
if (file_exists("data/t-$tem[4].dat")){//проверили существование темы
   
   
   
   
   
      echo'<div class="razd"><B>Новое сообщение</B></div>';
      if($tem[0] == "activ" || $tem[0] == "zacrep"){
      if(isset($_POST['txtsob'])){$txtsob = $_POST['txtsob'];}
      if($txtsob)
      {
         if("1000" >= strlen($txtsob))
         {
         //Убираем ненужное
         $txtsob=htmlspecialchars($txtsob);
         $login =str_replace("\r","",$login);
         $login =str_replace("\n","",$login);
         $txtsob =str_replace("\r","",$txtsob);
         $txtsob =str_replace("\n","<br>",$txtsob);
         //вставляем смайлы
         include("../sistem/smiles.dat");
         //вставляем рег. выр. для активации ссылок
         $txtsob=eregi_replace("((https?|ftp)://[[:alnum:]_=/-]+(\\.[[:alnum:]_=/-]+)*(/[[:alnum:]+&amp;._=/~%#]*(\\?[[:alnum:]?+&amp;_=/%#]*)?)?)","<a href='\\1'>\\1</a>", $txtsob);
         $txtsob=stripslashes($txtsob);//функция убираний слешей, обрабатывать только в последнюю очередь
         
         //увеличиваем счетчик постов на 1 и создаем файл хранилище постов
         $nomer_post=file("count_post.dat");
         ++$nomer_post[0];
         $file_count_post = fopen("count_post.dat", "w+");//если всё правильно, то сохраняем счетчик
         fputs($file_count_post,$nomer_post[0]);//если всё правильно, то сохраняем счетчик
         fclose($file_count_post);//если всё правильно, то сохраняем счетчик
         
         $time_post = htmlspecialchars(date("d.m.y H:i:s"));
         $kod2=''.$login.'<||>'.$time_post.'<||>'.$txtsob.'<||>';//В хранилище постов
         $file_post_data = fopen("data/t-$tem[4].dat", "a+");//записываем пост
         fputs($file_post_data,$kod2."\r\n");
         fclose($file_post_data);
         
         
         
         
         
         
         //увеличиваем счет постов у юзера
         $pass_real = htmlspecialchars($pass_real);
         ++$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.'<||>';
         $file_login_data = fopen("$koren_dir/uzer_dat/$login.dat", "w+");
         fputs($file_login_data,$kod);
         fclose($file_login_data);
         //закончили увеличиваем счет постов у юзера
         
         
         
         
         
         //изменяем счётчик в списке тем
         $nom=count($arr);
         ++$tem[5];
         $str_new= ''.$tem[0].'<||>'.$tem[1].'<||>'.$tem[2].'<||>'.$tem[3].'<||>'.$tem[4].'<||>'.$tem[5].'<||>
';
         $arr[$str_temes] = str_replace($arr[$str_temes],$str_new,$arr[$str_temes]);
         $i='-1';
         $var=$nom;
         $filelinck = fopen("data/r-$razd[1].dat", "w+");
         while(++$i <= $var)
         {
            fputs($filelinck,$arr[$i]);
         }
         fclose($filelinck);
         
         
         
         
         //изменяем счётчики на главной форума
         $str=file("razd.dat");
         $arr = explode("<||>",$str[$str_razdela]);
         $nom=count($str);
         ++$arr[3];
         $str_new= ''.$arr[0].'<||>'.$arr[1].'<||>'.$arr[2].'<||>'.$arr[3].'<||>
';
         $str[$str_razdela] = str_replace($str[$str_razdela],$str_new,$str[$str_razdela]);
         $i='-1';
         $var=$nom;
         $filelinck = fopen("razd.dat", "w+");
         while(++$i <= $var)
         {
            fputs($filelinck,$str[$i]);
         }
         fclose($filelinck);
         
         
         
         
         
         //Код добавления в список новых сообщений
         $kod2='<a href="temes.php?str_razdela='.$str_razdela.'"><B>'.$razd[0].'</B></a> >> <a href="post.php?str_razdela='.$str_razdela.'&amp;str_temes='.$str_temes.'"><B>'.$tem[3].'</B></a>
';
         $str = file("new.dat");
         $nom=count($str);
         //поиск и удаление старой записи
         $i='-1';
         $var=$nom-1;
         while(++$i <= $var)
         {
            if($str[$i] == $kod2)
            {
               $str[$i] =str_replace($str[$i],"",$str[$i]);
            }
         }
         //добавление новой записи
         $i='-1';
         $var=$nom-1;
         $file_new_dat = fopen("new.dat", "w+");
         while(++$i <= $var)
         {
         fputs($file_new_dat,$str[$i]);
         }
         fputs($file_new_dat,$kod2);
         fclose($file_new_dat);
         
         
         
         echo'Сообщение добавлено<br>';
         }else{ echo'Слишком длинное сообщение, сообщение не должно превышать 1000 символов <a href="post.php?str_razdela='.$str_razdela.'&amp;str_temes='.$str_temes.'">далее</a><br>'; }
      }else{
echo'Не заполнена форма<br>';
      }
      }else{ echo'<B>Тема закрыта</B><br>'; }
      echo'<a href="post.php?str_razdela='.$str_razdela.'&amp;str_temes='.$str_temes.'">далее</a><br>';
      
   }else{ echo'темы не существует<br>'; }
   }else{ echo'раздела не существует<br>'; }
   }
   }
   
   
}

if($status=="ban")
{
   echo'Ваш акаунт временно заблокирован, причины ниже<br>';
   echo'<B>'.$prichina_bana.'</B><br><br>В данный момент вы можете только читать форум, или зарегистрировать себе другой акаунт. ЗНАЙТЕ, ЕСЛИ НАРУШЕНИЯ С ВАШЕЙ СТОРОНЫ НЕ ПРЕКРАТЯТСЯ, ТО ДОСТУП В ФОРУМ ВАМ БУДЕТ ЗАКРЫТ ПОЛНОСТЬЮ!!!<br>';
}

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