View file forum/new_temes.php

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

if($status=="uzer" || $status=="moder" || $status=="admin")
{
  
   echo'<div class="razd"><B>Форум</B></div>';
   
   if(isset($_POST['r'])){$r = $_POST['r'];}
   if(isset($_GET['r'])){$r = $_GET['r'];}
   $r=htmlspecialchars($r);
   
   if (eregi("[^0-9]" , $r)){ echo'запрещённые символы<br>'; }else
   {
      if (file_exists("../data/forum/$r.razd") && file_exists("../data/forum/$r.temes"))
      {
         //показываем название раздела
         $cfg_razd = file_get_contents("../data/forum/$r.razd");
         $cfg_razd = explode("<||>",$cfg_razd);
         echo'<div class="sob"><B>'.$cfg_razd[0].'</B></div>';
         $nazv_razd = $cfg_razd[0];//запомнили название раздела
         //закончили показывать название раздела
         
         if(isset($_POST['txtsob'])){$txtsob = $_POST['txtsob'];}
         if(isset($_POST['nazv_temes'])){$nazv_temes = $_POST['nazv_temes'];}
         
         if($txtsob && $nazv_temes)
         {
            if("1000" >= strlen($txtsob) && "60" >= strlen($nazv_temes))
            {
               //чистим от лишнего и добавляем переносы строк
               $nazv_temes = htmlspecialchars(trim($nazv_temes));
               
               $txtsob = htmlspecialchars($txtsob);
               $txtsob = str_replace("\n","<br>",$txtsob);
               $txtsob = trim($txtsob);
               $txtsob = smiles($txtsob);
               $txtsob = bb($txtsob);
               $txtsob=stripslashes($txtsob);//функция убираний слешей, обрабатывать только в последнюю очередь
               $login =trim($login);
               
               //увеличиваем счетчик тем на 1
               $new_count_temes = new_count_temes();
               
               $time_post = date("d.m.y H:i:s");
               //формируем строки
               if($status=="uzer")
               {
                  $kod0='activ<||>'.$new_count_temes.'<||>';//в список
                  $kod1='activ<||>'.$r.'<||>'.$nazv_temes.'<||>1<||>'.$time_post.'<||>'.$login.'<||>';//в настройки темы
                  $kod2=''.$login.'<||>'.$time_post.'<||>'.$txtsob.'<||>';//В хранилище постов
               }
               
               if($status=="moder" || $status=="admin")
               {
                  if(isset($_POST['status_teme1'])){$status_teme1 = $_POST['status_teme1'];}
                  if(isset($_POST['status_teme2'])){$status_teme2 = $_POST['status_teme2'];}
                  
                  $st="activ";//статус темы при ошибки
                  if($status_teme1=="otcrep" && $status_teme2=="activ"){ $st="activ"; }//статус темы
                     
                  if($status_teme1=="zacrep" && $status_teme2=="activ"){ $st="zacrep"; }//статус темы
                     
                  if($status_teme1=="otcrep" && $status_teme2=="clos"){ $st="clos"; }//статус темы
                     
                  if($status_teme1=="zacrep" && $status_teme2=="clos"){ $st="zacrep_clos"; }//статус темы
                     
                  $kod0=''.$st.'<||>'.$new_count_temes.'<||>';//в список
                  $kod1=''.$st.'<||>'.$r.'<||>'.$nazv_temes.'<||>1<||>'.$time_post.'<||>'.$login.'<||>';//в настройки темы
                  $kod2=''.$login.'<||>'.$time_post.'<||>'.$txtsob.'<||>';//В хранилище постов
               }
               
               //дописываем новую тему в список
               $file_temes = fopen("../data/forum/$r.temes", "a+");
               flock ($file_temes,LOCK_EX);
               fputs($file_temes, $kod0."\n");
               flock ($file_temes,LOCK_UN);
               fclose($file_temes);
               @chmod("../data/forum/$r.temes", 0666);
               
               //создаём файл с параметрами темы 
               $file_teme = fopen("../data/forum/$new_count_temes.tem", "w+");
               flock ($file_teme,LOCK_EX);
               fputs($file_teme, $kod1);
               flock ($file_teme,LOCK_UN);
               fclose($file_teme);
               @chmod("../data/forum/$new_count_temes.tem", 0666);
                  
               //создаём файл хранилище постов и записываем первый пост
               $file_post = fopen("../data/forum/$new_count_temes.topik", "w+");//создаём файл хранилище постов и записываем первый пост
               flock ($file_post,LOCK_EX);
               fputs($file_post,$kod2."\n");
               flock ($file_post,LOCK_UN);
               fclose($file_post);
               @chmod("../data/forum/$new_count_temes.topik", 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);
               //закончили увеличиваем счет постов у юзера
               
               //начинаем увеличивать счётчик постов в форуме
               $tmp_3453 = new_count_post();
               //закончили увеличивать счётчик постов в форуме
               
               //Изменяем показатели в разделах
               $kod = ''.$cfg_razd[0].'<||>'.($cfg_razd[1] + 1).'<||>'.($cfg_razd[2] + 1).'<||>'.$nazv_temes.'<||>'.$login.'<||>'.$new_count_temes.'<||>';
               $file_razd_data = fopen("../data/forum/$r.razd", "w+");
               flock ($file_razd_data,LOCK_EX);
               fputs($file_razd_data,$kod);
               flock ($file_razd_data,LOCK_UN);
               fclose($file_razd_data);
               @chmod("../data/forum/$r.razd", 0666);
               
               //Код добавления в список новых сообщений
               $file_new_dat = fopen("../data/forum/new.dat", "a+");
               flock ($file_new_dat,LOCK_EX);
               fputs($file_new_dat,$new_count_temes."\n");
               flock ($file_new_dat,LOCK_UN);
               fclose($file_new_dat);
               @chmod("../data/forum/new.dat", 0666);
               
               echo'Новая тема успешно создана <a href="temes.php?r='.$r.'&amp;'.SID.'">Далее</a><br>';
               
            }else
            {
               echo'Слишком длинное сообщение или название темы <a href="temes.php?r='.$r.'&amp;'.SID.'">Назад</a><br>';
            }
         }else
         {
      	    echo'<b>Заполните все поля</b><br>';
            echo'<form name="forma" action="new_temes.php?'.SID.'" method="post">';
            echo'<INPUT TYPE="hidden" NAME="r" VALUE="'.$r.'">';
            echo'Название новой темы<br>';
            echo'<input type="text" name="nazv_temes" value="" size="20" maxlength="60"><br>';
            echo'Текст первого поста<br>';
            echo'<TEXTAREA NAME="txtsob" ROWS=3 COLS=20></TEXTAREA><br>';
            if($status=="moder" || $status=="admin")
            {
               echo'Парамет темы 1<br>';
               echo'<SELECT NAME="status_teme1">';
               echo'<OPTION VALUE="otcrep" selected>Откреплена';
               echo'<OPTION VALUE="zacrep">Закреплена';
               echo'</SELECT><br><br>';
               
               echo'Парамет темы 2<br>';
               echo'<SELECT NAME="status_teme2">';
               echo'<OPTION VALUE="activ" selected>Открыта';
               echo'<OPTION VALUE="clos">Закрыта';
               echo'</SELECT><br><br>';
            }
            echo'<input type="submit" name="" value="Добавить"><br></form>';
            echo'&#187;<a href="../pages/smiles.php?act=1&amp;'.SID.'">Смайлы</a>|<a href="../pages/bb.php?'.SID.'">BB коды</a><br>';
            echo'&#187;<a href="temes.php?r='.$r.'&amp;'.SID.'">Назад</a><br>'; 
         }
      }else
      {
         echo'Выбранного раздела нет<br>';
      }
   }
}

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

echo'<a href="../index.php?">На главную</a><br>';
include("../sistem/global_end.dat");
include("../temes/$teme/niz.dat");
?>