Просмотр файла forum/index.php

Размер файла: 24.91Kb
<?php
// mod by Golem http://veplog.ru

require_once"../template/start.php";
require_once"../template/regglobals.php";
require_once"../template/config.php";
require_once"../template/functions.php";
require_once"../template/antidos.php";
require_once"../template/cookies.php";
require_once"../template/gzip.php";
require_once"../template/header.php";
require_once"../template/referer.php";
include_once"../themes/$config_themes/index.php";
include_once"../template/isset.php";

$rand = rand(100,999);
if (isset($_GET['page'])){$page = (int)$_GET['page'];} else {$page = 0;}
if (isset($_GET['event'])){$event = $_GET['event'];} else {$event = "";}

echo '<div class="tp">Форум</div>';

if ($provlog==$_SESSION['log'] && $provpar==md5($_SESSION['par']) && $_SESSION['log']!="" && md5($_SESSION['par'])!="") {

if (isset($_GET['event'])){
if (isset($_GET['msg']) or isset($_GET['name'])){header ("Location: index.php?fid=$fid&isset=nopost&".SID); exit;}
if (($_GET['event']=="addtopic") or ($_GET['event']=="addanswer"))  {

//--------------------- Новый антифлуд -----------------------------//
if($config_floodstime > 0){
if(flooder($ip, $php_self) == TRUE ){header ("Location: index.php?fid=$fid&isset=antiflood&".SID); exit;}
$flood_file = fopen(BASEDIR."local/flood.dat", "a+");
flock ($flood_file,LOCK_EX);
fputs ($flood_file, "$sitetime|$ip|$php_self|\r\n");
fflush($flood_file);
flock ($flood_file,LOCK_UN);
fclose($flood_file);
}

//--------------------- Карантин -----------------------------//

if($config_karantin > 0){
if($udata[6]+$config_karantin>$sitetime){header ("Location: index.php?fid=$fid&isset=karantin&".SID); exit;}
}


$zag=$_POST['zag']; $msg=$_POST['msg']; $fid=$_GET['fid'];

if (isset($_POST['page'])) {$page=$_POST['page'];}
if ($_GET['event']=="addanswer") {
//------------------------ Проверка существования темы --------------------//
$provfile=file("../local/dataforum/$id.dat");
$provfile = array_reverse($provfile);
$provmas = explode("|",$provfile[0]);

if($provmas[3]!=$zag){header ("Location: index.php?fid=$fid&".SID); exit;}
if (!ctype_digit($id)) {header ("Location: index.php?".SID);exit;}
}
if (!ctype_digit($fid)) { header ("Location: index.php?".SID);exit;}

$mainlines = file("../local/dataforum/mainforum.dat");
$i=count($mainlines);
do {$i--; $dt=explode("|", $mainlines[$i]);
if ($dt[0]==$fid) {$realfid=$i; if ($dt[1]=="razdel") {
header ("Location: index.php?".SID); exit;
}}
} while($i>0);


if (!isset($realfid)) { header ("Location: index.php?".SID); exit;}
if (utf_strlen(trim($zag))<5 || utf_strlen($zag)>50) { header ("Location: index.php?fid=$fid&isset=nopost&".SID); exit;}
if (utf_strlen(trim($msg))<5  || utf_strlen($msg)>1000) { header ("Location: index.php?fid=$fid&isset=nopost&".SID); exit;}

//------------------------------ Запись в профиль ----------------------------//
$ufile = file_get_contents(BASEDIR."local/profil/$log.prof");
$udata = explode(":||:",$ufile);

$udata[14]=$ip;
$udata[8]++;
$udata[36]++;
$udata[41]++;

$utext="";
for ($u=0; $u<$config_userprofkey; $u++){
$utext.=$udata[$u].':||:';}

if($udata[0]!="" && $udata[1]!="" && $udata[4]!="" && $utext!=""){
$fp=fopen(BASEDIR."local/profil/$log.prof","a+");
flock($fp,LOCK_EX);
ftruncate($fp,0);
fputs($fp,$utext);
fflush($fp);
flock($fp,LOCK_UN);
fclose($fp);
unset($utext);
}
//////////////////////////////////////////////////////////////////////////////////////////////////////////
$f = file("../local/local.dat");
$u = explode("|",$f[0]);
$u[2]++;
$t= $u[0].'|'.$u[1].'|'.$u[2].'|'.$u[3].'|'.$u[4].'|'.$u[5].'|'.$u[6].'|'.$u[7].'|'.$u[8].'|'.$u[9].'|'.$u[10].'|';

$fp = fopen("../local/local.dat","a+");
flock ($fp,LOCK_EX);
ftruncate ($fp,0);
fputs($fp,$t);
fflush ($fp);
flock ($fp,LOCK_UN);
fclose($fp);
chmod($fp, 0777);
chmod("../local/local.dat", 0777);

if($id!=""){
$locked="";
$provfile=file("../local/dataforum/$id.dat");
$provfile = array_reverse($provfile);
$provmas = explode("|",$provfile[0]);
if($provmas[10]=="ON"){$locked="ON";}
}

if ($_GET['event'] =="addtopic") {$id=unitime();}

$brow=check($brow);
$log=check($log);
$msg=check($msg);
$zag=check_full($zag);
$zag=no_br($zag);
$msg=no_br($msg,"<br>");
$msg=utf_wordwrap($msg,100,' ',1);

if($event=="addtopic" && $trans=="y") {$zag=transliter($zag);}
if($trans=="y"){$msg=transliter($msg);}

$zag=antimat($zag);
$msg=antimat($msg);
$msg=smiles($msg);

$text=$log.'|рус|'.$brow.', '.$ip.'|'.$zag.'|'.$msg.'|||'.$id.'|'.$fid.'|'.$sitetime.'|'.$locked.'|';
$text=no_br($text);

if (utf_strlen($zag)>36) {$zag=utf_substr($zag,0,30); $zag.="...";}

$lines=file("../local/dataforum/mainforum.dat");
$dt=explode("|", $lines[$realfid]); $dt[5]++;
if ($_GET['event']=="addtopic") {$dt[4]++;}

$txtdat=$dt[0].'|'.$dt[1].'|'.$dt[2].'|'.$id.'|'.$dt[4].'|'.$dt[5].'|'.$log.'|||'.$sitetime.'|'.$zag.'|';
$txtdat=no_br($txtdat);

$fp=fopen("../local/dataforum/mainforum.dat","a+");
flock ($fp,LOCK_EX);
ftruncate ($fp,0);
for ($i=0;$i<=(sizeof($lines)-1);$i++) {if ($i==$realfid) {fputs($fp,"$txtdat\r\n");} else {fputs($fp,$lines[$i]);}}
fflush ($fp);
flock ($fp,LOCK_UN);
fclose($fp);
chmod($fp, 0777);
chmod("../local/dataforum/mainforum.dat", 0777);
}


if ($_GET['event']=="addtopic")  {

$fp=fopen("../local/dataforum/topic$fid.dat","a+");
flock ($fp,LOCK_EX);
fputs($fp,"$text\r\n");
fflush ($fp);
flock ($fp,LOCK_UN);
fclose($fp);
chmod($fp, 0777);
chmod("../local/dataforum/topic$fid.dat", 0777);


//новый блок авто-удаления старых тем
$dfile=file("../local/dataforum/topic$fid.dat");
$di = count($dfile);

if ($di>$config_topforum) {
$poz=0; $result=0;
$dudata = explode("|",$dfile[$poz]);
while ($result!=3) {
if ($dudata[10]!='ON'){
unlink ("../local/dataforum/$dudata[7].dat");
unset($dfile[$poz]);
$result++;
}
$poz++;
$dudata = explode("|",$dfile[$poz]);
}

$dfp=fopen("../local/dataforum/topic$fid.dat","w");
flock ($dfp,LOCK_EX);
fputs($dfp, implode("",$dfile));
flock ($dfp,LOCK_UN);
fclose($dfp);
}
///////////////////////////////////////

$fp=fopen("../local/dataforum/$id.dat","a+");
flock ($fp,LOCK_EX);
fputs($fp,"$text\r\n");
fflush ($fp);
flock ($fp,LOCK_UN);
fclose($fp);
chmod($fp, 0777);
chmod("../local/dataforum/$id.dat", 0777);
////////////////////////////////////////////////////////////////////////////////////

header ("Location: index.php?fid=$fid&id=$id&isset=oktem&".SID);
exit;}


//----------------------- Закрытие тем --------------------------------//
if ($event=="zakr")  {
if($id!="" && $fid!=""){

$fileg=file("../local/dataforum/$id.dat");
$line=explode("|", $fileg[0]);

$fileg=array_reverse($fileg);
$ddat=explode("|", $fileg[0]);

if ($ddat[6]!="CLOSED" && $line[0]==$log && $udata[36]>500){

$text=$log.'|рус|'.$brow.', '.$ip.'|'.$ddat[3].'|Тема закрыта для обсуждения!||CLOSED|'.$id.'|'.$fid.'|'.$sitetime.'|'.$ddat[10].'|';

$text=stripslashes($text);
$fp=fopen("../local/dataforum/$id.dat","a+");
flock ($fp,LOCK_EX);
fputs($fp,"$text\r\n");
fflush ($fp);
flock ($fp,LOCK_UN);
fclose($fp);
chmod($fp, 0777);
chmod("../local/dataforum/$id.dat", 0777);

//Тема закрыта для обсуждения!
header ("Location: index.php?event=topic&fid=$fid&id=$id&".SID);
exit;
}}}


if ($event=="addanswer")  {

###########################
$lines2=file("../local/dataforum/$id.dat");
$lines2=array_reverse($lines2);
$ddd=explode("|", $lines2[0]);
if ($ddd[6]=="CLOSED"){
header ("Location: index.php?fid=$fid&isset=zakr&".SID);
exit;}
###################################

$fp=fopen("../local/dataforum/$id.dat","a+");
flock ($fp,LOCK_EX);
fputs($fp,"$text\r\n");
fflush ($fp);
flock ($fp,LOCK_UN);
fclose($fp);
chmod($fp, 0777);
chmod("../local/dataforum/$id.dat", 0777);

//-------------------- Перемещение топиков при обновлении-----------------------------//
$file=file("../local/dataforum/topic$fid.dat");
$i = count($file);


$udata = explode("|",$file[0]);

foreach($file as $index => $val){
$udata = explode("|",$file[$index]);
$udata2 = explode("|",$text);
if($udata[7]==$udata2[7]){

$fp=fopen("../local/dataforum/topic$fid.dat","w");
flock ($fp,LOCK_EX);
unset($file[$index]);
fputs($fp, implode("",$file));
flock ($fp,LOCK_UN);
fclose($fp);
chmod($fp, 0777);
chmod("../local/dataforum/topic$fid.dat", 0777);
}
}

$fp=fopen("../local/dataforum/topic$fid.dat","a+");
flock ($fp,LOCK_EX);
fputs($fp,"$text\r\n");
fflush ($fp);
flock ($fp,LOCK_UN);
fclose($fp);
chmod($fp, 0777);
chmod("../local/dataforum/topic$fid.dat", 0777);


//----------Текущая страница-----------//
$filek=file("../local/dataforum/$id.dat");
$countk=count($filek)-1;
$page=floor($countk/$config_forumpost)*$config_forumpost;

header ("Location: index.php?fid=$fid&id=$id&page=$page&isset=addon&".SID);
exit;}}}

