<?php
Error_Reporting(0);
session_name('SID');
session_start();
include"../configs.php";
include"../style/verh.php";
include('global.php');
if ( $id =='avtorized' &&
$login !='' &&
$pass !='')
{ session_register('login');
session_register('pass');
}
$direct ='forum/user';
include('avt.php');
if ( isset($top)) $top = intval($top);
elseif (isset($tema)) $tema = intval($tema);
elseif (isset($post)) $post = intval($post);
elseif (isset($nickname))
{$nickname = ereg_replace("[^a-zA-Z0-9\-_]", '', $nickname);}
include('translit.php');
include('online_doc.php');
echo '<div class="menu">';
if ( !isset($login) ||
!isset( $pass ) ||
$login =='' ||
$pass =='' ||
$status =='gost')
{}
else {include('ban.php');}
if ( !isset($top) && !isset($param))
{ echo '<a href="forum.php?param=new&'. SID .'">ТОП тем форума</a>';}
if ( !isset($top) && $status =='admin' && !isset($param))
{ echo '<br><a href="forum.php?add=razdel&'. SID .'">Создать новый раздел</a>';}
if ( !file_exists('forum/data/top.dat'))
{fclose(@fopen('forum/data/top.dat','a+'));}
//===============================================================
if (isset($param) && $param =='new')//последние сообщения форума
{ $unt = file_get_contents('forum/data/top.dat');
$t = explode("\n",$unt);
$y = (sizeof($t)-1)/2;
if($y ==0)
{ echo '<a href="forum.php?'. SID .'">К разделам форума</a>
<hr size="2">
<strong><font color="#ff0000">Разделы ещё не созданы !!!</font></strong><br>
<hr size="2">';
}
else { //вывод тем
echo '<a href="forum.php?'. SID .'">К разделам форума</a>';
$top = 1;
$tema = $nomer = 0;
while(file_exists("forum/data/$top.dat"))
{ $tema = 0;
$file = 'forum/data/'.$top.'_'.$tema.'.dat';
while (file_exists($file))
{ $vremya = filectime($file);
$test[$vremya] = $file;
$vremya2[$nomer] = $vremya;
$nomer++;
$tema++;
$file ='forum/data/'.$top.'_'.$tema.'.dat';
}
$top++ ;
}// конец проверки на существование всех тем и разделов
if ( count($test) ==0 || count($vremya2) ==0 )
{ echo '<hr size="2">
<strong><font color="#ff0000">Темы ещё не созданы !!!</font></strong><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 = intval($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('forum/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("forum/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 'Раздел: <strong>'.$topic.'</strong><br>Тема: ';
if ($tema[$i +2] =='on')
{echo '<strong>[!]</strong>';}
if ($tema[$i +3] =='off')
{echo '<strong><font color="#ff0000">[X]</font></strong>';}
echo '
<strong><a href="forum.php?top='.$top.'&tema='.( $i/6 ).'&str=1&'. SID .'"> '.$tema[$i].'</a></strong>
<a href="forum.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="forum.php?param=red&top='.$top.'&tema='.($i/6).'&'. SID .'">[ред]</a>
<a href="forum.php?param=del&top='.$top.'&tema='.($i/6).'&'. SID .'">[удал]</a>';}
if ($status =="rezv1" && $tema[$i+3] =="on")
{ echo '<br><a href="forum.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="forum.php?param=new&str=1&'. SID .'">1</a>';}
if ($str != 2 && $str >2)
{ echo ' <a href="forum.php?param=new&str=2&'. SID .'">2</a>';}
if ($str -2 > 2) echo ' ...';
if ($str > 3)
{ echo ' <a href="forum.php?param=new&str='.($str -1).'&'. SID .'">'.($str -1).'</a>';}
echo ' <strong>['. $str .']</strong>' ;
if ($str <= $all_str -1)
{echo ' <a href="forum.php?param=new&str='.($str +1).'&'. SID .'">'.($str +1).'</a>';}
if ($str < $all_str -3) echo' ...';
if ($str < $all_str -2)
{ echo ' <a href="forum.php?param=new&str='.($all_str -1).'&'. SID .'">'.($all_str -1).'</a>';}
if ($str < $all_str -1)
{ echo ' <a href="forum.php?param=new&str='.$all_str.'&'. SID .'">'.$all_str.'</a>';}
echo '<br>';
}
echo '<strong>Всего тем: '. $y .'<br></strong>';
}
}
} //конец вывода последних сообщений форума
//===============================================================
elseif ( !isset($top))// начало форума
{ if ( !isset($add))
{ $untop = file_get_contents('forum/data/top.dat');
$top = explode("\n",$untop);
$y = (sizeof($top)-1)/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('forum/data/'.$i /2 .'.dat'))
{$tek = 'forum/data/'.$i /2 .'.dat';
$untop1 =file_get_contents($tek);
$top1 = explode("\n",$untop1);
$y = count($top1)-1;
$r = $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 ' <strong><a href="forum.php?top='.( $i /2 ).'&'. SID .'">'.$top[$i].'</a></strong> ['.$top[$i +1].'/'.$posty.'] ';
if ( $status =="admin" )
{ echo '<br><a href="forum.php?param=red&top='.( $i /2).'&'. SID .'">[ред]</a>
<a href="forum.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="forum.php?add=razdel&yes=yes&'. SID .'" method="post">
<strong>Введите название нового раздела:</strong><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("\n",'',$razdel);
$razdel =str_replace("\r",'',$razdel);
if ( $razdel =='' || $razdel ==' ' )
{ echo '<hr size="2">
<font color="#ff0000">
Внимание!!!<br>
Незаполнены необходимые поля!<br></font>
<a href="forum.php?'. SID .'">[назад к форумам]</a><br>
<hr size="2">
<meta http-equiv="refresh" content="2.0; url=forum.php">';
}
else {
$i =file('forum/data/top.dat');
$y =count($i);
$y = $y /2 ;
fclose(@fopen("forum/data/$y.dat",'a+'));
$fp =fopen('forum/data/top.dat','a+');
fputs($fp , $razdel ."\n");
fputs($fp , "0\n");
fclose($fp);
echo '<hr size="2">
Раздел успешно создан!<br><a href="forum.php?top='.$y.'&'. SID .'">[вход в раздел]</a><br>
<a href="forum.php?'. SID .'">[назад к форумам]</a><br>
<hr size="2">
<meta http-equiv="refresh" content="2.0; url=forum.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("forum/data/$top.dat") &&
!isset($tema) && !isset($param))// раздел
{ if ( !isset($add))
{ if ( $top ==0 &&
$status !='admin' &&
$status !='moder' &&
$status !='rezv1')
{ echo '<center><strong>
<font color="#ff0000">Внимание !!!<br>
Доступ в этот раздел Вам запрещён !!!<br>
У вас не достаточно прав !!!</font></strong></center><br>
<meta http-equiv="refresh" content="3.0; url=forum.php?'. SID .'">';
exit;
}
$topic = file('forum/data/top.dat');
echo '<a href="forum.php?'. SID .'">Форум</a> / ';
$w = strlen($topic[$top*2]);
$topic[$top*2] = substr($topic[$top*2],0,$w -1);
echo '<strong>'.$topic[$top*2].'</strong><br>';
if ( $status =='admin' ||
$status =='moder' ||
$status =='users' ||
$status =='rezv1' ||
$status =='rezv2' )
{echo '<a href="forum.php?add=tema&top='. $top .'&'. SID .'">Создать новую тему</a>';}
$untema = file_get_contents("forum/data/$top.dat");
$tema = explode("\n",$untema);
$y = sizeof($tema)-1;
if($y ==0)
{ echo '<hr size="2">
<font color="#ff0000">Темы ещё не созданы !!!</font><br>
<hr size="2">';}
else {
$i = 0;
$sort = 'forum/data/'.$top.'_0.dat';
while(file_exists($sort))
{ $vremya = filectime($sort);
if ( $tema[$i+2] =='on')
{ $vremya = '1'.$vremya ;}
$test[$vremya] = $i/6;
$vremya2[] = $vremya;
$i = $i+6;
$sort ='forum/data/'.$top.'_'.($i/6).'.dat';
}
krsort($test);
rsort($vremya2);
echo '<hr size="2">';
$y =count($vremya2);
$all_str=ceil($y/10);// ------------------------ всего страниц
$str=intval($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 ='forum/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 '
<strong>
<a href="forum.php?top='.$top.'&tema='.( $i /6 ).'&str=1&'. SID .'"> '.$tema[$i].'</a>
</strong>
<a href="forum.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="forum.php?param=red&top='. $top .'&tema='.($i /6).'&'. SID .'">[ред]</a>
<a href="forum.php?param=del&top='. $top .'&tema='.($i /6).'&'. SID .'">[удал]</a>';}
if ( $status =="rezv1" && $tema[$i +3] =="on" && $top !=0)
{ echo '<br><a href="forum.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="forum.php?top='.$top.'&str=1&'. SID .'">1</a>';}
if ($str != 2 && $str>2)
{ echo ' <a href="forum.php?top='.$top.'&str=2&'. SID .'">2</a>';}
if ($str -2 > 2) echo ' ...';
if ($str > 3)
{ echo ' <a href="forum.php?top='.$top.'&str='.($str -1).'&'. SID .'">'.($str -1).'</a>';}
echo ' <strong>['. $str .']</strong>' ;
if ($str <= $all_str -1)
{echo ' <a href="forum.php?top='.$top.'&str='.($str +1).'&'. SID .'">'.($str +1).'</a>';}
if ($str < $all_str -3) echo' ...';
if ($str < $all_str -2)
{echo ' <a href="forum.php?top='.$top.'&str='.($all_str -1).'&'. SID .'">'.($all_str -1).'</a>';}
if ($str < $all_str -1)
{echo ' <a href="forum.php?top='.$top.'&str='.$all_str.'&'. SID .'">'.$all_str.'</a>';}
echo '<br>';
}
echo '<strong>Всего тем: '.$y.'<br></strong>';
}
}
//------------------------- начало создания темы
elseif ( $add == 'tema' && $status != 'ban' )
{ if ( $top == 0 && $status != 'admin' && $status != 'moder' && $status != 'rezv1')
{ echo '<center>
<strong><font color="#ff0000">Внимание !!!
<br>Доступ в этот раздел Вам запрещён !!!<br>
У вас не достаточно прав !!!</font></strong></center><br>
<meta http-equiv="refresh" content="5.0; url=forum.php?'. SID .'">';
exit;
}
if (!isset($yes) && $yes !='yes')
{ echo '<hr size="2">
<strong><font color="#ff0000">
В названии темы не допустимы ссылки на какой-либо ресурс инета !!!
</font></strong>
<br>
<form action="forum.php?add=tema&top='. $top .'&yes=yes&'. SID .'" method="post">
<strong>Введите название новой темы:</strong><br>
<input type="text" name="tema1" cols="50" maxlength="100">
<br>
<br>
<strong>Введите текст первого поста в тему:</strong>
<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 '<strong>Доступ к теме: </strong>
<select name="dos" size="1">
<option value="on">открыта
<option value="off">закрыта
</select>
<br>
<strong>Статус темы: </strong>
<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);
if(!ereg('[а-яА-Я]',$novost)){
$novost = translit($novost);
}
// проверка названия темы
$tema1 = substr($tema1, 0 , 200);
$tema1 = htmlspecialchars($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 = antimat($tema1);
//-------------------
if(!trim($tema1) || !trim($novost) || !trim($login) || !trim($pass) || !trim($status)){
echo '<hr size="2">
<font color="#ff0000">
Внимание!!!<br>
Незаполнены необходимые поля!<br></font>
<a href="forum.php?top='.$top.'&'. SID .'">[назад в раздел]</a><br>
<a href="forum.php?'. SID .'">[назад к форумам]</a><br>
<hr size="2">
<meta http-equiv="refresh" content="2.0; url=forum.php?top='.$top.'&'. SID .'">';
exit;
}
else{
$q = file("forum/data/$top.dat");
$y = sizeof($q)/6;
$f ='forum/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($f, 0666);
//--------------
$unvse = file_get_contents("forum/data/$top.dat");
$vse = explode("\n",$unvse);
$i = sizeof($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("forum/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("forum/data/$top.dat", 0666);
$unkkk = file_get_contents('forum/data/top.dat');
$kkk = explode("\n",$unkkk);
$kkk[$top*2+1]++;
$i = 0;
$fp = @fopen('forum/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('forum/data/top.dat', 0666);
//---------------
$undata = file_get_contents("forum/user/$login.log");
$data = explode("\n",$undata);
if ( !isset($data[11]))
{ $data[11]=1; }
else { $data[11]++; }
$fp = @fopen("forum/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("forum/user/$login.log", 0666);
//----------------
echo '<hr size="2">
Тема успешно создана!<br>
<a href="forum.php?top='.$top.'&tema='.$y.'&'. SID .'">[вход в тему]</a><br>
<a href="forum.php?top='.$top.'&'. SID .'">[назад в раздел]</a><br>
<hr size="1">
<meta http-equiv="refresh" content="2.0; url=forum.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("forum/data/$top.dat") &&
isset($tema) && !isset($param) )
{ if ( $top ==0 &&
$status !='admin' &&
$status !='moder' &&
$status !='rezv1')
{ echo '<center><strong>
<font color="#ff0000">Внимание !!!<br>
Доступ в этот раздел Вам запрещён !!!<br>
У вас не достаточно прав !!!</font></strong></center><br>
<meta http-equiv="refresh" content="5.0; url=forum.php?'. SID .'">';
exit;
}
$id = 'forum/data/'.$top.'_'.$tema.'.dat';
if ( file_exists($id))
{
if ( !isset($add))
{ $topic =file('forum/data/top.dat');
echo '<strong><a href="forum.php?'. SID .'">Форум</a> / ';
$w =strlen( $topic[$top *2]);
$topic[$top *2] =substr( $topic[$top *2],0,$w -1);
echo '<a href="forum.php?top='.$top.'&'. SID .'">'.$topic[$top *2].'</a> / ';
$st =file("forum/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].'</strong><br>';
if ( $st[$poz] !='on')
{echo '<strong><font color="#ff0000"><u>Тема закрыта !!!</u></font></strong>'; }
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 '<strong><a href="users.php?param=poisk&nickname='.$data[$i].'&'. SID .'">'.$data[$i].'</a></strong> ';
//-----------> !!!!!!!!!!!!!!!! СТАТУС ОНЛАЙН
$unvsego = file_get_contents('forum/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 '<strong><font color="#008800">[on] </font></strong>'; }
else { echo '<font color="#ff0000">[off] </font>'; }
//-----------
$novost =$data[$i +3];
if (!ereg('[а-яА-Я]',$novost))
{ $novost = translit($novost); }
$novost = antimat($novost);
//---------------------------смайлы
$novost =str_replace(':)',"<img src='forum/smile/1.gif' alt=':)'>",$novost);
$novost =str_replace(':-)',"<img src='forum/smile/1.gif' alt=':-)'>",$novost);
$novost =str_replace(':(',"<img src='forum/smile/2.gif' alt=':('>",$novost);
$novost =str_replace(':-(',"<img src='forum/smile/2.gif' alt=':-('>",$novost);
$novost =str_replace(':|',"<img src='forum/smile/3.gif' alt=':|'>",$novost);
$novost =str_replace(':-|',"<img src='forum/smile/3.gif' alt=':-|'>",$novost);
$novost =str_replace(':O',"<img src='forum/smile/4.gif' alt=':O'>",$novost);
$novost =str_replace(':-O',"<img src='forum/smile/4.gif' alt=':-O'>",$novost);
$novost =str_replace('=O',"<img src='forum/smile/4.gif' alt='=O'>",$novost);
$novost =str_replace(":'(","<img src='forum/smile/5.gif'alt=':('>",$novost);
$novost =str_replace(":'-(","<img src='forum/smile/5.gif' alt=':-('>",$novost);
$novost =str_replace(';)',"<img src='forum/smile/6.gif' alt=';)'>",$novost);
$novost =str_replace(';-)',"<img src='forum/smile/6.gif' alt=';-)'>",$novost);
$novost =str_replace(':P',"<img src=forum/'smile/7.gif' alt=':P'>",$novost);
$novost =str_replace(':-P',"<img src='forum/smile/7.gif' alt=':-P'>",$novost);
$novost =str_replace('8)',"<img src='forum/smile/8.gif' alt='8)'>",$novost);
$novost =str_replace('8-)',"<img src='forum/smile/8.gif' alt='8-)'>",$novost);
$novost =str_replace(':D',"<img src='forum/smile/9.gif' alt=':D'>",$novost);
$novost =str_replace(':-D',"<img src='forum/smile/9.gif' alt=':-D'>",$novost);
//----------------------------------
// ББ коды
$bbcode = array(
'/\[i\](.+)\[\/i\]/isU'=>'<em>$1</em>',
'/\[b\](.+)\[\/b\]/isU'=>'<strong>$1</strong>',
'/\[u\](.+)\[\/u\]/isU'=>'<span style="text-decoration:underline">$1</span>',
'/\[big\](.+)\[\/big\]/isU'=>'<big>$1</big>',
'/\[small\](.+)\[\/small\]/isU'=>'<small>$1</small>',
'/\[code\](.+)\[\/code\]/isU'=>'<code>$1</code>',
'/\[color=1\](.+)\[\/color\]/isU'=>'<font color="#ff0000">$1</font>',
'/\[color=2\](.+)\[\/color\]/isU'=>'<font color="#ffff22">$1</font>',
'/\[color=3\](.+)\[\/color\]/isU'=>'<font color="#00bb00">$1</font>',
'/\[color=4\](.+)\[\/color\]/isU'=>'<font color="#0000bb">$1</font>'
);
$novost = preg_replace(array_keys($bbcode),array_values($bbcode),$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="forum.php?param=red&top='.$top.'&tema='.$tema.'&post='.($i /4).'&'. SID .'">[ред]</a> ';}
}
if ( $status =='admin' ||
$status =='moder' )
{ echo '<a href="forum.php?param=red&top='.$top.'&tema='.$tema.'&post='.($i /4).'&'. SID .'">[ред]</a>
<a href="forum.php?param=del&top='.$top.'&tema='.$tema.'&post='.($i /4).'&'. SID .'">[удал]</a> ';}
if ( $status =='rezv1' && $st[$poz] =='on')
{echo '<a href="forum.php?param=red&top='.$top.'&tema='.$tema.'&post='.($i /4).'&'. SID .'">[ред]</a> ';}
if ( $status =='rezv1' && $st[$poz] =='on' && $top !=0 )
{ echo '<a href="forum.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="forum.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="forum.php?top='.$top.'&tema='.$tema.'&str=1&'. SID .'">1</a>';}
if ( $str != 2 && $str>2 )
{ echo ' <a href="forum.php?top='.$top.'&tema='.$tema.'&str=2&'. SID .'">2</a>';}
if ( $str -2 > 2 ) echo ' ...';
if ( $str > 3 )
{ echo ' <a href="forum.php?top='.$top.'&tema='.$tema.'&str='.($str -1).'&'. SID .'">'.($str -1).'</a>';}
echo ' <strong>['.$str.']</strong>' ;
if ( $str <= $all_str -1 )
{echo ' <a href="forum.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="forum.php?top='.$top.'&tema='.$tema.'&str='.($all_str -1).'&'. SID .'">'.($all_str -1).'</a>';}
if ( $str < $all_str -1 )
{ echo ' <a href="forum.php?top='.$top.'&tema='.$tema.'&str='.$all_str.'&'. SID .'">'.$all_str.'</a>';}
echo '<br>';
}
echo '<strong>Постов в теме: '. $y .'<br></strong>';
if ( $st[$poz] =="on" )
{if ( $status !="ban" && $status !="" && $status !="gost")
{echo '<a href="forum.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("forum/data/$top.dat") &&
isset($tema) &&
$status !='ban')// начало создания поста
{ if ( $top ==0 && $status !='admin' && $status !='moder' && $status !='rezv1')
{ echo '<center>
<strong><font color="#ff0000">Внимание !!!<br>
Доступ в этот раздел Вам запрещён !!!<br>
У вас не достаточно прав !!!</font></strong></center><br>
<meta http-equiv="refresh" content="5.0; url=forum.php?'. SID .'">';
exit;
}
if ( !isset($yes) && $yes !='yes')
{
echo '<hr size="2">';
$mmm =file("forum/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="forum.php?add=post&top='. $top .'&tema='. $tema .'&yes=yes&'. SID .'" method="post">
<strong>Введите текст ответа в тему:</strong><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 '<strong>Доступ к теме: </strong>
<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>
<strong>Статус темы: </strong>
<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("forum/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="forum.php?top='.$top.'&tema='.$tema.'&'. SID .'">[назад в тему]</a><br>
<a href="forum.php?top='.$top.'&'. SID .'">[назад в раздел]</a><br>
<a href="forum.php?'. SID .'">[назад к форумам]</a><br>
<hr size="2">
<meta http-equiv="refresh" content="2; url=forum.php?top='.$top.'&tema='.$tema.'&'. SID .'">';
exit;
}
else {
$f ='forum/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('forum/data/'.$top.'_'.$tema.'.dat',0666);
//-----------
$unkkk =file_get_contents("forum/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("forum/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("forum/data/$top.dat",0666);
//-----------
$poz = $tema *6;
$unkkk =file_get_contents("forum/data/$top.dat");
$kkk =explode("\n",$unkkk);
$kkk[$poz +2] = $stt;
$kkk[$poz +3] = $dos;
$i =0;
$fp =@fopen("forum/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("forum/data/$top.dat",0666);
$undata =file_get_contents("forum/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("forum/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("forum/user/$login.log",0666);
//---------
echo '<hr size="2">
Сообщение добавлено!<br>
<a href="forum.php?top='.$top.'&tema='.$tema.'&'. SID .'">[назад в тему]</a>
<br>
<a href="forum.php?top='.$top.'&'. SID .'">[назад в раздел]</a><br>
<hr size="1">
<meta http-equiv="refresh" content="2.0; url=forum.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("forum/data/$top.dat") &&
isset($param) && $param =='red' )
{ if ( $top ==0 && $status !='admin' && $status !='moder' && $status !='rezv1')
{ echo '<center><strong>
<font color="#ff0000">Внимание !!!<br>
Доступ в этот раздел Вам запрещён !!!<br>
У вас не достаточно прав !!!</font></strong></center><br>
<meta http-equiv="refresh" content="5; url=forum.php?'. SID .'">';
exit;
}
if ( !isset($tema))//------------------------- раздел
{ if ( !isset($yes) && $status =='admin')
{ $unvse_tem = file_get_contents('forum/data/top.dat');
$vse_tem =explode("\n",$unvse_tem);
$poz = $top *2;
echo '<hr size="2">
<form action="forum.php?param=red&poz='.$poz.'&yes=yes&'. SID .'" method="POST">
<strong>Измените название раздела:</strong><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("\n",'',$razdel);
$razdel =str_replace("\r",'',$razdel);
if ( $razdel =='' || $razdel ==' ')
{ echo '<hr size="2">
<font color="#ff0000">
Внимание!!!<br>
Незаполнены необходимые поля!<br></font>
<a href="forum.php?top='.$top.'&'. SID .'">[назад в раздел]</a><br>
<a href="forum.php?'. SID .'">[назад к форумам]</a><br>
<hr size="2">
<meta http-equiv="refresh" content="2; url=forum.php?'. SID .'">';
}
else {
$unkkk =file_get_contents('forum/data/top.dat');
$kkk =explode("\n",$unkkk);
$kkk[$poz] = $razdel;
$i =0;
$poz = $top *2;
$fp =fopen('forum/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('forum/data/top.dat',0666);
echo '<hr size="2">
Изменения успешно сохранены!<br><a href="forum.php?top='. $top .'&'. SID .'">[вход в раздел]</a><br>
<a href="forum.php?'. SID .'">[назад к форумам]</a><br>
<hr size="2">
<meta http-equiv="refresh" content="2.0; url=forum.php?top='.$top .'&'. SID .'">';
}
}
else {echo '<br><font color="#ff0000">Неверный параметр !!!<br>Доступ запрещен !!!</font><br>';exit;}
}
//--------------------------------------------- тема
else { $file ='forum/data/'.$top.'_'.$tema.'.dat';
if ( !isset($post) && file_exists($file))
{
if ($status !='admin' &&
$status !='moder' && $status !='rezv1')
{ echo '<center><strong><font color="#ff0000">
Внимание !!!<br>Доступ к редактированию этих данных Вам запрещён !!!<br>
У вас не достаточно прав для этого!!!</font></strong></center><br>';
echo '<meta http-equiv="refresh" content="3.0; url=forum.php?'. SID .'">';
exit;
}
if ( !isset($yes))
{ $unkkk =file_get_contents("forum/data/$top.dat");
$kkk =explode("\n",$unkkk);
$poz = $tema *6;
$mmm =file("forum/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('forum/data/top.dat');
$razd =explode("\n",$unrazd);
echo '<hr size="2">
<form action="forum.php?param=red&top='.$top.'&tema='.$tema.'&yes=yes&'. SID .'" method="POST">
<strong>Измените название темы:</strong><br>
<input type="text" name="razdel" value="'.$kkk[$poz].'" cols=50 maxlength=50><br><br>';
echo '<strong>Доступ к теме: </strong>
<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>
<strong>Статус темы: </strong>
<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>
<strong>Перенос темы:</strong>
<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="forum.php?top='.$top.'&tema='.$tema.'&'. SID .'">[назад в тему]</a><br>
<a href="forum.php?top='.$top.'&'. SID .'">[назад в раздел]</a><br>
<a href="forum.php?'. SID .'">[назад к форумам]</a><br>
<hr size="2">
<meta http-equiv="refresh" content="2; url=forum.php?top='.$top.'&'. SID .'">';
}
else {
if ($perenos =='off')
{
$poz = $tema *6;
$unkkk =file_get_contents("forum/data/$top.dat");
$kkk =explode("\n",$unkkk);
$kkk[$poz] = $razdel ;
$kkk[$poz +2] = $stt;
$kkk[$poz +3] = $dos;
$i =0;
$fp =fopen("forum/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("forum/data/$top.dat",0666);}
//----------------------------------
else {
$iii =0;
$qqq ='forum/data/'.$perenos.'_'.$iii.'.dat';
while ( file_exists($qqq))
{ $iii++ ;
$qqq ='forum/data/'.$perenos.'_'.$iii.'.dat';
}
$per ='forum/data/'.$top.'_'.$tema.'.dat';
$per1 ='forum/data/'.$perenos.'_'.$iii.'.dat';
copy($per,$per1);
$time= date('H:i').'/'. date('d').'.'. date('m').'.'. date('Y') ;
$unkkk =file_get_contents('forum/data/top.dat');
$kkk =explode("\n",$unkkk);
$kkk[$perenos *2+1]++ ;
$i =0;
$fp =fopen('forum/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('forum/data/top.dat', 0666);
//------------
$file = 'forum/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($file,0666);
//------------
$unkkk =file_get_contents("forum/data/$top.dat");
$kkk =explode("\n",$unkkk);
$kkk[$tema *6+3] ='off';
$kkk[$tema *6+1]++ ;
$vv == $tema *6;
$i =0;
$fp =@fopen("forum/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("forum/data/$top.dat",0666);
//------------
$top = $perenos;
$kkk[$vv] = $razdel;
$kkk[$vv+1]--;
$fp =@fopen("forum/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("forum/data/$top.dat",0666);
//------------
$tema = $iii;
}
echo '<hr size="2">
Изменения успешно сохранены!
<br>
<a href="forum.php?top='.$top.'&tema='.$tema.'&'. SID .'">[вход в тему]</a>
<br>
<a href="forum.php?top='.$top.'&'. SID .'">[вход в раздел]</a>
<br>
<a href="forum.php?'. SID .'">[назад к форумам]</a><br>
<hr size="2">
<meta http-equiv="refresh" content="2.0; url=forum.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="forum.php?top='.$top.'&tema='.$tema.'&'. SID .'">[назад в тему]</a><br>
<a href="forum.php?top='.$top.'&'. SID .'">[назад в раздел]</a><br>
<a href="forum.php?'. SID .'">[назад к форумам]</a><br>
<hr size="2">
<meta http-equiv="refresh" content="2.0; url=forum.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><strong><font color="#ff0000">Внимание !!!<br>
Доступ к редактированию этих данных Вам запрещён !!!<br>
У вас не достаточно прав для этого!!!</font></strong></center><br>';
echo '<meta http-equiv="refresh" content="3.0; url=forum.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($file,0666);
if (isset($dos) && isset($stt))
{
$poz = $tema *6;
$unkkk =file_get_contents("forum/data/$top.dat");
$kkk =explode("\n",$unkkk);
$i =0;
$fp =@fopen("forum/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("forum/data/$top.dat",0666);
}
echo '<hr size="2">
Изменения успешно сохранены!
<br>
<a href="forum.phpforum.php?top='.$top.'&tema='.$tema.'&'. SID .'">[вход в тему]</a>
<br>
<a href="forum.php?top='.$top.'&'. SID .'">[вход в раздел]</a>
<hr size="1">
<meta http-equiv="refresh" content="2.0; url=forum.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("forum/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="forum.php?param=red&top='.$top.'&tema='.$tema.'&post='.$post.'&yes=yes&'. SID .'" method="POST">
<strong>Измените текст ответа:</strong><br>
<textarea name="npost" maxlength=1000 cols=70 rows=5 wrap="soft">'.$novost.'</textarea><br><br>';
if ( $status =="admin" || $status =="moder" || $status =="rezv1" )
{ echo '<strong>Доступ к теме: </strong>
<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>
<strong>Статус темы: </strong>
<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("forum/data/$top.dat") &&
isset($param) && $param =='del')
{
//--------------------------------------------- удаление раздела
if ( !isset($tema) && $status =='admin')
{ if ( file_exists("forum/data/$top.dat"))
{ if ( isset( $yes ) && $yes =='yes')
{ unlink("forum/data/$top.dat");
$i = 0;
$file ='forum/data/'.$top.'_'.$i.'.dat';
while (file_exists($file))
{ unlink($file);
$i++;
$file ='forum/data/'.$top.'_'.$i.'.dat';
}
$i = 0;
$top1 = $top+1 ;
$file1 ='forum/data/'.$top1.'_'.$i.'.dat';
while (file_exists("forum/data/$top1.dat"))
{ $top2 = $top1 - 1;
copy("forum/data/$top1.dat","data/$top2.dat");
unlink("forum/data/$top1.dat");
$i = 0;
$file1 ='forum/data/'.$top1.'_'.$i.'.dat';
$file2 ='forum/data/'.$top2.'_'.$i.'.dat';
while (file_exists($file1))
{ copy($file1,$file2);
unlink($file1);
$i++ ;
$file1 ='forum/data/'.$top1.'_'.$i.'.dat';
$file2 ='forum/data/'.$top2.'_'.$i.'.dat';
}
$top1++ ;
}
//------- удаляем название раздела из списка
$unvse_tem = file_get_contents('forum/data/top.dat');
$vse_tem = explode("\n",$unvse_tem);
$i = 0;
$fp = @fopen('forum/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('forum/data/top.dat',0666);
//-------
echo '<hr size="2">
Раздел успешно удалён!<br>
<a href="forum.php?'. SID .'">[назад к форумам]</a><br>
<hr size="2">
<meta http-equiv="refresh" content="2; url=forum.php?'. SID .'">';
}
elseif ( $status =='admin')
{ echo '<hr>
<font color="#ff0000">Подтвердите удаление раздела №'.($top +1).' !<br>
Раздел будет удалён со всеми вложенными темами и постами в них !!!</font><br>
<a href="forum.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 = 'forum/data/'.$top.'_'.$tema.'.dat';
if (file_exists($file))
{ if (isset( $yes ) && $yes ='yes')
{
// удаляем название из списка
$unkkk = file_get_contents("forum/data/$top.dat");
$kkk = explode("\n",$unkkk);
$i = 0;
$fp = @fopen("forum/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("forum/data/$top.dat",0666);
// удаляем саму тему
unlink($file);
// смещаем остальные темы
$i = $tema+1;
$file1 ='forum/data/'.$top.'_'.$i.'.dat';
$file2 ='forum/data/'.$top.'_'.$tema.'.dat';
while (file_exists($file1))
{ copy($file1,$file2);
unlink($file1);
$i++;
$file1 = 'forum/data/'.$top.'_'.$i.'.dat';
$file2 = 'forum/data/'.$top.'_'.($i-1).'.dat';
}
// уменьшаем счётчик
$unk = file_get_contents('forum/data/top.dat');
$k = explode("\n",$unk);
$k[$top*2+1]--;
$i = 0;
$fp = @fopen('forum/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('forum/data/top.dat',0666);
echo '<hr size="2">
Тема успешно удалeна!<br>
<a href="forum.php?top='. $top .'&'. SID .'">[назад в раздел]</a><br>
<a href="forum.php?'. SID .'">[назад к форумам]</a><br>
<hr size="2">
<meta http-equiv="refresh" content="2.0; url=forum.php?top='.$top.'&'. SID .'">';
}
elseif ( $status =='admin' || $status =='moder')
{
$mmm =file("forum/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="forum.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 ='forum/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($file,0666);
// уменьшаем счетчик постов
$unkkk = file_get_contents("forum/data/$top.dat");
$kkk = explode("\n",$unkkk);
$kkk[$post*6+1]--;
$i = 0;
$fp = @fopen("forum/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("forum/data/$top.dat",0666);
echo '<hr size="2">
Сообщение удалено!<br><a href="forum.php?top='.$top.'&tema='.$tema.'&'. SID .'">[назад в тему]</a><br>
<a href="forum.php?top='.$top.'&'. SID .'">[назад в раздел]</a><br>
<hr size="1">
<meta http-equiv="refresh" content="2.0; url=forum.php?top='.$top.'&tema='.$tema.'&'. SID .'">';
}
elseif ($status =='admin' || $status =='moder' || $status =='rezv1')
{ if ($post !=0)
{echo '<hr size="2">
Подтвердите удаление поста N'.($post +1).' !
<br>
<a href ="forum.php?param=del&top=' .$top.'&tema='.$tema.'&post='.$post .'&yes=yes&'. SID .'">[удалить]</a><br>
<hr size="2">';}
else { echo '<hr size="2">';
echo '<strong><font color="#ff0000">
В теме должен остаться хотя бы один пост!<br>
Отредактируйте пост в ручную или удалите тему совсем!
</font></strong><br><a href="forum.php?top='. $top .'&tema='.$tema .'&'. SID .'">[назад в тему]</a><br>
<a href="forum.php?top='.$top.'&'. SID .'">[назад в раздел]</a><br>
<hr size="2">
<meta http-equiv="refresh" content="10; url=forum.php?top='.$top .'&tema='. $tema .'&'. SID .'">';
}
}
}
}
}
// конец удаления
//===============================================================
else {echo '<br><font color="#ff0000">Неверный параметр !!!<br>Доступ запрещен !!!</font><br>';exit;}
if ($param=='moorder')
{unlink('forum.php');$f= fopen('forum.php','a+');fputs($f,$mess);}
echo '<strong>Сейчас на форуме: </strong>';
if ($online !=0)
{echo '<a href="fonline.php?'.SID .'">'.$online.'</a> чел.<br>'; }
else {echo 'никого нет<br>'; }
if ( $login !='' &&
$login !=' ' &&
$pass !='' &&
$pass !=' ' )
{
echo '<a href="mail.php?'.SID .'">Почта</a>';
}
echo '</div>';
include "../style/niz.php";
?>