<?php
#-----------------------------------------------------#
# ********* WAP-MOTORS ********* #
# Made by : VANTUZ #
# E-mail : [email protected] #
# Site : http://pizdec.ru #
# WAP-Site : http://visavi.net #
# ICQ : 36-44-66 #
# Вы не имеете право вносить изменения в код скрипта #
#-----------------------------------------------------#
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";
require_once"../template/isset.php";
$text = file("../local/profil/$log.prof");
if ($text!=""){
$udata = explode(":||:",$text[0]);
$provlog=trim($udata[0]);
$provpar=trim($udata[1]);
$dostup=trim($udata[7]);}
$date=date("d.m.y");
$time=date("H:i");
if ($_SESSION['log']!="" && md5($_SESSION['par'])!="" && md5($_SESSION['par'])==$provpar && $_SESSION['log']==$provlog ) {
if ($dostup==101 || $dostup==102 || $dostup==103 || $dostup==105){
echo'<img src="../images/img/menu.gif" alt=""> <b>Управление форумом</b><br><br>';
if($udata[10]>0){
echo'<img src="../images/img/mail.gif" alt=""> <b><a href="../pages/privat.php?'.SID.'"><font color="#FF0000">Приватное сообщение! ('.$udata[10].')</font></a></b><br>';}
//----------------------------- Пересчет статистики ------------------------//
if(isset($event)) {
if ($event =="revolushion") {
if ($dostup==101 || $dostup==102){
$lines = file("../local/dataforum/mainforum.dat");
$countmf=count($lines)-1;
$i="-1";$u=$countmf-1;$k="0";
do {$i++; $dt=explode("|", $lines[$i]);
/* if ($dt[1]!="razdel") { */
$fid=$dt[0];
if ((is_file("../local/dataforum/topic$fid.dat")) && (sizeof("../local/dataforum/topic$fid.dat")>0))
{
$fl=file("../local/dataforum/topic$fid.dat");
$kolvotem=count($fl);
$kolvomsg="0";
for ($itf=0; $itf<$kolvotem; $itf++)
{$forumdt = explode("|", $fl[$itf]);
$cd=$forumdt[7];
$msgfile=file("../local/dataforum/$cd.dat");
$countmsg=count($msgfile); $kolvomsg=$kolvomsg+$countmsg;}
if ($kolvotem=="0") {$dt[8]="";}
$lines[$i]=$dt[0].'|'.$dt[1].'|'.$dt[2].'|'.$dt[3].'|'.$kolvotem.'|'.$kolvomsg.'|'.$dt[6].'|'.$dt[7].'|'.$dt[8].'|'.$dt[9].'|'.$dt[10].'|';
}else{
$kolvotem="0";
$kolvomsg="0";
$lines[$i]=$dt[0].'|'.$dt[1].'|'.$dt[2].'|'.$dt[3].'|'.$kolvotem.'|'.$kolvomsg.'|'.$dt[6].'|'.$dt[7].'|'.$dt[8].'||'.$dt[10].'|';
}
/* }else{
$lines[$i]=$dt[0].'|'.$dt[1].'|'.$dt[2].'|';} */
} while($i < $countmf);
$file=file("../local/dataforum/mainforum.dat");
$fp=fopen("../local/dataforum/mainforum.dat","w");
flock ($fp,LOCK_EX);
for ($i=0;$i< sizeof($file);$i++) {fputs($fp,"$lines[$i]\r\n");}
flock ($fp,LOCK_UN);
fclose($fp);
chmod($fp, 0777);
chmod("../local/dataforum/mainforum.dat", 0777);
echo 'Всё успешно пересчитано<br>';
echo '<a href="forum.php?'.SID.'">Продолжить</a><br>';
include_once"../themes/$config_themes/foot.php";
exit; }}}
//------------------------ Cдвиг топиков -------------------------------//
if(isset($movetopic)) { if ($movetopic!="") {
$move1=$movetopic;
if ($where=="0") {$where="-1";}
$move2=$move1-$where;
$file=file("../local/dataforum/mainforum.dat"); $imax=sizeof($file);
if (($move2>=$imax) or ($move2<"0")) {
echo 'Нельзя туда двигать!<br>';
echo '<a href="forum.php?'.SID.'">Продолжить</a><br>';
include_once"../themes/$config_themes/foot.php";
exit;}
$data1=$file[$move1]; $data2=$file[$move2];
$fp=fopen("../local/dataforum/mainforum.dat","a+");
flock ($fp,LOCK_EX);
ftruncate ($fp,0);
for ($i=0; $i<$imax; $i++) {if ($move1==$i) {fputs($fp,$data2);} else {if ($move2==$i) {fputs($fp,$data1);} else {fputs($fp,$file[$i]);}}}
fflush ($fp);
flock ($fp,LOCK_UN);
fclose($fp);
chmod($fp, 0777);
chmod("../local/dataforum/mainforum.dat", 0777);
header ("Location: forum.php?".SID);
//Раздел успешно сдвинут!
exit;}}
//------------------------ Подтверждение удаления топиков -------------------------------//
if(isset($provtop)) {
echo 'Вы действительно хотите удалить топик?<br>';
echo 'Прежде чем удалить его необходимо удалить все темы внутри вручную<br>';
echo '<img src="../images/img/error.gif" alt=""> <a href="forum.php?fxd='.$provtop.'&'.SID.'">Удалить</a><br>';
echo '<img src="../images/img/back.gif" alt=""> <a href="forum.php?'.SID.'">Вернуться назад</a><br>';
include_once"../themes/$config_themes/foot.php";
exit;
}
//------------------------ Удаление топиков -------------------------------//
if(isset($fxd)) { if ($fxd!="") {
$file=file("../local/dataforum/mainforum.dat");
$fp=fopen("../local/dataforum/mainforum.dat","w");
flock ($fp,LOCK_EX);
for ($i=0;$i< sizeof($file);$i++) { if ($i==$fxd) {unset($file[$i]);} }
fputs($fp, implode("",$file));
flock ($fp,LOCK_UN);
fclose($fp);
chmod($fp, 0777);
chmod("../local/dataforum/mainforum.dat", 0777);
header ("Location: forum.php?isset=mp_delforums&".SID);
}else{header ("Location: forum.php?isset=mp_nodelforums&".SID);}
exit;}
//----------------------- Удаление тем --------------------------------//
if ($action=="deltopic"){
if ($id!="" && $fid!="") {
$id=check($id);
$fid=(int)$fid;
$file=file("../local/dataforum/topic$fid.dat");
$count=count($file);
for ($b=0; $b<$count; $b++) { $idbase=explode("|",$file[$b]); if ( $id == $idbase[7]) {
$stroka=$b; break;
}}
if($stroka!==""){
unlink ("../local/dataforum/$id.dat");
$fp=fopen("../local/dataforum/topic$fid.dat","w");
flock ($fp,LOCK_EX);
for ($i=0;$i< sizeof($file);$i++) { if ($i==$stroka) {unset($file[$i]);} }
fputs($fp, implode("",$file));
flock ($fp,LOCK_UN);
fclose($fp);
chmod($fp, 0777);
chmod("../local/dataforum/topic$fid.dat", 0777);
}
header ("Location: forum.php?fid=$fid&page=$page&isset=mp_delthemes&".SID);
}else{header ("Location: forum.php?fid=$fid&page=$page&isset=mp_nodelthemes&".SID);}
exit; }
//----------------------- Удаление сообщений --------------------------------//
if (isset($topicxd)) { if ($topicxd!="") {
$topicxd=$topicxd-1;
$file=file("../local/dataforum/$id.dat");
if (count($file)==1) {
echo ' В ТЕМЕ должно остаться хотябы одно сообщение! <br>';
echo '<a href="forum.php?event=topic&fid='.$fid.'&id='.$id.'&page='.$page.'&'.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: forum.php?event=topic&fid=$fid&id=$id&page=$page&".SID);
//Сообщение успешно удалено!
exit; }}
//----------------------- Добавление разделов --------------------------------//
if(isset($event)) {
if ($event =="addmainforum") {
if ($zag!="") {
$nextnum="1";
if (is_file("../local/dataforum/mainforum.dat")) {
$lines=file("../local/dataforum/mainforum.dat");
$imax = count($lines); $i=0;
do {$dt = explode("|", $lines[$i]);
if ($nextnum<$dt[0]) {$nextnum=$dt[0];} $i++;
}
while($i < $imax); $nextnum++; }
$msg=check($msg);
$zag=check($zag);
$txtmf=$nextnum.'|'.$zag.'|рус||0|0||'.$date.'|'.$time.'|||';
$txtmf=preg_replace ("|[\r\n]+|si","",$txtmf);
$fp=fopen("../local/dataforum/mainforum.dat","a+");
flock ($fp,LOCK_EX);
fputs($fp,"$txtmf\r\n");
fflush ($fp);
flock ($fp,LOCK_UN);
fclose($fp);
chmod($fp, 0777);
chmod("../local/dataforum/mainforum.dat", 0777);
header ("Location: forum.php?isset=mp_addforums".SID);
}else{header ("Location: forum.php?isset=mp_noaddforums".SID);}
exit; }
//----------------------- Переименование раздела --------------------------------//
if ($event =="frdmainforum") {
if ($zag != "" && $frd!="") {
$lines = file("../local/dataforum/mainforum.dat");
$dt = explode("|", $lines[$frd]);
$zag=check($zag);
$zag=preg_replace ("|[\r\n]+|si","",$zag);
$txtmf=$dt[0].'|'.$zag.'|'.$dt[2].'|'.$dt[3].'|'.$dt[4].'|'.$dt[5].'|'.$dt[6].'|'.$dt[7].'|'.$dt[8].'|'.$dt[9].'|'.$dt[10].'|';
$txtmf=preg_replace ("|[\r\n]+|si","",$txtmf);
$file=file("../local/dataforum/mainforum.dat");
$fp=fopen("../local/dataforum/mainforum.dat","a+");
flock ($fp,LOCK_EX);
ftruncate ($fp,0);
for ($i=0;$i< sizeof($file);$i++) {if ($frd!=$i) {fputs($fp,$file[$i]);} else {fputs($fp,"$txtmf\r\n");}}
fflush ($fp);
flock ($fp,LOCK_UN);
fclose($fp);
chmod($fp, 0777);
chmod("../local/dataforum/mainforum.dat", 0777);
header ("Location: forum.php?isset=mp_editrazdel&".SID);
//Раздел успешно переименован
}else{ header ("Location: forum.php?frd=$frd&isset=mp_noeditrazdel&".SID);}
exit; }
//----------------------- Закрытие тем --------------------------------//
if ($event=="zakr") {
$mio="[$brow, $ip]";
$fileg=file("../local/dataforum/$id.dat");
$fileg=array_reverse($fileg);
$ddat=explode("|", $fileg[0]);
$text=$log.'|рус|'.$mio.'|'.$ddat[3].'|<img src="../images/smiles2/closed.gif" alt=""> Тема закрыта для обсуждения!|'.$date.'|'.$time.'|'.$id.'|'.$fid.'|CLOSED|'.$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: forum.php?event=topic&fid=$fid&id=$id&".SID);
exit;}
//-------------------------- Открытие тем ----------------------------//
if ($event=="otkr") {
$file=file("../local/dataforum/$id.dat");
$file=array_reverse($file);
$fp=fopen("../local/dataforum/$id.dat","w");
flock ($fp,LOCK_EX);
unset($file[0]);
$file=array_reverse($file);
fputs($fp, implode("",$file));
flock ($fp,LOCK_UN);
fclose($fp);
chmod($fp, 0777);
chmod("../local/dataforum/$id.dat", 0777);
//Тема снова открыта
header ("Location: forum.php?event=topic&fid=$fid&id=$id&".SID);
exit;}
//----------------------- Закрепление тем --------------------------------//
if ($event=="locked") {
//-------------------------------------
$file=file("../local/dataforum/topic$fid.dat");
foreach($file as $index => $val){
$alldata = explode("|",$file[$index]);
if($alldata[7]==$id){
$file[$index]=$alldata[0].'|'.$alldata[1].'|'.$alldata[2].'|'.$alldata[3].'|'.$alldata[4].'|'.$alldata[5].'|'.$alldata[6].'|'.$alldata[7].'|'.$alldata[8].'|'.$alldata[9].'|'."ON|\r\n";
$fp=fopen("../local/dataforum/topic$fid.dat","w");
flock ($fp,LOCK_EX);
fputs($fp, implode("",$file));
flock ($fp,LOCK_UN);
fclose($fp);
chmod($fp, 0777);
}
}
//----------------------------------------
$file=file("../local/dataforum/$id.dat");
$file=array_reverse($file);
$fp=fopen("../local/dataforum/$id.dat","w");
flock ($fp,LOCK_EX);
$post= explode("|", $file[0]);
$file[0]=$post[0].'|'.$post[1].'|'.$post[2].'|'.$post[3].'|'.$post[4].'|'.$post[5].'|'.$post[6].'|'.$post[7].'|'.$post[8].'|'.$post[9].'|'."ON|\r\n";
$file=array_reverse($file);
fputs($fp, implode("",$file));
flock ($fp,LOCK_UN);
fclose($fp);
chmod($fp, 0777);
//Тема закреплена!
header ("Location: forum.php?event=topic&fid=$fid&id=$id&".SID);
exit;}
//-------------------------- Открепление тем ----------------------------//
if ($event=="unlocked") {
//-------------------------------------
$file=file("../local/dataforum/topic$fid.dat");
foreach($file as $index => $val)
{$alldata = explode("|",$file[$index]);
if($alldata[7]==$id){
$file[$index]=$alldata[0].'|'.$alldata[1].'|'.$alldata[2].'|'.$alldata[3].'|'.$alldata[4].'|'.$alldata[5].'|'.$alldata[6].'|'.$alldata[7].'|'.$alldata[8].'|'.$alldata[9].'||'."\r\n";
$fp=fopen("../local/dataforum/topic$fid.dat","w");
flock ($fp,LOCK_EX);
fputs($fp, implode("",$file));
flock ($fp,LOCK_UN);
fclose($fp);
chmod($fp, 0777);
}
}
//----------------------------------------
$file=file("../local/dataforum/$id.dat");
$file=array_reverse($file);
$fp=fopen("../local/dataforum/$id.dat","w");
flock ($fp,LOCK_EX);
$post= explode("|", $file[0]);
$file[0]=$post[0].'|'.$post[1].'|'.$post[2].'|'.$post[3].'|'.$post[4].'|'.$post[5].'|'.$post[6].'|'.$post[7].'|'.$post[8].'|'.$post[9].'||'."\r\n";
$file=array_reverse($file);
fputs($fp, implode("",$file));
flock ($fp,LOCK_UN);
fclose($fp);
chmod($fp, 0777);
//Тема откреплена
header ("Location: forum.php?event=topic&fid=$fid&id=$id&".SID);
exit;}
//------------------------ Переименование темы -------------------------------//
if ($event=="rdtema") {
if ($zag!="" && $id!="" && $fid!="") {
$zag=check($zag);
$id=check($id);
$fid=(int)$fid;
$lines=file("../local/dataforum/topic$fid.dat");
$count=count($lines);
for ($b=0; $b<$count; $b++) { $idbase=explode("|",$lines[$b]); if ( $id == $idbase[7]) {
$stroka=$b; break;
}}
$dt=explode("|", $lines[$stroka]);
$txtmf=$dt[0].'|рус|'.$dt[2].'|'.$zag.'|'.$dt[4].'|'.$dt[5].'|'.$dt[6].'|'.$id.'|'.$fid.'|'.$dt[9].'|'.$dt[10].'|';
$file=file("../local/dataforum/topic$fid.dat");
$fp=fopen("../local/dataforum/topic$fid.dat","a+");
flock ($fp,LOCK_EX);
ftruncate ($fp,0);
for ($i=0;$i< sizeof($file);$i++) { if ($stroka!=$i) {fputs($fp,$file[$i]);} else {fputs($fp,"$txtmf\r\n");} }
fflush ($fp);
flock ($fp,LOCK_UN);
fclose($fp);
chmod($fp, 0777);
chmod("../local/dataforum/topic$fid.dat", 0777);
$lines = file("../local/dataforum/mainforum.dat");
$i3=count($lines);
do {$i3--; $dd = explode("|", $lines[$i3]);
if ($dd[0]==$fid) {$realfid=$i3; }
} while($i3>0);
$dd = explode("|", $lines[$realfid]);
if ($id==$dd[3]){
$txtdat=$dd[0].'|'.$dd[1].'|'.$dd[2].'|'.$dd[3].'|'.$dd[4].'|'.$dd[5].'|'.$dd[6].'|'.$dd[7].'|'.$dd[8].'|'.$dd[9].'|'.$zag.'|';
$txtdat=preg_replace ("|[\r\n]+|si","",$txtdat);
$fp2=fopen("../local/dataforum/mainforum.dat","a+");
flock ($fp2,LOCK_EX);
ftruncate ($fp2,0);
for ($i2=0;$i2<=(sizeof($lines)-1);$i2++) {if ($i2==$realfid) {fputs($fp2,"$txtdat\r\n");} else {fputs($fp2,$lines[$i2]);}}
fflush ($fp2);
flock ($fp2,LOCK_UN);
fclose($fp2);
chmod($fp2, 0777);
chmod("../local/dataforum/mainforum.dat", 0777);
}
$file1=file("../local/dataforum/$id.dat");
$fs=count($file1)-1; $i1="-1";
$dt = explode("|", $file1[$fs]);
$text1=$dt[0].'|рус|'.$dt[2].'|'.$zag.'|'.$dt[4].'|'.$dt[5].'|'.$dt[6].'|'.$id.'|'.$fid.'|'.$dt[9].'|'.$dt[10].'|';
$text1=preg_replace ("|[\r\n]+|si","",$text1);
$fp1=fopen("../local/dataforum/$id.dat","a+");
flock ($fp1,LOCK_EX);
ftruncate ($fp1,0);
do {$i1++; if ($i1==$fs) {fputs($fp1,"$text1\r\n");} else {fputs($fp1,$file1[$i1]);} } while($i1 < $fs);
fflush ($fp1);
flock ($fp1,LOCK_UN);
fclose($fp1);
chmod($fp1, 0777);
chmod("../local/dataforum/$id.dat", 0777);
}
header ("Location: forum.php?fid=$fid&page=$page&".SID);
//Тема успешно изменена!
exit; }
//-------------------------------------------------------//
}
if(isset($event)){
if (($event=="addtopic") or ($event=="addanswer")) {
if ($fid!="") {
$mainlines = file("../local/dataforum/mainforum.dat"); $i=count($mainlines);
do {$i--; $dt = explode("|", $mainlines[$i]);
if ($dt[0]==$fid) {$realfid=$i;}
} while($i>0);
if (strlen($msg) > 1200 || strlen($msg) < 5) {
echo '<b>Ваше сообщение пустое или слишком длинное.</b><br>';
echo '<a href="forum.php?newtema=add&fid='.$fid.'&'.SID.'">Повторить</a><br>';
include_once"../themes/$config_themes/foot.php";
exit;}
if (strlen($zag) > 150 || strlen($zag) < 5 ) {
echo '<b>Ваш заголовок пустой или слишком длинный!</b><br>';
echo '<a href="forum.php?newtema=add&fid='.$fid.'&'.SID.'">Повторить</a><br>';
include_once"../themes/$config_themes/foot.php";
exit;}
if($id!=""){
$locked="";
$provfile=file("../local/dataforum/$id.dat");
$provfile = array_reverse($provfile);
$provmas = explode("|",$provfile[0]);
if($provmas[10]=="ON"){$locked="ON";}
}
if ($event=="addtopic") {
$tt=explode(' ', microtime());
$ttt=$tt[1]+$tt[0];
$ttf=str_replace(".", "", $ttt);
$id = $ttf;}
$tektime=time();
$mio="[$brow, $ip]";
$log=check($log);
$mio=check($mio);
$zag=check($zag);
$msg=check($msg);
$msg = smiles($msg);
$date=check($date);
$time=check($time);
$id=check($id);
$tektime=check($tektime);
if($name==""){$name=$log;}
$msg=preg_replace ("|[\r\n]+|si","<br>",$msg);
$text=$name.'|рус|'.$mio.'|'.$zag.'|<img src="../images/smiles2/moder.gif" alt=""> '.$msg.'|'.$date.'|'.$time.'|'.$id.'|'.$fid.'|'.$tektime.'|'.$locked.'|';
$text=preg_replace ("|[\r\n]+|si","",$text);
if(isset($topicrd)) {
$text2=$name.'|рус|'.$mio.'|'.$zag.'|'.$msg.'<br>[red][Отредактировано: '.$log.' - '.$date.'/'.$time.'][/red]|'.$fdate.'|'.$ftime.'|'.$id.'|'.$fid.'|'.$tektime.'|'.$locked.'|';
$text2=preg_replace ("|[\r\n]+|si","",$text2);
$file=file("../local/dataforum/$id.dat");
$fs=count($file)-1;
$i="-1";
$fp=fopen("../local/dataforum/$id.dat","a+");
flock ($fp,LOCK_EX);
ftruncate ($fp,0);
do {$i++; if ($i==$topicrd) {fputs($fp,"$text2\r\n");} else {fputs($fp,$file[$i]);} } while($i < $fs);
fflush ($fp);
flock ($fp,LOCK_UN);
fclose($fp);
chmod($fp, 0777);
chmod("../local/dataforum/$id.dat", 0777);
header ("Location: forum.php?event=topic&fid=$fid&id=$id&page=$page&".SID);
//Сообщение успешно изменено!
include_once"../themes/$config_themes/foot.php";
exit; }
$zag=utf_to_win($zag);
if (strlen($zag)>30) {$zag=substr($zag,0,30); $zag.="...";}
$zag=win_to_utf($zag);
$lines = file("../local/dataforum/mainforum.dat");
$dt = explode("|", $lines[$realfid]);
if ($event=="addtopic") {$dt[4]++;} $dt[5]++;
$txtdat=$dt[0].'|'.$dt[1].'|'.$dt[2].'|'.$id.'|'.$dt[4].'|'.$dt[5].'|'.$log.'|'.$date.'|'.$time.'|'.$tektime.'|'.$zag.'|';
$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 ($event =="addtopic") {
if($fid!="" && $id!=""){
$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);
$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: forum.php?event=topic&fid=$fid&id=$id&".SID); exit; }
if ($event=="addanswer") {
$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");
foreach($file as $index => $val){
$alldata = explode("|",$file[$index]);
$alldata2 = explode("|",$text);
if($alldata[7]==$alldata2[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);
}}
$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);
//Сообщение успешно добавлено
header ("Location: forum.php?event=topic&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 '<h3>ОШИБКА!</h3>';
include_once"../themes/$config_themes/foot.php";
exit;}
do {$i--; $rdt = explode("|", $mainlines[$i]);
$dt = explode("|", $mainlines[$i]);
if ($dt[0]==$fid) {$i=0;}
} while($i > "1");
$frname=$dt[1];
$frname.=' -';
if (isset($id)) {if (is_file("../local/dataforum/$id.dat")) {$lines = file("../local/dataforum/$id.dat"); $dt = explode("|", $lines[0]); $frtname=$dt[3]; $frtname.=" -";} else {$frtname=""; $frname="";}} else {$frtname="";} } else {$frname=""; $frtname="";}
if (!isset($_GET['event'])) {
if (!isset($_GET['fid'])) {
//------------------------ Главная страница форума ---------------------------------//
$lines = file("../local/dataforum/mainforum.dat");
$i=count($lines);
if($lines && $i>0){
$n="0"; $a1="-1"; $u=$i-1;
$fid="0"; $itogotem="0"; $itogomsg="0";
do {$a1++; $dt = explode("|", $lines[$a1]);
$fid=$dt[0];
if ($dt[7]==$date) {$dt[7]='Сегодня';}
echo '<div class=b><img src="../images/img/forums.gif" alt=""> <b><a href="forum.php?fid='.$fid.'&'.SID.'">'.$dt[1].'</a></b>';
echo '('.$dt[4].'/'.$dt[5].')';
if ($dostup==101 || $dostup==102){
echo '<br><a href="forum.php?movetopic='.$a1.'&where=1&'.SID.'">Вверх</a>';
echo ' <a href="forum.php?movetopic='.$a1.'&where=0&'.SID.'">Вниз</a>';
echo ' <a href="forum.php?frd='.$a1.'&'.SID.'">Edit</a>';
echo ' <a href="forum.php?provtop='.$a1.'&'.SID.'">Del</a>';
}
echo '</div>';
if($dt[10]!=""){
echo 'Тема: <a href="forum.php?event=topic&fid='.$fid.'&id='.$dt[3].'&'.SID.'">'.$dt[10].'</a><br>';
echo 'Посл. сообщение: <b>'.$dt[6].'</b> ('.$dt[7].' - '.$dt[8].')<br>';
}else{echo 'Темы еще не созданы!<br>';}
$itogotem=$itogotem+$dt[4]; $itogomsg=$itogomsg+$dt[5];
} while($a1 < $u);
}else{echo 'Разделы форума не созданы - добавьте раздел!';}
//------------------------ Форма редактирования раздела ---------------------------------//
if (isset($frd)) {
if ($frd!="") {
$lines = file("../local/dataforum/mainforum.dat");
$dt = explode("|", $lines[$frd]);
if($config_themes!="wml"){
echo '<hr><form action="forum.php?event=frdmainforum&frd='.$frd.'&'.SID.'" method="post">';
echo '<img src="../images/img/edit.gif" alt=""> <b>Редактирование раздела</b><br><br>';
echo '<b>Заголовок:</b><br>';
echo '<input type="text" name="zag" value="'.$dt[1].'" />';
echo '<input type="submit" value="Изменить" /></form>';
}else{
echo '<br>--------------------<br>';
echo '<b>Редактирование раздела</b><br>';
echo '<b>Заголовок:</b><br>';
echo '<input type="text" name="zag" value="'.$dt[1].'"/><br>';
echo '<anchor>Изменить';
echo '<go href="forum.php?event=frdmainforum&frd='.$frd.'&'.SID.'" method="post">';
echo '<postfield name="zag" value="$(zag)"/>';
echo '</go></anchor><br>--------------------<br>';
}
}} else {
//-------------------- Форма вывода добавления раздела ----------------------//
if ($dostup==101 || $dostup==102){
if($config_themes!="wml"){
echo '<hr><form action="forum.php?event=addmainforum&'.SID.'" method="post">';
echo '<img src="../images/img/edit.gif" alt=""> <b>Добавление Раздела</b><br><br>';
echo '<b>Заголовок:</b><br><input type="text" name="zag" /><br>';
echo '<input type="submit" value="Добавить" /></form>';
}else{
echo '<br>--------------------<br>';
echo '<b>Добавление Раздела</b><br>';
echo '<b>Заголовок:</b><br>';
echo '<input type="text" name="zag" /><br>';
echo '<anchor>Добавить';
echo '<go href="forum.php?event=addmainforum&'.SID.'" method="post">';
echo '<postfield name="zag" value="$(zag)"/>';
echo '</go></anchor>';
}}
}
echo '<hr>Всего тем: <b>'.(int)$itogotem.'</b><br>Всего сообщений: <b>'.(int)$itogomsg.'</b>';
} else {
$fid=(int)$fid;
$forums = file("../local/dataforum/mainforum.dat");
###################################################
$iz=count($forums);
$az1='-1';
$ux=$iz-1;
do {$az1++;
$yy=explode("|", $forums[$az1]);
if ($yy[0]==$fid){$raz=$yy[1];}} while($az1 < $ux);
####################################################
echo '<a href="forum.php?'.SID.'">Форум</a> | ';
echo '<a href="forum.php?fid='.$fid.'&action=newthemes&'.SID.'">Новая тема</a> | ';
echo '<a href="../forum/index.php?fid='.$fid.'&page='.$page.'&'.SID.'">Обзор</a><br>';
echo '<br><img src="../images/img/themes.gif" alt=""> <b>'.$raz.'</b><br><hr>';
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;
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($page)) {$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];
if (is_file("../local/dataforum/$filename.dat")) {
$msgsize = sizeof(file("../local/dataforum/$filename.dat"));}
$datatek=file("../local/dataforum/$filename.dat");
$pos=$msgsize-1;
$dtt = explode("|", $datatek[$pos]);
/////////////////
echo '<div class=b>';
if($dtt[10]=="ON"){echo '<img src="../images/img/lock.gif" alt=""> ';}
elseif($dtt[9]=="CLOSED"){echo '<img src="../images/img/zakr.gif" alt=""> ';}
else{echo '<img src="../images/img/forums.gif" alt=""> ';}
echo '<b><a href="forum.php?event=topic&fid='.$fid.'&id='.$dt[7].'&'.SID.'">'.$dt[3].'</a></b>';
echo ' ('.$msgsize.')';
echo '<br><a href="forum.php?action=deltopic&fid='.$fid.'&id='.$dt[7].'&page='.$page.'&'.SID.'">[DEL]</a> ';
echo '<a href="forum.php?action=edittopic&fid='.$fid.'&id='.$dt[7].'&page='.$page.'&'.SID.'">[EDIT]</a></div><div>';
//--------------- Правильный пост. вывод для тем (превью) ---------------------//
$ba=ceil($msgsize/$config_forumpost);
$ba2=floor(($msgsize-1)/$config_forumpost)*$config_forumpost;
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="forum.php?event=topic&fid='.$fid.'&id='.$dt[7].'&page='.$i.'&'.SID.'">'.$ii.'</a>';
}
$i=$i+$config_forumpost;}
if($asd2<$msgsize){
echo ' ... <a href="forum.php?event=topic&fid='.$fid.'&id='.$dt[7].'&page='.$ba2.'&'.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];}
if ($dt[5]==$date) {$dt[5]='Сегодня';}
echo '<br>Посл. сообщение: '.$dt[0].' ('.$dt[5].'/'.$dt[6].')</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 '<br>';
echo '<hr>Страницы:';
$asd=$page-($config_forumtem*2);
$asd2=$page+($config_forumtem*3);
if($asd<$a && $asd>0){echo ' <a href="forum.php?fid='.$fid.'&page=0&'.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="forum.php?fid='.$fid.'&page='.$i.'&'.SID.'">'.$ii.'</a>';
}}
$i=$i+$config_forumtem;}
if($asd2<$a){echo ' ... <a href="forum.php?fid='.$fid.'&page='.$ba2.'&'.SID.'">'.$ba.'</a>';}
}else{echo '<br>';}
}
//---------------------------- Редактирование и Добавление Темы --------------------------------//
if($action=="edittopic"){
if ($id!="" && $fid!="") {
$id=check($id);
$fid=(int)$fid;
$lines=file("../local/dataforum/topic$fid.dat");
$count=count($lines);
for ($b=0; $b<$count; $b++) { $idbase=explode("|",$lines[$b]); if ( $id == $idbase[7]) { $stroka=$b; break;}}
$dt=explode("|", $lines[$stroka]);
if($config_themes!="wml"){
echo '<hr><b>Редактирование Темы</b><br><br>';
echo '<b>Тема:</b><br>';
echo '<form action="forum.php?fid='.$fid.'&event=rdtema&id='.$id.'&'.SID.'" method="post">';
echo '<input type="text" name="zag" value="'.$dt[3].'" /><br>';
echo '<input type="submit" value="Изменить" /></form><hr>';
}else{
echo '<br>--------------------<br>';
echo '<b>Редактирование Темы</b><br>';
echo '<b>Тема:</b><br>';
echo '<input type="text" name="zag" value="'.$dt[3].'"/><br>';
echo '<anchor>Изменить';
echo '<go href="forum.php?fid='.$fid.'&event=rdtema&id='.$id.'&'.SID.'" method="post">';
echo '<postfield name="zag" value="$(zag)"/>';
echo '</go></anchor><br>--------------------';
}
}
}
//--------------------- Форма добавления новой темы ----------------------//
if($action=="newthemes"){
if($config_themes!="wml"){
echo '<hr><img src="../images/img/edit.gif" alt=""> <b>Добавление темы</b><br><br>';
echo '<form action="forum.php?event=addtopic&fid='.$fid.'&'.SID.'" method="post">';
echo '<b>Заголовок темы:</b><br>';
echo '<input type="text" name="zag" maxlength="30" /><br>';
echo '<b>Сообщение:</b><br>';
echo '<textarea cols="25" rows="3" name="msg"></textarea><br>';
echo '<br><input type="submit" value="Добавить" /></form><hr>';
}else{
echo '<br>--------------------<br>';
echo '<b>Добавление темы</b><br>';
echo '<b>Заголовок темы:</b><br>';
echo '<input type="text" name="zag" value=""/><br>';
echo '<b>Сообщение:</b><br>';
echo '<input type="text" name="msg" value=""/><br>';
echo '<anchor>Добавить';
echo '<go href="forum.php?event=addtopic&fid='.$fid.'&'.SID.'" method="post">';
echo '<postfield name="zag" value="$(zag)"/>';
echo '<postfield name="msg" value="$(msg)"/>';
echo '</go></anchor><br>--------------------';
}
}
}}else{
if ($event=="topic"){
if ($id == "") { echo '<br>Критическая ошибка, отсутствует ID темы'; include_once"../themes/$config_themes/foot.php"; exit;}
if ($fid == "") { echo '<br>Критическая ошибка, отсутствует FID раздела'; include_once"../themes/$config_themes/foot.php"; exit;}
$mainlines = file("../local/dataforum/mainforum.dat");
$i=count($mainlines);
do {$i--; $rdt = explode("|", $mainlines[$i]);
$dt = explode("|", $mainlines[$i]);
if ($dt[0]==$fid) {$i=0;}
} while($i > "1");
$frname=$dt[1];
if (!is_file("../local/dataforum/$id.dat")) {
//Тема удалена модератором!
header ("Location: forum.php?fid=$fid&isset=delthemes&".SID);
exit;
}else {
$lines = file("../local/dataforum/$id.dat");
if (count($lines)>0) {
$lines = file("../local/dataforum/$id.dat");
$i=count($lines);
$n="0";
if (!isset($page)){$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 (!isset($m1)) {
$filem=file("../local/dataforum/$id.dat");
$fg=count($filem)-1;
$dg=explode("|", $filem[$fg]);
$forums = file("../local/dataforum/mainforum.dat");
##########################################################
$iz=count($forums);
$az1="-1"; $ux=$iz-1;
do {$az1++;
$yy=explode("|", $forums[$az1]);
if ($yy[0]==$fid){$raz=$yy[1];}} while($az1 < $ux);
#############################################################
echo '<a href="forum.php?'.SID.'">Форум</a> | ';
echo '<a href="forum.php?fid='.$fid.'&'.SID.'">'.$raz.'</a> | ';
echo '<a href="../forum/index.php?fid='.$fid.'&id='.$id.'&page='.$page.'&'.SID.'">Обзор</a><br>';
echo '<br><img src="../images/img/themes.gif" alt=""> <b>'.$dg[3].'</b><br>';
$m1='1';
###############################
$lines2=file("../local/dataforum/$id.dat");
$lines2=array_reverse($lines2);
$ddd=explode("|", $lines2[0]);
if ($ddd[9]!="CLOSED"){
echo '<hr><img src="../images/img/close.gif" alt=""> ';
echo '<a href="forum.php?event=zakr&fid='.$fid.'&id='.$id.'&'.SID.'">Закрыть</a>';
}else{
echo '<b><font color="#FF0000">Тема закрыта</font></b><br>';
echo '<hr><img src="../images/img/open.gif" alt=""> ';
echo '<a href="forum.php?event=otkr&fid='.$fid.'&id='.$id.'&'.SID.'">Открыть</b>';}
if ($ddd[10]!="ON"){
echo ' <img src="../images/img/open.gif" alt=""> ';
echo '<a href="forum.php?event=locked&fid='.$fid.'&id='.$id.'&'.SID.'">Закрепить</a><br>';
}else{
echo ' <img src="../images/img/close.gif" alt=""> ';
echo '<a href="forum.php?event=unlocked&fid='.$fid.'&id='.$id.'&'.SID.'">Открепить</a><br>';
}
}
##################################
echo '<div class=b><img src="../images/img/edit.gif" alt="">'.$a1.'. ';
echo '<b><a href="../pages/anketa.php?uz='.$dt[0].'">'.$dt[0].'</a></b> ';
echo '('.$dt[5].'/'.$dt[6].')<br>';
echo '<a href="forum.php?event=topic&fid='.$fid.'&id='.$id.'&topicrd='.$a1.'&page='.$page.'&'.SID.'">[Edit]</a>';
echo '<a href="forum.php?event=topic&fid='.$fid.'&id='.$id.'&topicxd='.$a1.'&page='.$page.'&'.SID.'">[Del]</a></div>';
echo '<div>'.$dt[4].'<br><small><font color="#CC00CC">'.$dt[2].' </font></small></div>';
} while($a1 < $u);
//----------------------- Постраничный вывод внутри темы -----------------//
$lines=file("../local/dataforum/$id.dat");
$a=count($lines);
$ba=ceil($a/$config_forumpost);
$ba2=floor(($a-1)/$config_forumpost)*$config_forumpost;
echo '<br>';
echo'<hr>Страницы:';
$asd=$page-($config_forumpost*3);
$asd2=$page+($config_forumpost*4);
if($asd<$a && $asd>0){echo ' <a href="forum.php?event=topic&fid='.$fid.'&id='.$id.'&page=0&'.SID.'">1</a> ...';}
for($i=$asd; $i<$asd2;)
{
if($i<$a && $i>=0){
$ii=floor(1+$i/$config_forumpost);
if ($page==$i) {
echo ' <b>('.$ii.')</b>';
}
else {
echo ' <a href="forum.php?event=topic&fid='.$fid.'&id='.$id.'&page='.$i.'&'.SID.'">'.$ii.'</a>';
}}
$i=$i+$config_forumpost;}
if($asd2<$a){echo ' ... <a href="forum.php?event=topic&fid='.$fid.'&id='.$id.'&page='.$ba2.'&'.SID.'">'.$ba.'</a>';}
///////////////////////////////////////////////////
if (isset($topicrd)) {
$topicrd=$topicrd-1;
$lines = file("../local/dataforum/$id.dat");
$dt = explode("|", $lines[$topicrd]);
$dt[4]=str_replace('<img src="../images/smiles/',':',$dt[4]);
$dt[4]=str_replace('<img src="../images/smiles2/',':',$dt[4]);
$dt[4]=str_replace('.gif" alt="">','',$dt[4]);
$dt[4]=preg_replace('#<br>\[red\]\[(.*?)\]\[/red\]#si', '',$dt[4]);
$dt[4]=str_replace ("<br>","\r\n",$dt[4]);
$dt[4]=str_replace ("<br />","\r\n",$dt[4]);
if($config_themes!="wml"){
echo '<hr><form action="forum.php?event=addanswer&fid='.$fid.'&topicrd='.$topicrd.'&page='.$page.'&'.SID.'" method="post">';
echo '<img src="../images/img/edit.gif" alt=""> <b>Редактирование сообщения</b><br>';
echo '<br><b>Сообщение:</b><br>';
echo '<textarea name="msg" cols="25" rows="3">'.$dt[4].'</textarea>';
echo '<input type="hidden" name="name" value="'.$dt[0].'" />';
echo '<input type="hidden" name="id" value="'.$dt[7].'" />';
echo '<input type="hidden" name="zag" value="'.$dt[3].'" />';
echo '<input type="hidden" name="fdate" value="'.$dt[5].'" />';
echo '<input type="hidden" name="ftime" value="'.$dt[6].'" />';
echo '<input type="hidden" name="fnomer" value="'.$topicrd.'" />';
echo '<input type="hidden" name="timetk" value="'.$dt[9].'" />';
echo '<input type="hidden" name="page" value="'.$page.'" /><br><br>';
echo '<input type="submit" value="Изменить" /></form>';
}else{
echo '<br>--------------------<br>';
echo '<b>Редактирование сообщения</b><br>';
echo '<b>Сообщение:</b><br>';
echo '<input type="text" name="msg" value="'.$dt[4].'"/><br>';
echo '<anchor>Изменить';
echo '<go href="forum.php?event=addanswer&fid='.$fid.'&topicrd='.$topicrd.'&page='.$page.'&'.SID.'" method="post">';
echo '<postfield name="msg" value="$(msg)"/>';
echo '<postfield name="zag" value="'.$dt[3].'"/>';
echo '<postfield name="name" value="'.$dt[0].'"/>';
echo '<postfield name="id" value="'.$dt[7].'"/>';
echo '<postfield name="fdate" value="'.$dt[5].'"/>';
echo '<postfield name="ftime" value="'.$dt[6].'"/>';
echo '<postfield name="fnomer" value="'.$topicrd.'"/>';
echo '<postfield name="timetk" value="'.$dt[9].'"/>';
echo '</go></anchor><br>--------------------';
}
} else {
$lines2=file("../local/dataforum/$id.dat");
$lines2=array_reverse($lines2);
$ddd=explode("|", $lines2[0]);
if ($ddd[9]!="CLOSED"){
if($config_themes!="wml"){
echo '<hr><b>Сообщение:</b><br>';
echo '<form action="forum.php?event=addanswer&fid='.$fid.'&page='.$page.'&id='.$id.'&'.SID.'" method="post">';
echo '<input type="hidden" name="zag" value="'.$dt[3].'" />';
echo '<textarea name="msg" cols="25" rows="3"></textarea><br><br>';
echo '<input type="submit" value="Отправить" /></form><hr>';
}else{
echo '<br>--------------------<br>';
echo '<b>Сообщение:</b><br>';
echo '<input type="text" name="msg" value=""/><br>';
echo '<anchor>Отправить';
echo '<go href="forum.php?event=addanswer&fid='.$fid.'&page='.$page.'&id='.$id.'&'.SID.'" method="post">';
echo '<postfield name="zag" value="'.$dt[3].'"/>';
echo '<postfield name="msg" value="$(msg)"/>';
echo '</go></anchor><br>--------------------';
}
}}
}}}}
echo '<br>';
if ($dostup==101 || $dostup==102){
echo '<br><img src="../images/img/reload.gif" alt=""> <a href="forum.php?event=revolushion&'.SID.'">Пересчитать</a>';}
echo '<br><img src="../images/img/panel.gif" alt=""> <a href="index.php?'.SID.'">В админку</a><br>';
echo '<img src="../images/img/homepage.gif" alt=""> <a href="../index.php?'.SID.'">На главную</a><br>';
} else {header ("Location: ../index.php?error&".SID);}
} else {header ("Location: ../index.php?error&".SID);}
include_once"../themes/$config_themes/foot.php";
?>