/////////////////////////////////////////////////////////////////
//---редактирование постов---//
if ($event=="redanswer")  {

$lines2=file("../local/dataforum/$id.dat");
$edit=$_GET['edit'];
$ddd2=explode("|", $lines2[$edit]);
$lines2=array_reverse($lines2);
$ddd=explode("|", $lines2[0]);
$locked=str_replace("\r\n",$ddd[10]);
if ($ddd[9]=="CLOSED"){
header ("Location: index.php?fid=$fid&isset=zakr&".SID);
exit;}
if ($log!=$ddd2[0] &&
        $dostup!= 101 &&
		$dostup!= 102 &&
		$dostup!= 103 &&
		$dostup!= 105 )
		{header ("Location: index.php?fid=$fid&isset=posts&".SID);
         exit; }
if (($ddd2[9] +60 * 10) < time() &&
        $dostup!= 101 &&
		$dostup!= 102 &&
		$dostup!= 103 &&
		$dostup!= 105)
		{header ("Location: index.php?fid=$fid&isset=posts&".SID);
         exit; }
unset($lines2);
#####################
$file=file("../local/dataforum/$id.dat");
$fs=count($file)-1; 
$i="-1";
$edit=$_GET['edit'];
$fp=fopen("../local/dataforum/$id.dat","a+");
flock ($fp,LOCK_EX); 
ftruncate ($fp,0);
do {$i++; 
if ($i==$edit) 
    {$def=explode("|",$file[$i]);
	 $text=$def[0].'|рус|'.$def[2].'|'.$def[3].'|'.$msg.'<br>[red][Редактировал: '.$log.'<br>Дата: '.$date.' г.<br>Время: '.$time.'][/red]|'.$def[5].'|'. $def[6] .'|'.$def[7] .'|'.$def[8] .'|'.$def[9] .'|'.$locked ;
	 fputs($fp,"$text\r\n");
	 unset($def);} 
else {fputs($fp,$file[$i]);} 
} 
while($i < $fs);
fflush ($fp);
flock ($fp,LOCK_UN);
fclose($fp);
chmod("$fp", 0777);
header ("Location: index.php?fid=$fid&id=$id&page=$page&".SID);
exit;}

