<?php
include("../sistem/cfg.dat");
include("../sistem/cfg_forum.dat");
include("../sistem/global.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($_POST['t'])){$t = $_POST['t'];}
$r=htmlspecialchars($r);
$t=htmlspecialchars($t);
if(eregi("[^0-9]" , $r )){echo'запрещённые символы<br>';}else
{
if (eregi("[^0-9]" , $t )){ echo'запрещённые символы<br>'; }else
{
if(file_exists("../data/forum/temes-$r.dat") && file_exists("../data/forum/topik-$t.dat"))//проверили существование раздела или темы
{
//echo'<div class="razd"><B>Новое сообщение</B></div>';
//получаем параметры темы
$str = file("../data/forum/temes-$r.dat");
$nom=count($str);
$d='-1';
$var=$nom-1;
while(++$d <= $var)
{
$as=explode("<||>",$str[$d]);
if($as[4] == $t)
{
$stats_teme = $as[0];//запомнили статус темы
}
}
//закончили получать параметры темы
if($stats_teme == "activ" || $stats_teme == "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");//обработали смайлами и bb кодами
$txtsob=stripslashes($txtsob);//функция убираний слешей, обрабатывать только в последнюю очередь
//увеличиваем счетчик постов всего форума
$nomer_post=file("../data/forum/count_post.dat");
++$nomer_post[0];
$file_count_post = fopen("../data/forum/count_post.dat", "w+");//если всё правильно, то сохраняем счетчик
flock ($file_count_post,LOCK_EX);
fputs($file_count_post,$nomer_post[0]);//если всё правильно, то сохраняем счетчик
flock ($file_count_post,LOCK_UN);
fclose($file_count_post);//если всё правильно, то сохраняем счетчик
@chmod("../data/forum/count_post.dat", 0666);
//записываем пост
$time_post = htmlspecialchars(date("d.m.y H:i:s"));
$kod2=''.$login.'<||>'.$time_post.'<||>'.$txtsob.'<||>';//В хранилище постов
$file_post_data = fopen("../data/forum/topik-$t.dat", "a+");//записываем пост
flock ($file_post_data,LOCK_EX);
fputs($file_post_data,$kod2."\r\n");
flock ($file_post_data,LOCK_UN);
fclose($file_post_data);
@chmod("../data/forum/topik-$t.dat", 0666);
//увеличиваем счет постов у юзера
$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.'<||>'.$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);
//закончили увеличиваем счет постов у юзера
//изменяем счётчик в списке тем
$i='-1';
$var=$nom;
$filelinck = fopen("../data/forum/temes-$r.dat", "w+");
flock ($filelinck,LOCK_EX);
while(++$i < $var)
{
$as=explode("<||>",$str[$i]);
if($as[4] != $t)
{
fputs($filelinck,$str[$i]);
}else
{
++$as[5];
$str_new= ''.$as[0].'<||>'.$time_post.'<||>'.$login.'<||>'.$as[3].'<||>'.$as[4].'<||>'.$as[5].'<||>
';
$nazv_teme = $as[3];//для записи в список популярных тем
}
}
fputs($filelinck,$str_new);
flock ($filelinck,LOCK_UN);
fclose($filelinck);
@chmod("../data/forum/temes-$r.dat", 0666);
//изменяем счётчики на главной форума
$str=file("../data/forum/razd.dat");
$nom=count($str);
$i='-1';
$var=$nom-1;
$filelinck = fopen("../data/forum/razd.dat", "w+");
flock ($filelinck,LOCK_EX);
while(++$i <= $var)
{
$arr = explode("<||>",$str[$i]);
if($arr[1] == $r)
{
++$arr[3];
$str_new= ''.$arr[0].'<||>'.$arr[1].'<||>'.$arr[2].'<||>'.$arr[3].'<||>'.$t.'<||>'.$nazv_teme.'<||>'.$login.'<||>'.$time_post.'<||>
';
$nazv_razd = $arr[0];//для записи в список популярных тем
$str[$i] = str_replace($str[$i],$str_new,$str[$i]);
}
fputs($filelinck,$str[$i]);
}
flock ($filelinck,LOCK_UN);
fclose($filelinck);
@chmod("../data/forum/razd.dat", 0666);
//Код добавления в список новых сообщений
$kod2=''.$r.'<||>'.$t.'<||>'.$nazv_razd.'<||>'.$nazv_teme.'<||>'.$login.'<||>';
$str = file("../data/forum/new.dat");
$nom=count($str);
$i='-1';
$var=$nom-1;
$file_new_dat = fopen("../data/forum/new.dat", "w+");
flock ($file_new_dat,LOCK_EX);
while(++$i <= $var)
{
$arr = explode("<||>",$str[$i]);
if($arr[1] != $t)
{
fputs($file_new_dat,$str[$i]);
}
}
fputs($file_new_dat,$kod2."\r\n");
flock ($file_new_dat,LOCK_UN);
fclose($file_new_dat);
@chmod("../data/forum/new.dat", 0666);
//Вычисления для посылки на последнюю страницу
$coi = count(file("../data/forum/topik-$t.dat"));
$asd = $coi -1;
$asd2 = floor($asd / $nav_forum_post)+1;
$asd3 = "0";
echo'Сообщение добавлено<br>';
echo'<a href="topik.php?r='.$r.'&t='.$t.'&nom_page='.$asd2.'&'.SID.'">На послед. стр.</a><br>';
header('Location: topik.php?r='.$r.'&t='.$t.'&nom_page='.$asd2.'&'.SID.'');//мгновенная переадресация нужно без меток ""
}else{ echo'Слишком длинное сообщение, сообщение не должно превышать 1000 символов <a href="post.php?str_razdela='.$str_razdela.'&str_temes='.$str_temes.'&'.SID.'">далее</a><br>'; }
}else
{
echo'Не заполнена форма<br>';
}
}else{ echo'<B>Тема закрыта</B><br>'; }
echo'<a href="topik.php?r='.$r.'&t='.$t.'">К теме</a><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");
?>