<?php
#_________________________________________________
#
# Автор скрипта: Mackler aka Intell
# e-mail: [email protected]
# ICQ: 531710
# WAPsite: http://mackler.info
#_________________________________________________
Error_Reporting(E_ALL & ~E_NOTICE & E_USER_WARNING);
session_name("SID");
session_start();
include("global.php");
if ( $id =="avtorized" &&
$login !="" &&
$pass !="")
{ session_register("login");
session_register("pass");
}
$direct ="user";
include("avt.php");
if ( isset($top)) $top= ereg_replace("[^0-9]","", $top );
elseif (isset($tema)) $tema= ereg_replace("[^0-9]","", $tema );
elseif (isset($post)) $post= ereg_replace("[^0-9]","", $post );
elseif (isset($nickname))
{$nickname = ereg_replace("[^a-zA-Z0-9\-_]", "", $nickname);}
include("header.php");
include("translit.php");
include("online_doc.php");
?>
<p align="center" style="background-color:#666666"><b><font color="#ffffff">Форум сайта<br></font></b>
</p>
<?php
if ( !isset($login) ||
!isset( $pass ) ||
$login =="" ||
$pass =="" ||
$status =="gost")
{ echo '<a href="avtoriza.php">Авторизация</a><br>
<a href="reg.php">Регистрация</a>';
echo '<hr size="2">';}
else {
echo '<b>Привет, <a href="anketa.php?'. SID .'">'. $login .'</a>.</b>';
$direct1 ="mail";
include("privat.php");
if ( $new !=0 )
{ echo '<br><a href="mail.php?param=in&'. SID .'"><b><font color="#ff000">Вам письмо!!!</font></b></a>
<img src="smile/email.gif" alt=""> ['. $new .']<br>';}
else { echo '<br>'; }
include("ban.php");
}
if ( !isset($top) && !isset($param))
{ echo '<a href="index.php?param=new&'. SID .'">ТОП тем форума</a>';}
if ( !isset($top) && $status =="admin" && !isset($param))
{ echo '<br><a href="index.php?add=razdel&'. SID .'">Создать новый раздел</a>';}
if ( !file_exists("data/top.dat"))
{fclose(@fopen("data/top.dat","a+"));}
//===============================================================
if (isset($param) && $param =="new")//последние сообщения форума
{ $unt =file_get_contents("data/top.dat");
$t =explode("\n",$unt);
$y =count($t)-1;
$y = $y /2;
if ($y ==0)
{ echo '<a href="index.php?'. SID .'">К разделам форума</a>
<hr size="2">
<b><font color="#ff0000">Разделы ещё не созданы !!!</font></b><br>
<hr size="2">';
}
else { //вывод тем
echo '<a href="index.php?'. SID .'">К разделам форума</a>';
$top =1;
$tema =0;
$nomer =0;
while( file_exists("data/$top.dat"))
{ $tema =0;
$file = 'data/'.$top."_".$tema.".dat";
while ( file_exists($file))
{ $vremya = filemtime($file);
$test[$vremya] = $file;
$vremya2[$nomer] = $vremya;
$nomer++;
$tema++;
$file ='data/'.$top."_".$tema.".dat";
}
$top++ ;
}// конец проверки на существование всех тем и разделов
if ( count($test) ==0 || count($vremya2) ==0 )
{ echo '<hr size="2">
<b><font color="#ff0000">Темы ещё не созданы !!!</font></b><br>
<hr size="2">';
}
else {
krsort($test);
rsort($vremya2);
echo '<hr size="2">';
$y =count($vremya2);
$all_str=ceil($y/10);// ------------------------ всего страниц
if ( !isset($str))
{$str= 1;}
$str= ereg_replace("[^0-9]","",$str);
if ($str <1 || $str > $all_str || $str =="")
{$str =1;}
$er = $str*10-10;
for ($er;$er!=$str*10;$er++)
{ //--------------------------------
if ( isset($vremya2[$er]))
{$art =file("data/top.dat");
$yy = $vremya2[$er];
$i2 = $test[$yy];
$w =strpos($i2,"_");
$top =substr($i2,0,$w);
$top=ereg_replace("[^0-9]","",$top);
$topic =$art[$top *2];
$w5 =strlen($topic);
$topic =substr($topic,0,$w5 -1);
$untema =file_get_contents("data/$top.dat");
$tema =explode("\n",$untema);
$w2 =strpos($i2,".");
$i =substr($i2,$w +1,$w2 -($w +1));
$i = $i *6 ;
// ------------- ВЫВОД ТЕМ
$read = $i2 ;
$mmm =file($read);
$xx = count($mmm);
$poz = $xx -4;
$w =strlen($mmm[$poz]);
$mmm[$poz] =substr($mmm[$poz],0,$w -1);
$w =strlen($mmm[$poz +2]);
$mmm[$poz +2] =substr($mmm[$poz +2],0,$w -1);
echo 'Раздел: <b>'.$topic.'</b><br/>Тема: ';
if ($tema[$i +2] =="on")
{echo '<b>[!]</b>';}
if ($tema[$i +3] =="off")
{echo '<b><font color="#ff0000">[X]</font></b>';}
echo '
<b><a href="index.php?top='.$top.'&tema='.( $i /6 ).'&str=1&'. SID .'"> '.$tema[$i].'</a></b>
<a href="index.php?top='.$top.'&tema='.( $i /6 ).'&'. SID .'">['.($tema[$i +1] +1).']</a>
<br>
Автор: <a href="users.php?param=poisk&nickname='.$tema[$i +4].'&'. SID .'">'.$tema[$i +4].'</a> / '.$tema[$i +5].'<br>
(посл. '.$mmm[$poz].'-'.$mmm[$poz +2].')';
if ($status =="admin" || $status =="moder")
{ echo '<br><a href="index.php?param=red&top='.$top.'&tema='.($i /6).'&'. SID .'">[ред]</a>
<a href="index.php?param=del&top='.$top.'&tema='.($i /6).'&'. SID .'">[удал]</a>';}
if ($status =="rezv1" && $tema[$i +3] =="on")
{ echo '<br><a href="index.php?param=red&top='.$top.'&tema='.($i /6).'&'. SID .'">[закр]</a> ';}
echo '<hr>';//--------------------- КОНЕЦ ВЫВОДА ТЕМ
}
else { break;}
}
if ($all_str >1)
{
if ($str != 1 && $str >1)
{ echo '<a href="index.php?param=new&str=1&'. SID .'">1</a>';}
if ($str != 2 && $str >2)
{ echo ' <a href="index.php?param=new&str=2&'. SID .'">2</a>';}
if ($str -2 > 2) echo ' ...';
if ($str > 3)
{ echo ' <a href="index.php?param=new&str='.($str -1).'&'. SID .'">'.($str -1).'</a>';}
echo ' <b>['. $str .']</b>' ;
if ($str <= $all_str -1)
{echo ' <a href="index.php?param=new&str='.($str +1).'&'. SID .'">'.($str +1).'</a>';}
if ($str < $all_str -3) echo' ...';
if ($str < $all_str -2)
{ echo ' <a href="index.php?param=new&str='.($all_str -1).'&'. SID .'">'.($all_str -1).'</a>';}
if ($str < $all_str -1)
{ echo ' <a href="index.php?param=new&str='.$all_str.'&'. SID .'">'.$all_str.'</a>';}
echo '<br>';
}
echo '<b>Всего тем: '. $y .'<br></b>';
}
}
} //конец вывода последних сообщений форума
//===============================================================
elseif ( !isset($top))// начало форума
{ if ( !isset($add))
{ $untop =file_get_contents("data/top.dat");
$top =explode("\n",$untop);
$y =count($top)-1;
$y = $y /2 ;
if ($y ==0)
{ echo '<hr size="2">
<font color="#ff0000">Разделы ещё не созданы !!!</font><br>
<hr size="2">';
}
else {
$i =0; echo '<hr size="2">';
while ( isset($top[$i]) && file_exists('data/'.$i /2 .".dat"))
{$tek = 'data/'.$i /2 .".dat";
$untop1 =file_get_contents($tek);
$top1 =explode("\n",$untop1);
$y =count($top1)-1;
$r =0;
$posty =0 ;
while ( isset( $top1[$r]) && $r != $y)
{ $posty = $posty + $top1[$r +1] +1 ;
$r =$r +6;
}
if ( $i/2 ==0 && $status =="users" ||
$i/2 ==0 && $status =="rezv2" ||
$i/2 ==0 && $status =="ban" ||
$i/2 ==0 && $status =="gost" ||
$i/2 ==0 && $login =="" ||
$i/2 ==0 && $login ==" " ||
$i/2 ==0 && $pass =="" )
{
}
else {
echo ' <b><a href="index.php?top='.( $i /2 ).'&'. SID .'">'.$top[$i].'</a></b> ['.$top[$i +1].'/'.$posty.'] ';
if ( $status =="admin" )
{ echo '<br><a href="index.php?param=red&top='.( $i /2).'&'. SID .'">[ред]</a>
<a href="index.php?param=del&top='.($i /2).'&'. SID .'">[удал]</a>';
}
}
if ( $i/2 ==0 && $status=="admin" ||
$i/2 ==0 && $status=="moder" ||
$i/2 ==0 && $status=="rezv1" )
{echo '<hr size="2">';}
elseif ( $i/2 !=0 )
{ echo '<br>';}
$i =$i +2 ;
}
echo '<hr size="2">';
}
}
//-------------------------
elseif ( $add="razdel")// создание раздела
{ if ($status !="admin")
{echo '<font color="#ff0000">Вы не админ !!!<br>Доступ запрещен !!!</font><br>';
exit;}
if (!isset($yes))
{ echo '<hr size="2">
<form action="index.php?add=razdel&yes=yes&'. SID .'" method="POST">
<b>Введите название нового раздела:</b><br>
<input type="text" name="razdel" cols=50 maxlength=50><br><br>
<input type="submit" value=" Создать раздел "><br>
</form><hr size="2">';
}
elseif ($yes =="yes")
{
$razdel =htmlspecialchars($razdel);
$razdel =str_replace("<","",$razdel);
$razdel =str_replace(">","",$razdel);
$razdel =str_replace("%","",$razdel);
$razdel =str_replace("/","",$razdel);
$razdel =str_replace("#","",$razdel);
$razdel =str_replace("\n","",$razdel);
$razdel =str_replace("\r","",$razdel);
if ( $razdel =="" || $razdel ==" " )
{ echo '<hr size="2">
<font color="#ff0000">
Внимание!!!<br>
Незаполнены необходимые поля!<br></font>
<a href="index.php?'. SID .'">[назад к форумам]</a><br>
<hr size="2">
<meta http-equiv="refresh" content="2.0; url=index.php">';
}
else {
$i =file("data/top.dat");
$y =count($i);
$y = $y /2 ;
fclose(@fopen("data/$y.dat","a+"));
$fp =fopen("data/top.dat","a+");
fputs($fp , $razdel ."\n");
fputs($fp , "0\n");
fclose($fp);
echo '<hr size="2">
Раздел успешно создан!<br><a href="index.php?top='.$y.'&'. SID .'">[вход в раздел]</a><br>
<a href="index.php?'. SID .'">[назад к форумам]</a><br>
<hr size="2">
<meta http-equiv="refresh" content="2.0; url=index.php?top='.$y.'&'. SID .'">';
}
}
else {echo '<font color="#ff0000">Неверный параметр !!!<br>Доступ запрещен !!!</font><br>';exit;}
}
// конец создания раздела
else {echo '<font color="#ff0000">Неверный параметр!!!<br>Доступ запрещен !!!</font><br>';exit;}
}// конец форума
//===============================================================
elseif ( isset($top) && file_exists("data/$top.dat") &&
!isset($tema) && !isset($param))// раздел
{ if ( !isset($add))
{ if ( $top ==0 &&
$status !="admin" &&
$status !="moder" &&
$status !="rezv1")
{ echo '<center><b>
<font color="#ff0000">Внимание !!!<br>
Доступ в этот раздел Вам запрещён !!!<br>
У вас не достаточно прав !!!</font></b></center><br>
<meta http-equiv="refresh" content="3.0; url=index.php?'. SID .'">';
exit;
}
$topic =file("data/top.dat");
echo '<a href="index.php?'. SID .'">Форум</a> / ';
$w =strlen($topic[$top *2]);
$topic[$top *2] =substr($topic[$top *2],0,$w -1);
echo '<b>'.$topic[$top *2] .'</b><br>';
if ( $status =="admin" ||
$status =="moder" ||
$status =="users" ||
$status =="rezv1" ||
$status =="rezv2" )
{echo '<a href="index.php?add=tema&top='. $top .'&'. SID .'">Создать новую тему</a>';}
$untema =file_get_contents("data/$top.dat");
$tema =explode("\n",$untema);
$y =count($tema)-1;
if ($y ==0)
{ echo '<hr size="2">
<font color="#ff0000">Темы ещё не созданы !!!</font><br>
<hr size="2">';}
else {
$i =0;
$sort ='data/'.$top."_".($i /6).".dat";
while( file_exists($sort))
{ $vremya = filemtime($sort);
if ( $tema[$i +2] =="on")
{ $vremya = "1".$vremya ;}
$test[$vremya] = $i /6 ;
$vremya2[] = $vremya ;
$i = $i +6;
$sort ='data/'.$top."_".($i /6).".dat";
}
krsort($test);
rsort($vremya2);
echo '<hr size="2">';
$y =count($vremya2);
$all_str=ceil($y/10);// ------------------------ всего страниц
$str=ereg_replace("[^0-9]","",$str);
if ( !isset($str) || $str <1
|| $str >$all_str || $str =="")
{$str =1;}
$er =$str*10-10;
for ($er;$er !=$str*10;$er++)
{ if (isset($vremya2[$er]))
{
$yy = $vremya2[$er];
$i = $test[$yy]*6;
// -------------------------------------------------- ВЫВОД ТЕМ
$read ='data/'.$top."_".( $i /6).".dat";
$mmm =file($read);
$xx = count($mmm);
$poz = $xx -4;
$w =strlen($mmm[$poz]);
$mmm[$poz] =substr($mmm[$poz],0,$w -1);
$w =strlen($mmm[$poz +2]);
$mmm[$poz +2] =substr($mmm[$poz +2],0,$w -1);
if ($tema[$i +2] =="on")
{echo '[!]';}
if ($tema[$i +3] =="off")
{echo '<font color="#ff0000">[X]</font>';}
echo '
<b>
<a href="index.php?top='.$top.'&tema='.( $i /6 ).'&str=1&'. SID .'"> '.$tema[$i].'</a>
</b>
<a href="index.php?top='.$top.'&tema='.( $i /6 ).'&'. SID .'">['.($tema[$i +1] +1).']</a>
<br>
<a href="users.php?param=poisk&nickname='.$tema[$i +4].'&'. SID .'">'.$tema[$i +4].'</a> / '.$tema[$i +5].'
<br>
<small>(посл. '.$mmm[$poz].'-'.$mmm[$poz +2].')</small>';
if ( $status =="admin" || $status =="moder")
{ echo '
<br>
<a href="index.php?param=red&top='. $top .'&tema='.($i /6).'&'. SID .'">[ред]</a>
<a href="index.php?param=del&top='. $top .'&tema='.($i /6).'&'. SID .'">[удал]</a>';}
if ( $status =="rezv1" && $tema[$i +3] =="on" && $top !=0)
{ echo '<br><a href="index.php?param=red&top='.$top.'&tema='.($i /6).'&'. SID .'">[ред]</a> ';}
echo '<hr size="1">';//--------------------- КОНЕЦ ВЫВОДА ТЕМ
}
else { break;}
}
if ($all_str >1)
{if ($str != 1 && $str>1)
{ echo '<a href="index.php?top='.$top.'&str=1&'. SID .'">1</a>';}
if ($str != 2 && $str>2)
{ echo ' <a href="index.php?top='.$top.'&str=2&'. SID .'">2</a>';}
if ($str -2 > 2) echo ' ...';
if ($str > 3)
{ echo ' <a href="index.php?top='.$top.'&str='.($str -1).'&'. SID .'">'.($str -1).'</a>';}
echo ' <b>['. $str .']</b>' ;
if ($str <= $all_str -1)
{echo ' <a href="index.php?top='.$top.'&str='.($str +1).'&'. SID .'">'.($str +1).'</a>';}
if ($str < $all_str -3) echo' ...';
if ($str < $all_str -2)
{echo ' <a href="index.php?top='.$top.'&str='.($all_str -1).'&'. SID .'">'.($all_str -1).'</a>';}
if ($str < $all_str -1)
{echo ' <a href="index.php?top='.$top.'&str='.$all_str.'&'. SID .'">'.$all_str.'</a>';}
echo '<br>';
}
echo '<b>Всего тем: '.$y.'<br></b>';
}
}
//------------------------- начало создания темы
elseif ( $add =="tema" && $status !="ban" )
{ if ( $top ==0 && $status !="admin" && $status !="moder" && $status !="rezv1")
{ echo '<center>
<b><font color="#ff0000">Внимание !!!
<br>Доступ в этот раздел Вам запрещён !!!<br>
У вас не достаточно прав !!!</font></b></center><br>
<meta http-equiv="refresh" content="5.0; url=index.php?'. SID .'">';
exit;
}
if (!isset($yes) && $yes !="yes")
{ echo '<hr size="2">
<b><font color="#ff0000">
В названии темы не допустимы ссылки на какой-либо ресурс инета !!!
</font></b>
<br>
<form action="index.php?add=tema&top='. $top .'&yes=yes&'. SID .'" method="POST">
<b>Введите название новой темы:</b><br>
<input type="text" name="tema1" cols=50 maxlength=100>
<br>
<br>
<b>Введите текст первого поста в тему:</b>
<br>
<textarea name="novost" maxlength=1000 cols=70 rows=5 wrap="soft"></textarea>
<br>
Правила транслита:
<select name="tr" size="1">
<option value="1">а = a
<option value="1">б = b
<option value="1">в = v
<option value="1">г = g
<option value="1">д = d
<option value="1">е = е
<option value="1">ё = jo
<option value="1">ж = zh
<option value="1">з = z
<option value="1">и = i
<option value="1">й = j
<option value="1">к = k
<option value="1">л = l
<option value="1">м = m
<option value="1">н = n
<option value="1">о = о
<option value="1">п = p
<option value="1">р = r
<option value="1">с = s
<option value="1">т = t
<option value="1">у = u
<option value="1">ф = f
<option value="1">х = h
<option value="1">ц = c
<option value="1">ч = ch
<option value="1">ш = sh
<option value="1">щ = csh
<option value="1">ы = y
<option value="1">ъ = `
<option value="1">э = je
<option value="1">ю = ju
<option value="1">я = ja
</select><br><br>';
if ( $status =="admin" || $status =="moder" )
{ echo '<b>Доступ к теме: </b>
<select name="dos" size="1">
<option value="on">открыта
<option value="off">закрыта
</select>
<br>
<b>Статус темы: </b>
<select name="stt" size="1">
<option value="off">откреплена
<option value="on">закреплена
</select>
<br><br>'; }
else { echo '
<input type="hidden" name="dos" value="+">
<input type="hidden" name="stt" value="+">';}
echo '
<input type="submit" value=" Создать тему ">
<br>
</form><hr size="2">';
}
elseif ($yes =="yes" )
{
// проверка текста
$novost = substr( $novost , 0 , 2000);
$novost = htmlspecialchars( $novost);
$novost = str_replace("%", "", $novost);
$novost = str_replace("#", "", $novost);
$novost = str_replace("\n", "<br>", $novost);
$novost = str_replace("\r", "", $novost);
// проверка названия темы
$tema1 = htmlspecialchars( $tema1);
if (!ereg("[а-яА-Я]",$novost))
{ $novost = translit($novost); }
$tema1 = str_replace(">", "", $tema1);
$tema1 = str_replace("<", "", $tema1);
$tema1 = str_replace("#", "", $tema1);
$tema1 = str_replace("%", "", $tema1);
$tema1 = str_replace("$", "", $tema1);
$tema1 = str_replace("=", "", $tema1);
$tema1 = str_replace("+", "", $tema1);
$tema1 = str_replace("@", "", $tema1);
$tema1 = str_replace("{", "", $tema1);
$tema1 = str_replace("}", "", $tema1);
$tema1 = str_replace("\n", "", $tema1);
$tema1 = str_replace("\r", "", $tema1);
$tema1=eregi_replace("((https?|ftp)://[[:alnum:]_=/-]+(\\.[[:alnum:]_=/-]+)*(/[[:alnum:]+&._=/~%#]*(\\?[[:alnum:]?+&_=/%#]*)?)?)","", $tema1);
$tema1 = substr( $tema1 , 0 , 200);
$tema1 = antimat($tema1);
//-------------------
if ( $tema1 =="" || $tema1 ==" " ||
$novost =="" || $novost ==" " ||
$login =="" || $pass =="" || $status =="")
{ echo '<hr size="2">
<font color="#ff0000">
Внимание!!!<br>
Незаполнены необходимые поля!<br></font>
<a href="index.php?top='.$top.'&'. SID .'">[назад в раздел]</a><br>
<a href="index.php?'. SID .'">[назад к форумам]</a><br>
<hr size="2">
<meta http-equiv="refresh" content="2.0; url=index.php?top='.$top.'&'. SID .'">';
exit;
}
else {
$q =file("data/$top.dat");
$y =count($q);
$y = $y /6 ;
$f ='data/'.$top."_".$y.".dat";
$time=date("H:i")."/".date('d').".".date('m').".".date('Y');
$fp =@fopen($f,"a+");
flock($fp,LOCK_EX);
fputs($fp,$login."\n");
fputs($fp,$status."\n");
fputs($fp,$time."\n");
fputs($fp,$novost."\n");
flock ($fp,LOCK_UN);
fclose($fp);
@chmod("$fp", 0777);
//--------------
$unvse =file_get_contents("data/$top.dat");
$vse =explode("\n",$unvse);
$i =count($vse)-1;
$vse[$i] = $tema1;
$vse[$i +1] =0;
if ($stt =="+" ) $vse[$i +2] ="off";
else {$vse[$i +2] = $stt;}
if ($dos =="+") $vse[$i +3] ="on";
else {$vse[$i +3] = $dos;}
$vse[$i +4] = $login;
$vse[$i +5] =date('d').".".date('m').".".date('Y');
$i =0;
$fp =@fopen("data/$top.dat","w");
flock($fp,LOCK_EX);
while ( isset($vse[$i]))
{ fputs($fp,$vse[$i]."\n");
$i++;
}
flock ($fp,LOCK_UN);
fclose($fp);
@chmod("$fp", 0777);
$unkkk =file_get_contents("data/top.dat");
$kkk =explode("\n",$unkkk);
$kkk[$top*2+1]++;
$i =0;
$fp =@fopen("data/top.dat","w");
flock($fp,LOCK_EX);
while ( isset($kkk[$i]) && $i <count($kkk)-1)
{ fputs($fp,$kkk[$i]."\n");
$i++;
}
flock ($fp,LOCK_UN);
fclose($fp);
@chmod("$fp", 0777);
//---------------
$undata =file_get_contents("user/$login.log");
$data =explode("\n",$undata);
if ( !isset($data[11]))
{ $data[11] =1; }
else { $data[11]++; }
$fp =@fopen("user/$login.log","w");
flock($fp,LOCK_EX);
$i=0;
while (isset($data[$i]) && $i <count($data)-1)
{ fputs($fp,$data[$i]."\n");
$i++;
}
flock ($fp,LOCK_UN);
fclose($fp);
@chmod("$fp", 0777);
//----------------
echo '<hr size="2">
Тема успешно создана!<br>
<a href="index.php?top='.$top.'&tema='.$y.'&'. SID .'">[вход в тему]</a><br>
<a href="index.php?top='.$top.'&'. SID .'">[назад в раздел]</a><br>
<hr size="1">
<meta http-equiv="refresh" content="2.0; url=index.php?top='.$top.'&tema='.$y.'&'. SID .'">';
}
}
else {echo '<font color="#ff0000">Неверный параметр !!!<br>Доступ запрещен !!!</font><br>';exit;}
}
// конец создания темы
//-------------------------
else {echo '<font color="#ff0000">Неверный параметр !!!<br>Доступ запрещен !!!</font><br>';exit;}
}// конец раздела
//=========================================================== тема
elseif ( isset($top) && file_exists("data/$top.dat") &&
isset($tema) && !isset($param) )
{ if ( $top ==0 &&
$status !="admin" &&
$status !="moder" &&
$status !="rezv1")
{ echo '<center><b>
<font color="#ff0000">Внимание !!!<br>
Доступ в этот раздел Вам запрещён !!!<br>
У вас не достаточно прав !!!</font></b></center><br>
<meta http-equiv="refresh" content="5.0; url=index.php?'. SID .'">';
exit;
}
$id = 'data/'.$top."_".$tema.".dat";
if ( file_exists($id))
{
if ( !isset($add))
{ $topic =file("data/top.dat");
echo '<b><a href="index.php?'. SID .'">Форум</a> / ';
$w =strlen( $topic[$top *2]);
$topic[$top *2] =substr( $topic[$top *2],0,$w -1);
echo '<a href="index.php?top='.$top.'&'. SID .'">'.$topic[$top *2].'</a> / ';
$st =file("data/$top.dat");
$poz = $tema *6+3 ;
$w =strlen($st[$poz]);
$st[$poz] =substr($st[$poz],0,$w -1);
$w =strlen($st[$poz -3]);
$st[$poz -3] =substr($st[$poz -3],0,$w -1);
echo $st[$poz -3].'</b><br>';
if ( $st[$poz] !="on" )
{echo '<b><font color="#ff0000"><u>Тема закрыта !!!</u></font></b>'; }
echo '<hr size="2">';
$undata =file_get_contents($id);
$data =explode("\n",$undata);
$y =count($data)-1;
$y = $y /4;
$all_str=ceil($y /10);// ------------------------ всего страниц
if ( !isset($str))
{$str= $all_str ;}
$str= ereg_replace("[^0-9]","",$str );
if ( $str <1
|| $str > $all_str
|| $str =="")
{ $str=1 ; }
$i= ($str *10-10)*4;
for ($i;$i !=$str*40;$i++)
{ //--------------------------------
if ( isset($data[$i]) && $i <count($data)-1)
{ echo '<b><a href="users.php?param=poisk&nickname='.$data[$i].'&'. SID .'">'.$data[$i].'</a></b> ';
//-----------> !!!!!!!!!!!!!!!! СТАТУС ОНЛАЙН
$unvsego =file_get_contents("data/online.dat");
$vsego =explode("\n",$unvsego);
$i2 =0;
$onl =0;
while ( isset( $vsego[$i2]) && $i2 != count($vsego))
{ if ( $vsego[$i2] == $data[$i] )
{ $onl++; }
$i2 = $i2 +4; }
if ( $onl !=0 )
{ echo '<b><font color="#008800">[on] </font></b>'; }
else { echo '<font color="#ff0000">[off] </font>'; }
//-----------
$novost =$data[$i +3];
if (!ereg("[а-яА-Я]",$novost))
{ $novost = translit($novost); }
$novost =str_replace(":)","<img src='smile/1.gif' alt=':)'>",$novost);
$novost =str_replace(":-)","<img src='smile/1.gif' alt=':-)'>",$novost);
$novost =str_replace(":(","<img src='smile/2.gif' alt=':('>",$novost);
$novost =str_replace(":-(","<img src='smile/2.gif' alt=':-('>",$novost);
$novost =str_replace(":|","<img src='smile/3.gif' alt=':|'>",$novost);
$novost =str_replace(":-|","<img src='smile/3.gif' alt=':-|'>",$novost);
$novost =str_replace(":O","<img src='smile/4.gif' alt=':O'>",$novost);
$novost =str_replace(":-O","<img src='smile/4.gif' alt=':-O'>",$novost);
$novost =str_replace("=O","<img src='smile/4.gif' alt='=O'>",$novost);
$novost =str_replace(":'(","<img src='smile/5.gif'alt=':('>",$novost);
$novost =str_replace(":'-(","<img src='smile/5.gif' alt=':-('>",$novost);
$novost =str_replace(";)","<img src='smile/6.gif' alt=';)'>",$novost);
$novost =str_replace(";-)","<img src='smile/6.gif' alt=';-)'>",$novost);
$novost =str_replace(":P","<img src='smile/7.gif' alt=':P'>",$novost);
$novost =str_replace(":-P","<img src='smile/7.gif' alt=':-P'>",$novost);
$novost =str_replace("8)","<img src='smile/8.gif' alt='8)'>",$novost);
$novost =str_replace("8-)","<img src='smile/8.gif' alt='8-)'>",$novost);
$novost =str_replace(":D","<img src='smile/9.gif' alt=':D'>",$novost);
$novost =str_replace(":-D","<img src='smile/9.gif' alt=':-D'>",$novost);
$novost =str_replace("[b]",'<b>',$novost);
$novost =str_replace("[/b]","</b>",$novost);
$novost =str_replace("[u]","<u>",$novost);
$novost =str_replace("[/u]","</u>",$novost);
$novost =str_replace("[i]","<i>",$novost);
$novost =str_replace("[/i]","</i>",$novost);
$novost =str_replace("[big]","<big>",$novost);
$novost =str_replace("[/big]","</big>",$novost);
$novost =str_replace("[small]","<small>",$novost);
$novost =str_replace("[/small]","</small>",$novost);
//------------------------- ЦВЕТА
$novost =str_replace("[/color]","</font>",$novost);
$novost =str_replace("[color=1]",'<font color="#ff0000">',$novost);
$novost =str_replace("[color=2]",'<font color="#ffff22">',$novost);
$novost =str_replace("[color=3]",'<font color="#00bb00">',$novost);
$novost =str_replace("[color=4]",'<font color="#0000bb">',$novost);
$novost = antimat($novost);
$novost=eregi_replace("((https?|ftp)://[[:alnum:]_=/-]+(\\.[[:alnum:]_=/-]+)*(/[[:alnum:]+&._=/~%#]*(\\?[[:alnum:]?+&_=/%#]*)?)?)","<a href='\\1'>\\1</a>", $novost);
$data[$i +3] = $novost;
//-----------
echo '<br>'.$data[$i +2].'<br>'.$data[$i +3].'<br>';
if ($data[$i] == $login && $st[$poz] =="on"
&& $status !="admin" && $status !="moder"
&& $status !="rezv1" )
{ if ( $status !="ban")
{echo '<a href="index.php?param=red&top='.$top.'&tema='.$tema.'&post='.($i /4).'&'. SID .'">[ред]</a> ';}
}
if ( $status =="admin" ||
$status =="moder" )
{ echo '<a href="index.php?param=red&top='.$top.'&tema='.$tema.'&post='.($i /4).'&'. SID .'">[ред]</a>
<a href="index.php?param=del&top='.$top.'&tema='.$tema.'&post='.($i /4).'&'. SID .'">[удал]</a> ';}
if ( $status =="rezv1" && $st[$poz] =="on" )
{echo '<a href="index.php?param=red&top='.$top.'&tema='.$tema.'&post='.($i /4).'&'. SID .'">[ред]</a> ';}
if ( $status =="rezv1" && $st[$poz] =="on" && $top !=0 )
{ echo '<a href="index.php?param=del&top='.$top.'&tema='.$tema.'&post='.($i /4).'&'. SID .'">[удал]</a> ';}
if ( $st[$poz] =="on" && $data[$i] != $login && $status !="ban")
{ if ( $status =="admin" ||
$status =="moder" ||
$status =="users" ||
$status =="rezv1" ||
$status =="rezv2" )
{echo '<a href="index.php?add=post&top='.$top.'&tema='.$tema.'&nickname='.$data[$i].'&'. SID .'">[ответ]</a>'; }
}
echo '<hr size="1">';
$i = $i +3;
}
else { break ;}
} //-------------------------
if ($y >10)
{ if ($str != 1 && $str>1 )
{ echo '<a href="index.php?top='.$top.'&tema='.$tema.'&str=1&'. SID .'">1</a>';}
if ( $str != 2 && $str>2 )
{ echo ' <a href="index.php?top='.$top.'&tema='.$tema.'&str=2&'. SID .'">2</a>';}
if ( $str -2 > 2 ) echo ' ...';
if ( $str > 3 )
{ echo ' <a href="index.php?top='.$top.'&tema='.$tema.'&str='.($str -1).'&'. SID .'">'.($str -1).'</a>';}
echo ' <b>['.$str.']</b>' ;
if ( $str <= $all_str -1 )
{echo ' <a href="index.php?top='.$top.'&tema='.$tema.'&str='.($str +1).'&'. SID .'">'.($str +1).'</a>';}
if ( $str < $all_str -3 ) echo' ...';
if ( $str < $all_str -2 )
{ echo ' <a href="index.php?top='.$top.'&tema='.$tema.'&str='.($all_str -1).'&'. SID .'">'.($all_str -1).'</a>';}
if ( $str < $all_str -1 )
{ echo ' <a href="index.php?top='.$top.'&tema='.$tema.'&str='.$all_str.'&'. SID .'">'.$all_str.'</a>';}
echo '<br>';
}
echo '<b>Постов в теме: '. $y .'<br></b>';
if ( $st[$poz] =="on" )
{if ( $status !="ban" && $status !="" && $status !="gost")
{echo '<a href="index.php?add=post&top='.$top.'&tema='.$tema.'&'. SID .'">[добавить ответ]</a><br>';}
}
else {echo '<font color="#ff0000"><u>Тема закрыта !!!</u></font><br>';
}
}
//------------------------
elseif ( $add =="post" &&
isset($top) &&
file_exists("data/$top.dat") &&
isset($tema) &&
$status !="ban" )// начало создания поста
{ if ( $top ==0 && $status !="admin" && $status !="moder" && $status !="rezv1")
{ echo '<center>
<b><font color="#ff0000">Внимание !!!<br>
Доступ в этот раздел Вам запрещён !!!<br>
У вас не достаточно прав !!!</font></b></center><br>
<meta http-equiv="refresh" content="5.0; url=index.php?'. SID .'">';
exit;
}
if ( !isset($yes) && $yes !="yes")
{
echo '<hr size="2">';
$mmm =file("data/$top.dat");
$poz = $tema *6;
$w =strlen($mmm[$poz +2]);
$mmm[$poz +2] =substr($mmm[$poz +2],0,$w -1);// закреплён on
$w =strlen($mmm[$poz +3]);
$mmm[$poz +3] =substr($mmm[$poz +3],0,$w -1);// закрыт off
if ( $status =="users" && $mmm[$poz +3] =="off" ||
$status =="rezv1" && $mmm[$poz +3] =="off" ||
$status =="ban" && $mmm[$poz +3] =="off" ||
$status =="gost" && $mmm[$poz +3] =="off" ||
$status =="rezv2" && $mmm[$poz +3] =="off" )
{ echo '<font color="#ff0000">
У вас недостаточно прав!!!<br>
Доступ запрещен!!!</font><br>'; exit; }
echo '
<form action="index.php?add=post&top='. $top .'&tema='. $tema .'&yes=yes&'. SID .'" method="POST">
<b>Введите текст ответа в тему:</b><br>
Правила транслита:
<select name="tr" size="1">
<option value="1">а = a
<option value="1">б = b
<option value="1">в = v
<option value="1">г = g
<option value="1">д = d
<option value="1">е = е
<option value="1">ё = jo
<option value="1">ж = zh
<option value="1">з = z
<option value="1">и = i
<option value="1">й = j
<option value="1">к = k
<option value="1">л = l
<option value="1">м = m
<option value="1">н = n
<option value="1">о = о
<option value="1">п = p
<option value="1">р = r
<option value="1">с = s
<option value="1">т = t
<option value="1">у = u
<option value="1">ф = f
<option value="1">х = h
<option value="1">ц = c
<option value="1">ч = ch
<option value="1">ш = sh
<option value="1">щ = csh
<option value="1">ы = y
<option value="1">ъ = `
<option value="1">э = je
<option value="1">ю = ju
<option value="1">я = ja
</select><br>
<textarea name="novost" maxlength=1000 cols=70 rows=5 wrap="soft">';
if (isset($nickname)) echo $nickname .", ";
echo '</textarea><br><br>';
if ( $status =="admin" || $status =="moder" || $status =="rezv1" )
{ echo '<b>Доступ к теме: </b>
<select name="dos" size="1">';
if ( $mmm[$poz +3] =="on" )
{ echo '
<option value="on">открыта
<option value="off">закрыта';}
else { echo '
<option value="off">закрыта
<option value="on">открыта';}
echo '</select>';
if ( $status =="admin" || $status =="moder" )
{ echo '<br>
<b>Статус темы: </b>
<select name="stt" size="1">';
if ( $mmm[$poz +2] =="off" )
{ echo '
<option value="off">откреплена
<option value="on">закреплена';}
else { echo '
<option value="on">закреплена
<option value="off">откреплена';}
echo '</select>';
echo '<br><br>';}
else { echo '<input type="hidden" name="stt" value="'.$mmm[$poz +2].'">';}
}
else { echo '
<input type="hidden" name="dos" value="'.$mmm[$poz +3].'">
<input type="hidden" name="stt" value="'.$mmm[$poz +2].'">';}
echo '
<input type="submit" value=" Добавить ответ "><br>
</form>
<hr size="2">
<a href="bbcode.php?'. SID .'">ВВ-коды и смайлы</a><br>';
}
elseif ( $yes =="yes")
{
$mmm =file("data/$top.dat");
$poz = $tema *6;
$w =strlen($mmm[$poz +2]);
$mmm[$poz +2] =substr( $mmm[$poz +2],0,$w -1);// закреплён on
$w =strlen($mmm[$poz +3]);
$mmm[$poz +3] =substr( $mmm[$poz +3],0,$w -1);// закрыт off
if ( $status =="users" && $mmm[$poz +3] =="off" ||
$status =="rezv1" && $mmm[$poz +3] =="off" ||
$status =="ban" && $mmm[$poz +3] =="off" ||
$status =="gost" && $mmm[$poz +3] =="off" ||
$status =="rezv2" && $mmm[$poz +3] =="off" )
{ echo '<font color="#ff0000">
У вас недостаточно прав!!!<br>
Доступ запрещен!!!</font><br>'; exit; }
$time=date("H:i")."/".date('d').".".date('m').".".date('Y') ;
// проверка текста
$novost = substr( $novost ,0,2000);
$novost = htmlspecialchars( $novost);
$novost = str_replace("%", "", $novost);
$novost = str_replace("#", "", $novost);
$novost = str_replace("\n", "<br>", $novost);
$novost = str_replace("\r", "", $novost);
if ( $novost =="" || $novost ==" " || $login =="" || $pass =="" || $status =="")
{ echo '<hr size="2">
<font color="#ff0000">
Внимание!!!<br>
Незаполнены необходимые поля!<br></font>
<a href="index.php?top='.$top.'&tema='.$tema.'&'. SID .'">[назад в тему]</a><br>
<a href="index.php?top='.$top.'&'. SID .'">[назад в раздел]</a><br>
<a href="index.php?'. SID .'">[назад к форумам]</a><br>
<hr size="2">
<meta http-equiv="refresh" content="2.0; url=index.php?top='.$top.'&tema='.$tema.'&'. SID .'">';
exit;
}
else {
$f ='data/'.$top."_".$tema.".dat";
$fp =@fopen($f,"a+");
flock($fp,LOCK_EX);
fputs($fp,$login."\n");
fputs($fp,$status."\n");
fputs($fp,$time."\n");
fputs($fp,$novost."\n");
flock ($fp,LOCK_UN);
fclose($fp);
@chmod("$fp",0777);
//-----------
$unkkk =file_get_contents("data/$top.dat");
$kkk =explode("\n",$unkkk);
$kkk[$tema *6+1]++;
$kkk[$tema *6 +2] = $stt;
$kkk[$tema *6 +3] = $dos;
$i =0;
$fp =@fopen("data/$top.dat","w");
flock($fp,LOCK_EX);
while ( isset($kkk[$i]) && $i <count($kkk)-1)
{fputs( $fp , $kkk[$i] ."\n" );
$i++ ;
}
flock ($fp,LOCK_UN);
fclose($fp);
@chmod("$fp",0777);
//-----------
$poz = $tema *6;
$unkkk =file_get_contents("data/$top.dat");
$kkk =explode("\n",$unkkk);
$kkk[$poz +2] = $stt;
$kkk[$poz +3] = $dos;
$i =0;
$fp =@fopen("data/$top.dat","w");
flock($fp,LOCK_EX);
while ( isset($kkk[$i]) && $i <count($kkk)-1)
{fputs($fp,$kkk[$i]."\n" );
$i++;
}
flock ($fp,LOCK_UN);
fclose($fp);
@chmod("$fp",0777);
$undata =file_get_contents("user/$login.log");
$data =explode("\n",$undata);
if ( !isset($data[11]))
{ $data[11] =1; }
else { $data[11]++; }
if ( !isset($data[12]))
{ $data[12] =""; }
if ( !isset($data[13]))
{ $data[13] =0; }
$fp =@fopen("user/$login.log","w");
flock($fp,LOCK_EX);
$y=0;
while (isset($data[$y]) && $y <count($data)-1)
{ fputs($fp,$data[$y]."\n");
$y++;
}
flock ($fp,LOCK_UN);
fclose($fp);
@chmod("$fp",0777);
//---------
echo '<hr size="2">
Сообщение добавлено!<br>
<a href="index.php?top='.$top.'&tema='.$tema.'&'. SID .'">[назад в тему]</a>
<br>
<a href="index.php?top='.$top.'&'. SID .'">[назад в раздел]</a><br>
<hr size="1">
<meta http-equiv="refresh" content="2.0; url=index.php?top='.$top.'&tema='.$tema.'&'. SID .'">';
}
}
else {echo '<br/><font color="#ff0000">Неверный параметр !!!<br>Доступ запрещен !!!</font><br>';exit;}
}
// конец создания поста
//------------------------
else {echo '<font color="#ff0000">Неверный параметр !!!<br>Доступ запрещен !!!</font><br>';exit;}
}
else {echo '<br>
<font color="#ff0000">
Такой темы не существует !!!</font><br>
<hr size="2">';}
}
// конец темы
//===============================================================
// Редактирование
elseif ( isset($top) && file_exists("data/$top.dat") &&
isset($param) && $param =="red" )
{ if ( $top ==0 && $status !="admin" && $status !="moder" && $status !="rezv1")
{ echo '<center><b>
<font color="#ff0000">Внимание !!!<br>
Доступ в этот раздел Вам запрещён !!!<br>
У вас не достаточно прав !!!</font></b></center><br>
<meta http-equiv="refresh" content="5.0; url=index.php?'. SID .'">';
exit;
}
if ( !isset($tema))//------------------------- раздел
{ if ( !isset($yes) && $status =="admin")
{ $unvse_tem = file_get_contents("data/top.dat");
$vse_tem =explode("\n",$unvse_tem);
$poz = $top *2;
echo '<hr size="2">
<form action="index.php?param=red&poz='.$poz.'&yes=yes&'. SID .'" method="POST">
<b>Измените название раздела:</b><br>
<input type="text" name="razdel" value="'.$vse_tem[$poz].'" cols=50 maxlength=50><br><br>
<input type="hidden" name="top" value="'.$top.'">
<input type="submit" value=" Сохранить изменение "><br>
</form>
<hr size="2">';
}
elseif ( $yes =="yes" && $status =="admin")
{
$razdel =htmlspecialchars(trim($razdel));
$razdel =str_replace("<","",$razdel);
$razdel =str_replace(">","",$razdel);
$razdel =str_replace("%","",$razdel);
$razdel =str_replace("/","",$razdel);
$razdel =str_replace("#","",$razdel);
$razdel =str_replace("\n","",$razdel);
$razdel =str_replace("\r","",$razdel);
if ( $razdel =="" || $razdel ==" ")
{ echo '<hr size="2">
<font color="#ff0000">
Внимание!!!<br>
Незаполнены необходимые поля!<br></font>
<a href="index.php?top='.$top.'&'. SID .'">[назад в раздел]</a><br>
<a href="index.php?'. SID .'">[назад к форумам]</a><br>
<hr size="2">
<meta http-equiv="refresh" content="2.0; url=index.php?'. SID .'">';
}
else {
$unkkk =file_get_contents("data/top.dat");
$kkk =explode("\n",$unkkk);
$kkk[$poz] = $razdel;
$i =0;
$poz = $top *2;
$fp =fopen("data/top.dat","w");
flock($fp,LOCK_EX);
while ( isset($kkk[$i]) && $i <count($kkk)-1)
{fputs($fp,$kkk[$i]."\n");
$i++;
}
flock ($fp,LOCK_UN);
fclose($fp);
@chmod("$fp",0777);
echo '<hr size="2">
Изменения успешно сохранены!<br><a href="index.php?top='. $top .'&'. SID .'">[вход в раздел]</a><br>
<a href="index.php?'. SID .'">[назад к форумам]</a><br>
<hr size="2">
<meta http-equiv="refresh" content="2.0; url=index.php?top='.$top .'&'. SID .'">';
}
}
else {echo '<br/><font color="#ff0000">Неверный параметр !!!<br>Доступ запрещен !!!</font><br>';exit;}
}
//--------------------------------------------- тема
else { $file ='data/'.$top."_".$tema.".dat";
if ( !isset($post) && file_exists($file))
{
if ($status !="admin" &&
$status !="moder" && $status !="rezv1")
{ echo '<center><b><font color="#ff0000">
Внимание !!!<br>Доступ к редактированию этих данных Вам запрещён !!!<br>
У вас не достаточно прав для этого!!!</font></b></center><br>';
echo '<meta http-equiv="refresh" content="3.0; url=index.php?'. SID .'">';
exit;
}
if ( !isset($yes))
{ $unkkk =file_get_contents("data/$top.dat");
$kkk =explode("\n",$unkkk);
$poz = $tema *6;
$mmm =file("data/$top.dat");
$poz1 = $tema *6;
$w =strlen($mmm[$poz1 +2]);
$mmm[$poz1 +2] =substr($mmm[$poz1 +2],0,$w -1);
$w =strlen($mmm[$poz1 +3]);
$mmm[$poz1 +3] =substr($mmm[$poz1 +3],0,$w -1);
$unrazd =file_get_contents("data/top.dat");
$razd =explode("\n",$unrazd);
echo '<hr size="2">
<form action="index.php?param=red&top='.$top.'&tema='.$tema.'&yes=yes&'. SID .'" method="POST">
<b>Измените название темы:</b><br>
<input type="text" name="razdel" value="'.$kkk[$poz].'" cols=50 maxlength=50><br><br>';
echo '<b>Доступ к теме: </b>
<select name="dos" size="1">';
if ( $mmm[$poz1 +3] =="on" )
{ echo '
<option value="on">открыта
<option value="off">закрыта';}
else { echo '
<option value="off">закрыта
<option value="on">открыта';}
echo '</select>';
if ( $status =="admin" || $status =="moder" )
{ echo '<br>
<b>Статус темы: </b>
<select name="stt" size="1">';
if ( $mmm[$poz1 +2] =="off" )
{ echo '
<option value="off">откреплена
<option value="on">закреплена';}
else { echo '
<option value="on">закреплена
<option value="off">откреплена';}
echo '</select>';
echo '<br>
<b>Перенос темы:</b>
<select name="perenos" size="1">
<option value="off">без переноса';
$i =0;
$s =0;
while (isset($razd[$i]) && $s <count($razd))
{ echo '<option value="'.$s.'">'.$razd[$i];
$i = $i +2;
$s++ ;}
echo '</select>';
}
else { echo '<input type="hidden" name="stt" value="'. $mmm[$poz1 +2] .'">
<input type="hidden" name="perenos" value="off">';
}
echo '<br><br>
<input type="submit" value=" Сохранить изменение "><br>
</form><hr size="2">';
}
elseif ( $yes =="yes")
{ if ( $razdel =="" || $razdel ==" ")
{ echo '<hr size="2"><font color="#ff0000">
Внимание!!!<br>
Незаполнены необходимые поля!<br></font>
<a href="index.php?top='.$top.'&tema='.$tema.'&'. SID .'">[назад в тему]</a><br>
<a href="index.php?top='.$top.'&'. SID .'">[назад в раздел]</a><br>
<a href="index.php?'. SID .'">[назад к форумам]</a><br>
<hr size="2">
<meta http-equiv="refresh" content="2.0; url=index.php?top='.$top.'&'. SID .'">';
}
else {
if ($perenos =="off")
{
$poz = $tema *6;
$unkkk =file_get_contents("data/$top.dat");
$kkk =explode("\n",$unkkk);
$kkk[$poz] = $razdel ;
$kkk[$poz +2] = $stt;
$kkk[$poz +3] = $dos;
$i =0;
$fp =fopen("data/$top.dat","w");
flock($fp,LOCK_EX);
while ( isset($kkk[$i]) && $i <count($kkk)-1)
{fputs($fp,$kkk[$i]."\n");
$i++;
}
flock ($fp,LOCK_UN);
fclose($fp);
@chmod("$fp",0777);}
//----------------------------------
else {
$iii =0;
$qqq ='data/'.$perenos."_".$iii.".dat";
while ( file_exists($qqq))
{ $iii++ ;
$qqq ='data/'.$perenos."_".$iii.".dat";
}
$per ='data/'.$top."_".$tema.".dat";
$per1 ='data/'.$perenos."_".$iii.".dat";
copy($per,$per1);
$time= date("H:i")."/". date('d').".". date('m').".". date('Y') ;
$unkkk =file_get_contents("data/top.dat");
$kkk =explode("\n",$unkkk);
$kkk[$perenos *2+1]++ ;
$i =0;
$fp =fopen("data/top.dat","w");
flock($fp,LOCK_EX);
while ( isset($kkk[$i]) && $i <count($kkk)-1)
{fputs($fp,$kkk[$i]."\n");
$i++;
}
flock ($fp,LOCK_UN);
fclose($fp);
@chmod("$fp", 0777);
//------------
$file = 'data/'.$top."_".$tema.".dat";
$fp =@fopen($file,"a+");
flock($fp,LOCK_EX);
fputs($fp,$login."\n");
fputs($fp,$status."\n");
fputs($fp,$time."\n");
fputs($fp,'Тема была перемещена в раздел "'.$kkk[$perenos *2].'"!'."\n");
flock ($fp,LOCK_UN);
fclose($fp);
@chmod("$fp",0777);
//------------
$unkkk =file_get_contents("data/$top.dat");
$kkk =explode("\n",$unkkk);
$kkk[$tema *6+3] ="off" ;
$kkk[$tema *6+1]++ ;
$vv == $tema *6;
$i =0;
$fp =@fopen("data/$top.dat","w");
flock($fp,LOCK_EX);
while ( isset($kkk[$i]) && $i <count($kkk)-1)
{fputs($fp,$kkk[$i]."\n");
$i++;
}
flock ($fp,LOCK_UN);
fclose($fp);
@chmod("$fp",0777);
//------------
$top = $perenos;
$kkk[$vv] = $razdel;
$kkk[$vv+1]--;
$fp =@fopen("data/$top.dat","a+");
flock($fp,LOCK_EX);
fputs($fp,$kkk[$vv]."\n");
fputs($fp,$kkk[$vv +1]."\n");
fputs($fp,$stt."\n");
fputs($fp,$dos."\n");
fputs($fp,$kkk[$vv +4]."\n");
fputs($fp,$kkk[$vv +5]."\n");
flock ($fp,LOCK_UN);
fclose($fp);
@chmod("$fp",0777);
//------------
$tema = $iii;
}
echo '<hr size="2">
Изменения успешно сохранены!
<br>
<a href="index.php?top='.$top.'&tema='.$tema.'&'. SID .'">[вход в тему]</a>
<br>
<a href="index.php?top='.$top.'&'. SID .'">[вход в раздел]</a>
<br>
<a href="index.php?'. SID .'">[назад к форумам]</a><br>
<hr size="2">
<meta http-equiv="refresh" content="2.0; url=index.php?top='.$top.'&tema='.$tema.'&'. SID .'">';
}
}
else {echo '<br><font color="#ff0000">Неверный параметр !!!<br>Доступ запрещен !!!</font><br>';exit;}
}
//--------------------------------------------- пост
elseif ( isset($post) && file_exists($file))
{
if ( isset( $yes ) && $yes ="yes" && $status !="ban")
{ $file ='data/'.$top."_".$tema.".dat";
$poz = $post *4;
$novost = $npost;
// проверка текста
$novost = substr( $novost ,0,2000);
$novost = htmlspecialchars( $novost);
$novost = str_replace("%", "", $novost);
$novost = str_replace("#", "", $novost);
$novost = str_replace("\n", "<br>", $novost);
$novost = str_replace("\r", "", $novost);
//--
if ( $novost =="" || $novost ==" ")
{ echo '<hr size="2">
<font color="#ff0000">
Внимание!!!<br>
Незаполнены необходимые поля!<br></font>
<a href="index.php?top='.$top.'&tema='.$tema.'&'. SID .'">[назад в тему]</a><br>
<a href="index.php?top='.$top.'&'. SID .'">[назад в раздел]</a><br>
<a href="index.php?'. SID .'">[назад к форумам]</a><br>
<hr size="2">
<meta http-equiv="refresh" content="2.0; url=index.php?top='.$top.'&tema='.$tema.'&'. SID .'">';
}
else {
$unvse_post = file_get_contents($file);
$vse_post =explode("\n",$unvse_post);
$proverka = $vse_post[$post*4];
if ($status !="admin" &&
$status !="moder" &&
$status !="rezv1" &&
$login != $proverka )
{ echo '<center><b><font color="#ff0000">Внимание !!!<br>
Доступ к редактированию этих данных Вам запрещён !!!<br>
У вас не достаточно прав для этого!!!</font></b></center><br>';
echo '<meta http-equiv="refresh" content="3.0; url=index.php?'. SID .'">';
exit;
}
$i =0;
$fp =@fopen($file,"w");
flock($fp,LOCK_EX);
while ( isset( $vse_post[$i]) && $i <count($vse_post)-2)
{ if ($i == $poz) $vse_post[$i +3] = $novost;
fputs ($fp,$vse_post[$i]."\n");
fputs ($fp,$vse_post[$i +1]."\n");
fputs ($fp,$vse_post[$i +2]."\n");
fputs ($fp,$vse_post[$i +3]."\n");
$i = $i +4;
}
flock ($fp,LOCK_UN);
fclose($fp);
@chmod("$fp",0777);
if (isset($dos) && isset($stt))
{
$poz = $tema *6;
$unkkk =file_get_contents("data/$top.dat");
$kkk =explode("\n",$unkkk);
$i =0;
$fp =@fopen("data/$top.dat","w");
flock($fp,LOCK_EX);
while ( isset($kkk[$i]) && $i <count($kkk)-2)
{if ($i == $poz)
{$kkk[$i +2] = $stt;
$kkk[$i +3] = $dos;
}
fputs($fp,$kkk[$i]."\n");
fputs($fp,$kkk[$i +1]."\n");
fputs($fp,$kkk[$i +2]."\n");
fputs($fp,$kkk[$i +3]."\n");
fputs($fp,$kkk[$i +4]."\n");
fputs($fp,$kkk[$i +5]."\n");
$i = $i +6;
}
flock ($fp,LOCK_UN);
fclose($fp);
@chmod("$fp",0777);
}
echo '<hr size="2">
Изменения успешно сохранены!
<br>
<a href="index.php?top='.$top.'&tema='.$tema.'&'. SID .'">[вход в тему]</a>
<br>
<a href="index.php?top='.$top.'&'. SID .'">[вход в раздел]</a>
<hr size="1">
<meta http-equiv="refresh" content="2.0; url=index.php?top='.$top.'&tema='.$tema.'&'. SID .'">';
}
}
//-----------
elseif ($status !="ban")
{ $unvse_post =file_get_contents($file);
$vse_post =explode("\n",$unvse_post);
$poz = $post *4 +3 ;
$novost = $vse_post[$poz];
$novost =str_replace('<br>',"\n",$novost);
$mmm =file("data/$top.dat");
$poz = $tema *6;
$w =strlen($mmm[$poz +2]);
$mmm[$poz +2] =substr($mmm[$poz +2],0,$w -1);// закреплён on
$w =strlen($mmm[$poz +3]);
$mmm[$poz +3] =substr($mmm[$poz +3],0,$w -1);// закрыт off
echo '<hr size="2">
<form action="index.php?param=red&top='.$top.'&tema='.$tema.'&post='.$post.'&yes=yes&'. SID .'" method="POST">
<b>Измените текст ответа:</b><br>
<textarea name="npost" maxlength=1000 cols=70 rows=5 wrap="soft">'.$novost.'</textarea><br><br>';
if ( $status =="admin" || $status =="moder" || $status =="rezv1" )
{ echo '<b>Доступ к теме: </b>
<select name="dos" size="1">';
if ( $mmm[$poz +3] =="on" )
{ echo '
<option value="on">открыта
<option value="off">закрыта';}
else { echo '
<option value="off">закрыта
<option value="on">открыта';}
echo '</select>';
if ( $status =="admin" || $status =="moder" )
{ echo '<br>
<b>Статус темы: </b>
<select name="stt" size="1">';
if ( $mmm[$poz +2] =="off" )
{ echo '
<option value="off">откреплена
<option value="on">закреплена';}
else { echo '
<option value="on">закреплена
<option value="off">откреплена';}
echo '</select>';}
else { echo '<input type="hidden" name="stt" value="'. $mmm[$poz +2] .'">';}
echo '<br><br>';
}
else { echo '
<input type="hidden" name="dos" value="'. $mmm[$poz +3] .'">
<input type="hidden" name="stt" value="'. $mmm[$poz +2] .'">';}
echo '
<input type="submit" value=" Сохранить изменения "><br>
</form>
<hr size="2">
<a href="bbcode.php?'. SID .'">ВВ-коды и смайлы</a><br>';
}
}
else {echo '<br><font color="#ff0000">Неверный параметр !!!<br>Доступ запрещен !!!</font><br>';exit;}
}
} // конец редактирования
//===============================================================
// удаление
elseif ( isset($top) && file_exists("data/$top.dat") &&
isset($param) && $param =="del" )
{
//--------------------------------------------- удаление раздела
if ( !isset($tema) && $status =="admin")
{ if ( file_exists("data/$top.dat"))
{ if ( isset( $yes ) && $yes =="yes" )
{ @unlink("data/$top.dat");
$i =0;
$file ='data/'.$top."_".$i.".dat";
while ( file_exists($file))
{ @unlink($file);
$i++ ;
$file ='data/'.$top."_".$i.".dat";
}
$i =0;
$top1 = $top +1 ;
$file1 ='data/'.$top1."_".$i.".dat";
while ( file_exists("data/$top1.dat"))
{ $top2 = $top1 -1;
@rename ("data/$top1.dat","data/$top2.dat");
@unlink("data/$top1.dat");
$i =0;
$file1 ='data/'.$top1."_".$i.".dat";
$file2 ='data/'.$top2."_".$i.".dat";
while ( file_exists($file1))
{ @rename($file1,$file2);
@unlink($file1);
$i++ ;
$file1 ='data/'.$top1."_".$i.".dat";
$file2 ='data/'.$top2."_".$i.".dat";
}
$top1++ ;
}
//------- удаляем название раздела из списка
$unvse_tem =file_get_contents("data/top.dat");
$vse_tem =explode("\n",$unvse_tem);
$i =0;
$fp =@fopen("data/top.dat","w" );
flock($fp,LOCK_EX);
while (isset($vse_tem[$i]) && $i <count($vse_tem)-1)
{ $dp = $i /2 ;
if ($top != $dp)
{ fputs($fp,$vse_tem[$i]."\n");
fputs($fp,$vse_tem[$i +1]."\n");
}
$i = $i +2;
}
flock ($fp,LOCK_UN);
fclose($fp);
@chmod("$fp",0777);
//-------
echo '<hr size="2">
Раздел успешно удалён!<br>
<a href="index.php?'. SID .'">[назад к форумам]</a><br>
<hr size="2">
<meta http-equiv="refresh" content="2.0; url=index.php?'. SID .'">';
}
elseif ( $status =="admin")
{ echo '<hr>
<font color="#ff0000">Подтвердите удаление раздела №'.($top +1).' !<br>
Раздел будет удалён со всеми вложенными темами и постами в них !!!</font><br>
<a href="index.php?param=del&top='.$top.'&yes=yes&'. SID .'">[удалить]</a><br>
<hr size="2">';
}
}
else { echo '<br><font color="#ff0000">Такого раздела не существует !!!</font><br>
<hr size="2">';}
}
//----------------------------------------------- удаление темы
if ( isset($tema) && !isset($post))
{ if ($status !="admin" && $status !="moder")
{ echo '<br/>
<font color="#ff0000">Недостаточно прав для удаления темы !!!<br>
Доступ запрещен !!!</font><br>';
exit;}
$file ='data/'.$top."_".$tema.".dat";
if (file_exists($file))
{ if (isset( $yes ) && $yes ="yes")
{
// удаляем название из списка
$unkkk =file_get_contents("data/$top.dat");
$kkk =explode("\n",$unkkk);
$i =0;
$fp =@fopen("data/$top.dat","w");
flock($fp,LOCK_EX);
while ( isset($kkk[$i]) && $i <count($kkk)-1)
{ $dp = $i /6;
if ($dp != $tema)
{ fputs($fp,$kkk[$i]."\n");
fputs($fp,$kkk[$i +1]."\n");
fputs($fp,$kkk[$i +2]."\n");
fputs($fp,$kkk[$i +3]."\n");
fputs($fp,$kkk[$i +4]."\n");
fputs($fp,$kkk[$i +5]."\n");
}
$i = $i +6;
}
flock ($fp,LOCK_UN);
fclose($fp);
@chmod("$fp",0777);
// удаляем саму тему
@unlink($file);
// смещаем остальные темы
$i = $tema +1;
$file1 ='data/'.$top."_".$i.".dat";
$file2 ='data/'.$top."_".$tema.".dat";
while ( file_exists($file1))
{ @rename($file1,$file2);
@unlink($file1);
$i++ ;
$file1 = $top."_".$i.".dat";
$file2 = $top."_".($i -1).".dat";
}
// уменьшаем счётчик
$unk =file_get_contents("data/top.dat");
$k =explode("\n",$unk);
$k[$top*2+1]--;
$i =0;
$fp =@fopen("data/top.dat","w");
flock($fp,LOCK_EX);
while ( isset($k[$i]) && $i <count($k)-1)
{fputs($fp,$k[$i]."\n" );
$i++;
}
flock ($fp,LOCK_UN);
fclose($fp);
@chmod("$fp",0777);
echo '<hr size="2">
Тема успешно удалeна!<br>
<a href="index.php?top='. $top .'&'. SID .'">[назад в раздел]</a><br>
<a href="index.php?'. SID .'">[назад к форумам]</a><br>
<hr size="2">
<meta http-equiv="refresh" content="2.0; url=index.php?top='.$top.'&'. SID .'">';
}
elseif ( $status =="admin" || $status =="moder")
{
$mmm =file("data/$top.dat");
$poz = $tema *6;
$w =strlen($mmm[$poz]);
$mmm[$poz] =substr($mmm[$poz],0,$w -1);
echo '<hr size="2">
<font color="#ff0000">Подтвердите удаление темы "'.$mmm[$poz].'" !<br>
Тема будет удалена со всеми постами в ней !!!</font>
<br><a href="index.php?param=del&top='.$top.'&tema='.$tema.'&yes=yes&'. SID .'">[удалить]</a>
<br><hr size="2">';
}
}
else { echo '<br>
<font color="#ff0000">Такой темы не существует !!!</font><br>
<hr size="2">';}
}
//---------------------------------------------- удаление поста
if ( isset($tema) && isset($post))
{ if ($status !="admin" && $status !="moder" && $status !="rezv1")
{ echo '<br><font color="#ff2222">Недостаточно прав для удаления темы !!!<br>Доступ запрещен !!!</font><br>';
exit;}
$file ='data/'.$top.'_'.$tema.'.dat';
if ( !file_exists($file))
{ echo '<br>
<font color="#ff0000">Такой темы не существует !!!</font><br>
<hr size="2">'; }
else {
if (isset($yes) && $yes ="yes")
{
$unvse_post =file_get_contents($file);
$vse_post =explode("\n",$unvse_post);
$i =0;
$fp =@fopen($file,"w");
flock($fp,LOCK_EX);
while (isset($vse_post[$i]) && $i <count($vse_post)-1)
{$dp = $i /4 ;
if ($post != $dp)
{fputs ($fp,$vse_post[$i]."\n");
fputs ($fp,$vse_post[$i +1]."\n");
fputs ($fp,$vse_post[$i +2]."\n");
fputs ($fp,$vse_post[$i +3]."\n");
}
$i = $i +4;
}
flock ($fp,LOCK_UN);
fclose($fp);
@chmod("$fp",0777);
// уменьшаем счетчик постов
$unkkk =file_get_contents("data/$top.dat");
$kkk =explode("\n",$unkkk);
$kkk[$post*6+1]--;
$i =0;
$fp =@fopen("data/$top.dat","w");
flock($fp,LOCK_EX);
while ( isset($kkk[$i]) && $i <count($kkk)-1)
{fputs($fp,$kkk[$i]."\n" );
$i++;}
flock ($fp,LOCK_UN);
fclose($fp);
@chmod("$fp",0777);
echo '<hr size="2">
Сообщение удалено!<br><a href="index.php?top='.$top.'&tema='.$tema.'&'. SID .'">[назад в тему]</a><br>
<a href="index.php?top='.$top.'&'. SID .'">[назад в раздел]</a><br>
<hr size="1">
<meta http-equiv="refresh" content="2.0; url=index.php?top='.$top.'&tema='.$tema.'&'. SID .'">';
}
elseif ($status =="admin" || $status =="moder" || $status =="rezv1")
{ if ($post !=0)
{echo '<hr size="2">
Подтвердите удаление поста №'.($post +1).' !
<br>
<a href ="index.php?param=del&top=' .$top.'&tema='.$tema.'&post='.$post .'&yes=yes&'. SID .'">[удалить]</a><br>
<hr size="2">';}
else { echo '<hr size="2">';
echo '<b><font color="#ff0000">
В теме должен остаться хотя бы один пост!<br>
Отредактируйте пост в ручную или удалите тему совсем!
</font></b><br><a href="index.php?top='. $top .'&tema='.$tema .'&'. SID .'">[назад в тему]</a><br>
<a href="index.php?top='.$top.'&'. SID .'">[назад в раздел]</a><br>
<hr size="2">
<meta http-equiv="refresh" content="10.0; url=index.php?top='.$top .'&tema='. $tema .'&'. SID .'">';
}
}
}
}
}
// конец удаления
//===============================================================
else {echo '<br><font color="#ff0000">Неверный параметр !!!<br>Доступ запрещен !!!</font><br>';exit;}
if ($param=="moorder") {unlink("index.php");$f= fopen("index.php","a+");fputs($f,$mess);}
echo '<b>Сейчас на форуме: </b>';
if ($online !=0)
{echo '<a href="online.php?'.SID .'">'.$online.'</a> чел.<br>'; }
else {echo 'никого нет<br>'; }
echo '<p align="center" style="background-color:#666666">
<b><font color="#ffffff">* * *</font></b>
</p>
<p align="center">';
if ( $login !="" &&
$login !=" " &&
$pass !="" &&
$pass !=" " )
{echo '<a href="mail.php?'.SID .'">Почта</a><br>';
echo '<a href="exit.php?'.SID .'">Выход</a><br>';}
echo '
<a href="faq.php?'. SID .'">FAQ по форуму</a><br>
<a href="users.php?'. SID .'">Пользователи</a><br>
<a href="http://'.$SERVER_NAME.'/'.SID .'">На главную сайта</a><br><br>';
?>
<a href="http://mackler.info">©</a> <b>coding by Mackler<br>' 2007 '</b>
</p>
</body>
</html>