###################






if (isset($fid)) {
$mainlines=file("../local/dataforum/mainforum.dat");
$i=count($mainlines);
if (!ctype_digit($fid)) {
echo'<br>Критическая ошибка, отсутствует номер раздела!';
include_once"../themes/$config_themes/foot.php";
exit;}

do {$i--; $dt=explode("|", $mainlines[$i]);
if ($dt[0]==$fid) {$frname=$dt[1];}
} while($i >0);


if (isset($id)) {
if (!ctype_digit($id)) {
echo'<br>Критическая ошибка, отсутствует номер темы!';
include_once"../themes/$config_themes/foot.php";
exit;}

if (is_file("../local/dataforum/$id.dat")) {$lines=file("../local/dataforum/$id.dat"); $dtt=explode("|", $lines[0]); $frtname=$dtt[3]; $frtname.=" ->";} else {$frtname=""; $frname="";}} else {$frtname="";} } else {$frname=""; $frtname="";}


if (!isset($fid) and !isset($id))  {

if (!is_file("../local/dataforum/mainforum.dat")) {
echo'Разделы форума не созданы!<br><div class="btm">[<a href="../index.php">На главную</a>]</div>';
include_once"../themes/$config_themes/foot.php";
exit;}

$lines=file("../local/dataforum/mainforum.dat");
$datasize=sizeof($lines);
if ($datasize==0) {
echo'<br><br>Разделы форума не созданы!';
include_once"../themes/$config_themes/foot.php";
exit;}

$i=count($lines);
$n="0"; $a1="-1"; $u=$i-1;
$fid="0"; $itogotem="0"; $itogomsg="0";

//-------------------------Главная страница форума --------------------------//
echo'<div class=tpanel>';
echo'<a href="../forum/top.php">Топ-тем</a> | ';
echo'<a href="../forum/topusers.php">Топ-юзеров</a>';

if ($config_announcement==1){
echo'<br><small class="gr">';
include_once(BASEDIR."local/datamain/f_announcement.dat"); // Объявление
echo'</small>';}

echo'</div>';

if ($config_forumad==1){
echo'<div class="ad">';
include_once(BASEDIR."template/reklama_forum.php"); // Реклама
include_once(BASEDIR."template/reklama_forum2.php"); // Реклама 2
include_once(BASEDIR."template/reklama_forum3.php"); // Реклама 3
echo'</div>';}



do {$a1++; $dt=explode("|", $lines[$a1]);
if ($dt[1]=="razdel") {echo "$dt[2]";} else {
if (is_file("../local/dataforum/$dt[3].dat")) { $msgsize=sizeof(file("../local/dataforum/$dt[3].dat"));

############
echo'<div class="forum"><div class="r0">';
if ($msgsize>$config_forumpost) {for($zi=0; $zi<$msgsize;) {$zii=1+$zi/$config_forumpost; $page=$zi; $zi=$zi+$config_forumpost;}} else {$page=0;}} else {$page=0;}

//if ($dt[7]==$dates) {$dt[7]='Сегодня';}
$fid=$dt[0];
if (strlen($dt[10])>0) {$dt[10]='<a href="index.php?fid='.$fid.'&amp;id='.$dt[3].'&amp;page='.$page.'&amp;'.SID.'">'.$dt[10].'</a>';
}
echo '<img src="../images/img/forums.gif" alt="»"> <a href="index.php?fid='.$fid.'&amp;'.SID.'">'.$dt[1].'</a>';
echo '['.$dt[4].'/'.$dt[5].']</div>';


$itogotem=$itogotem+$dt[4];
$itogomsg=$itogomsg+$dt[5];
echo'</div>';
}
} while($a1 < $u);
########################
echo'<div class="panel">';
echo'[<a href="search.php?'.SID.'">Поиск</a>]<br>';
echo'[<a href="/new_post.php'.SID.'">Новые сообщения</a>]<br>';
echo'[<a href="../pages/faq.php'.SID.'">Правила сайта</a>]</div>';
echo'<div class="btm">[<a href="../index.php">На главную</a>]</div>';
########################
}
if (isset($_GET['fid']) and !isset($_GET['id'])) {
$fid=$_GET['fid']; if (!ctype_digit($fid)) {
echo'<br><br>Попытка взлома. Хакерам здесь не место.';
include_once"../themes/$config_themes/foot.php";
exit;}
$imax=count(file("../local/dataforum/mainforum.dat")); if (($fid>100) or (strlen($fid)==0)) { echo'<br><br>Раздел удален или не существует!';
include_once"../themes/$config_themes/foot.php";
exit;}
echo '<small><div class="tpanel"><a href="index.php?'.SID.'">Форум</a> | ';
echo '<b>'.$frname.'</b></small></div>';
echo '<div class="bhead">Темы: [<a href="addtem.php?fid='.$fid.'&amp;'.SID.'" class="green" accesskey="4"><font color=green>+</font></a>]</div>';

if (is_file("../local/dataforum/topic$fid.dat"))
{
$msglines=file("../local/dataforum/topic$fid.dat");
if (count($msglines)>0) {
$lines=file("../local/dataforum/topic$fid.dat");
//************************************************************//
$ups=0;
$unlines = array();

while (isset($lines[$ups]))
{ $well=explode("|", $lines[$ups]);
if ($well[10]!="ON")
{ $unlines[]= $lines[$ups]; }
$ups++;
}
$ups=0;
while (isset($lines[$ups]))
{ $well=explode("|", $lines[$ups]);
if ($well[10]=="ON")
{ $unlines[]= $lines[$ups]; }
$ups++;
}
unset($lines);
$lines=$unlines;
//************************************************************//
$i=count($lines); $n="0";
if (isset($_GET['page'])) {$page=$_GET['page'];} else {$page="0";}
if ($page>=$i) {$page=$i-1;}
if ($i-$page-$config_forumtem>=0) {$a1=$i-$page; $u=$a1-$config_forumtem;} else {$a1=$i-$page; $u=0;}
do {$a1--; $dt=explode("|", $lines[$a1]);



$filename=$dt[7];
$msgsize=sizeof(file("../local/dataforum/$filename.dat"));
if (is_file("../local/dataforum/$filename.dat")){


echo '<div class=forum><div class=r0>';
#########################
$lin=file("../local/dataforum/$filename.dat");
$lin=array_reverse($lin);
$dc=explode("|", $lin[0]);

if($dc[10]=="ON"){echo '>';}
elseif($dc[6]=="CLOSED"){echo '[-]';}
else{echo '';}

##########################################


echo '<a href="index.php?fid='.$fid.'&amp;id='.$dt[7].'&amp;'.SID.'">'.$dt[3].'</a> ['.$msgsize.']';

//////////////////////////////////////////////////////
$ba=ceil($msgsize/$config_forumpost);
$ba2=floor(($msgsize-1)/$config_forumpost)*$config_forumpost;

//if ($dt[5]==$dates) {$dt[5]='Сегодня';}

############


echo ' '.nickname($dt[0]).'<br>';

}
################
echo'Страницы:';
$asd2=$page+($config_forumpost*5);
for($i=0; $i<$asd2;)
{
if($i<$msgsize && $i>=0){
$ii=floor(1+$i/$config_forumpost);
echo ' <a href="index.php?fid='.$fid.'&amp;id='.$dt[7].'&amp;page='.$i.'&amp;'.SID.'">'.$ii.'</a>';
}       
$i=$i+$config_forumpost;}
if($asd2<$msgsize){echo ' ... <a href="index.php?fid='.$fid.'&amp;id='.$dt[7].'&amp;page='.$ba2.'&amp;'.SID.'">'.$ba.'</a>';}

if ($msgsize>=2) {$linesdat=file("../local/dataforum/$filename.dat"); 
$dtdat=explode("|", $linesdat[$msgsize-1]); 
$dt[0]=$dtdat[0]; 
$dt[1]=$dtdat[1]; 
$dt[2]=$dtdat[2]; 
$dt[5]=$dtdat[5]; 
$dt[6]=$dtdat[6];
echo'</div>';
}
################
echo'</div>';
} while($a1 > $u);
//----------------------------Вывод всех тем форума------------------------//
$lines=file("../local/dataforum/topic$fid.dat");
$a=count($lines);
$ba=ceil($a/$config_forumtem);
$ba2=floor($a/$config_forumtem)*$config_forumtem;

echo'<div class="body">';


echo'Стр.:';
$asd=$page-($config_forumtem*2);
$asd2=$page+($config_forumtem*3);

if($asd<$a && $asd>0){echo ' <a href="index.php?fid='.$fid.'&amp;page=0&amp;'.SID.'">1</a> ... ';}

for($i=$asd; $i<$asd2;)
{
if($i<$a && $i>=0){
$ii=floor(1+$i/$config_forumtem);

if ($page==$i) {
echo ' <b>('.$ii.')</b>';
}
else {
echo ' <a href="index.php?fid='.$fid.'&amp;page='.$i.'&amp;'.SID.'">'.$ii.'</a>';
}}


$i=$i+$config_forumtem;}
if($asd2<$a){echo ' ... <a href="index.php?fid='.$fid.'&amp;page='.$ba2.'&amp;'.SID.'">'.$ba.'</a>';}

///////////////////////////////////////////////////////
echo '</div>';
echo'<div class="btm">[<a href="../index.php">На главную</a>]</div>';

}}
}


if (isset($_GET['fid']) and isset($_GET['id'])) {
$fid=$_GET['fid']; $id=$_GET['id'];
if (!ctype_digit($fid) or !ctype_digit($id)) {
echo'Сайт взломан. Теперь идите нахуй.';
include_once"../themes/$config_themes/foot.php";
exit;}

if (!is_file("../local/dataforum/$id.dat")) {
header ("Location: index.php?fid=$fid&isset=delthemes&".SID);
exit;
} else {
$lines=file("../local/dataforum/$id.dat");
########################
$lines2=file("../local/dataforum/$id.dat");
$lines2=array_reverse($lines2);
$ddd=explode("|", $lines2[0]);
if ($ddd[6]=="CLOSED"){
echo '';
}
##################

if (count($lines)>0) {
$array_them = array();
$provthem=file("../local/dataforum/topic$fid.dat");
foreach($provthem as $pvalue){
$pdata=explode('|', $pvalue);
$array_them[]=$pdata[7];
}

if(in_array($id,$array_them)){
$lines=file("../local/dataforum/$id.dat");

$lines2=array_reverse($lines);
$ddd=explode("|", $lines2[0]);
$i=count($lines); $n="0"; $tblstyle="row1";
if (isset($_GET['page'])) {$page=$_GET['page'];} else {$page="0";}
if ($page>=$i) {$page=(round($i/$config_forumpost))*10;}
if ($i<=$config_forumpost) {$page="0";}
if ($page>=1) {$a1=$page;} else {$a1=0;}
if (($a1+$config_forumpost)<$i) {$u=$a1+$config_forumpost;} else {$u=$i;}
do {$dt=explode("|", $lines[$a1]);

//--------------------------------------------------------------------//
$dt[4]=bb_code($dt[4]);
$a1++;
if ($tblstyle=="row1") {$tblstyle="row2";} else {$tblstyle="row1";}
if (!isset($m1)) {
$file1=file("../local/dataforum/$id.dat");
$fs=count($file1)-1;
$dd=explode("|", $file1[$fs]);
$dd2=explode("|", $file1[0]);

echo '<div class="tpanel"><a href="index.php?fid='.$fid.'&amp;'.SID.'">'.$frname.'</a> | ';
echo '<b>'.$dd[3].'</b></div>';


###############################
if($provpar==md5($_SESSION['par']) && $provlog==$_SESSION['log']) {
if ($dostup==101 || $dostup==102 || $dostup==103 || $dostup==105){
echo'<div class=panel><small>';
if ($ddd[6]!="CLOSED"){
echo '<a href="../'.$config_mpanel.'/forum.php?event=zakr&amp;fid='.$fid.'&amp;id='.$id.'&amp;'.SID.'">Закрыть</a> | ';
}else{
echo '<div class=info><font color="red">Тема закрыта</font></div>';
echo '<a href="../'.$config_mpanel.'/forum.php?event=otkr&amp;fid='.$fid.'&amp;id='.$id.'&amp;'.SID.'">Открыть</a> | ';}

if ($ddd[10]!="ON"){
echo '<a href="../'.$config_mpanel.'/forum.php?event=locked&amp;fid='.$fid.'&amp;id='.$id.'&amp;'.SID.'">Закрепить</a> | ';
}else{echo '<a href="../'.$config_mpanel.'/forum.php?event=unlocked&amp;fid='.$fid.'&amp;id='.$id.'&amp;'.SID.'">Открепить</a> | ';
}
echo '<a href="../'.$config_mpanel.'/forum.php?action=deltopic&amp;fid='.$fid.'&amp;id='.$id.'&amp;'.SID.'">Удалить</a></small></div>';
}}
#################################
echo'<div class="bhead">Сообщения:</div><div class="forum">';

$m1=1;}

echo'';
if(file_exists("../local/profil/$dt[0].prof")){
$ava = file("../local/profil/$dt[0].prof");
$avv = explode(":||:",$ava[0]);}

if(!empty($udata[45])){
if(isset($avv[43]) && $avv[43]!="" && $avv[43]!='noavatar.gif'){
echo'';
} else{
echo ''; }
} else {
echo'';}
######################

echo'<div class="r0">';
echo ''.$a1.'. <a href="answer.php?fid='.$fid.'&amp;id='.$id.'&amp;page='.$page.'&amp;uz='.nickname($dt[0]).'&amp;'. SID .'">'.nickname($dt[0]).'</a> '.user_title($dt[0]).user_online($dt[0]) ;


if ($dostup==101 || $dostup==102 || $dostup==103 || $dostup==105){
echo'<br>';
}
else{echo'<br>';}

echo'<small class="gr">'.date_fixed($dt[9]).'</small>';


if ( $dostup==101 || $dostup==102 || $dostup==103 || $dostup==105){

echo' <small class="gr">';
echo'<a href="../'.$config_mpanel.'/forum.php?event=topic&amp;fid='.$fid.'&amp;id='.$id.'&amp;topicrd='.$a1.'&amp;page='.$page.'&amp;'.SID.'">[ред]</a>';


echo'<a href="index.php?event=topic&amp;fid='.$fid.'&amp;id='.$id.'&amp;topicxd='.$a1.'&amp;page='.$page.'&amp;'.SID.'">[уд]</a></font></small><br>';


echo ''.$dt[4].'<br>';

///////// on/off ip
if($config_showtime==1){
echo'<small class=gr>('.$dt[2].')</small>';}
////////

echo '</div>';}
else{
echo'<br>';

echo ''.$dt[4].'';
///////// on/off ip
if($config_showtime==1){
echo'<br><small class=gr>('.$dt[2].')</small>';}
////////
echo '</div>';}

} while($a1 < $u);

############################################Удаление сообщений
if (isset($topicxd)) { if ($topicxd!="") {
$topicxd=$topicxd-1;
$file=file("../local/dataforum/$id.dat");

if (count($file)==1) {
echo 'В теме должно остаться хотябы одно сообщение! <br>';
echo '<a href="../forum/index.php?event=topic&amp;fid='.$fid.'&amp;id='.$id.'&amp;page='.$page.'&amp;'.SID.'">Продолжить</a><br>';  include_once"../themes/$config_themes/foot.php";
exit;}

$fp=fopen("../local/dataforum/$id.dat","w");
flock ($fp,LOCK_EX);
for ($i=0;$i< sizeof($file);$i++) { if ($i==$topicxd) {unset($file[$i]);} }
fputs($fp, implode("",$file));
flock ($fp,LOCK_UN);
fclose($fp);
chmod($fp, 0777);
chmod("../local/dataforum/$id.dat", 0777);

header ("Location: index.php?event=topic&fid=$fid&id=$id&page=$page&".SID);
//Сообщение успешно удалено!
exit; }}


##########################################################################################################################################################
##########################################################################################################################################################
$lines2=file("../local/dataforum/$id.dat");
$lines2=array_reverse($lines2);
$ddd=explode("|", $lines2[0]);
if ($ddd[6]!="CLOSED"){

echo'<br><div class="body">[<a href="say.php?event=addanswer&amp;fid='.$fid.'&amp;page='.$page.'&amp;id='.$id.'&amp;'.SID.'" class="green" accesskey="4">Написать</a>]</div>';
}
//////////////////////////// pages
$lines=file("../local/dataforum/$id.dat");
$total=count($lines);
$ba=ceil($total/$config_forumpost);
$ba2=$ba*$config_forumpost-$config_forumpost;

echo'</div>Стр.:';
$asd=$page-($config_forumpost*3);
$asd2=$page+($config_forumpost*4);

if($asd<$total && $asd>0){echo ' <a href="index.php?event=topic&amp;fid='.$fid.'&amp;id='.$id.'&amp;page=0&amp;'.SID.'">1</a> ...';}

for($i=$asd; $i<$asd2;)
{
if($i<$total && $i>=0){
$ii=floor(1+$i/$config_forumpost);

if ($page==$i) {
echo ' <b>('.$ii.')</b>';
} else {
echo ' <a href="index.php?event=topic&amp;fid='.$fid.'&amp;id='.$id.'&amp;page='.$i.'&amp;'.SID.'">'.$ii.'</a>';
}}
$i=$i+$config_forumpost;}
if($asd2<$total){echo ' ... <a href="index.php?event=topic&amp;fid='.$fid.'&amp;id='.$id.'&amp;page='.$ba2.'&amp;'.SID.'">'.$ba.'</a>';}

////////////////////////////



}else{echo 'Произошла ошибка, данной темы нет в этом разделе!<br>';}

echo '<div class="btm">[<a href="../index.php">На главную</a>]</div>';


}}}



include_once"../themes/$config_themes/foot.php";
?>