Файл: DarkAge/forum.php
Строк: 205
<?
list($msec,$sec)=explode(chr(32),microtime());
$gtime=$sec+$msec;
$rand=rand(100,1000000);
Error_Reporting(E_ALL & ~E_NOTICE);
ob_start('ob_gzhandler',9);
$log = htmlspecialchars(stripslashes(addslashes($_GET['log'])));
$pas = htmlspecialchars(stripslashes(addslashes($_GET['pas'])));
/////////////////////////////////////////////////////
$text = @file("data/reg/$log.dat");
if ($text!=""){
$udata = explode(":||:",$text[0]);
$login=trim($udata[0]);
$password=trim($udata[1]);}
////////////////////////////////////////////////////////
$privs = @file("data/msg/$log.msg");
$totals = count($privs);
if($totals==""){ $totals="0"; }
////////////////////////////////////////////////////////
$texth = @file("gm/conf.dat");
$datah = explode("|",$texth[0]);
$helper = trim($datah[0]);
////////////////////////////////////////////////////////
include_once"files/img.php";
////////////////////////////////////////////////////////
$them_dir = $udata[50];
echo '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">';
echo "<html>n";
echo '<head>
<meta http-equiv="Cache-Control" charset="utf-8" content="no-cache" forua="true"/>
<title>Форум '.$log.'</title>
<link href="themes/'.$them_dir.'/style.css" rel="stylesheet" type="text/css">
</head>
<body>';
////////////////////////////////////////////////////////
echo'<div id="up">';
include "files/hp-mp.php";
echo'</div>';
echo'<div id="telo">';
if (md5($pas)==$password && $log==$login && $log!=="" && md5($pas)!=="") {
include("files/who.php");
switch($go) {
default:
$u = explode(".",$login);
echo'<div id="menu6">';
if($log=="$u[0].GM"){
echo''.$img8.'<a href="forum.php?log='.$log.'&pas='.$pas.'&go=addforum">Добавить форум</a><hr />';
}
$text = @file("data/forum/count.dat");
$udata = explode("||",$text[0]);
$count=trim($udata[0]);
for($i=0; $i<$count; $i++){
$text = @file("data/forum/$i/name.dat");
$udata = explode("||",$text[0]);
$name=trim($udata[0]);
$tem=trim($udata[1]);
$msg=trim($udata[2]);
echo''.$img1.'<a href="forum.php?log='.$log.'&pas='.$pas.'&go=forum&id='.$i.'">'.$name.'</a> ['.$tem.'/'.$msg.']<br />';}
echo'</div>';
break;
case 'addforum':
$u = explode(".",$login);
if($log=="$u[0].GM"){
echo'<div id="menu6">';
echo "Название форума:<br/>";
echo "<form method="post" action="forum.php?log=$log&pas=$pas&go=saveforum"><input type="log" name="nameforum" maxlength="99" title="nameforum"/><br/>";
echo "<input class="button" type="submit" value="ok"/>";
echo "<postfield name="nameforum" value="$(nameforum)"/>";
echo "</form><br/>";
echo'</div>';
}else{echo"Вам сюда доступ запрещен!";}
break;
case 'saveforum':
$u = explode(".",$login);
if($log=="$u[0].GM"){
$text = @file("data/forum/count.dat");
$udata = explode("||",$text[0]);
$count=trim($udata[0]);
$newdir=mkdir("data/forum/$count",0777);
if($newdir){echo'Создание папки - OK.<br /><a href="forum.php?log='.$log.'&pas='.
$pas.'">Назад</a>';}else{
echo'Создание папки - ERROR.<br /><a href="forum.php?log='.$log.'&pas='.$pas.'">Назад</a>';}
$fp=fopen("data/forum/$count/name.dat","w");
flock($fp,LOCK_EX);
ftruncate($fp,0);
fputs($fp,"$nameforum||0||0||");
fflush($fp);
flock($fp,LOCK_UN);
fclose($fp);
$count=$count+1;
$fp=fopen("data/forum/count.dat","w");
flock($fp,LOCK_EX);
ftruncate($fp,0);
fputs($fp,"$count||");
fflush($fp);
flock($fp,LOCK_UN);
fclose($fp);
}else{echo"Вам суда доступ запрещен!";}
break;
case 'forum':
$id = htmlspecialchars(stripslashes(addslashes($id)));
echo'<div id="menu6">';
if(!@file("data/forum/$id/name.dat")){echo"Такой подфорум несуществует!";
include_once"files/down.php";
exit;}
$text = @file("data/forum/$id/name.dat");
$udata = explode("||",$text[0]);
$name=trim($udata[0]);
$tem=trim($udata[1]);
$msg=trim($udata[2]);
echo'<div id="menu6">';
echo"<a href="forum.php?log=$log&pas=$pas&go=addtem&id=$id">Новая тема</a>";
echo'</div>';
if($tem=="0"){echo"Форум пуст."; include_once"files/down.php"; exit;}
for($i=0; $i<$tem; $i++){
$text = @file("data/forum/$id/$i.dat");
$count=count($text);
$count=$count-1;
$udata = explode("||",$text[0]);
$udata2 = explode("||",$text[1]);
$kol[]=$count;
$date[]=$udata2[2];
$nick[]=$udata2[0];
$topic[]=$udata[0];
$sort[]=$udata2[3];
$nomer[]=$i;
arsort($sort);
}
foreach($sort as $k=>$v)
{$name=$nick[$k]; $tema=$topic[$k];
$datet=$date[$k]; $i=$nomer[$k];
$num=$kol[$k];
$u = explode(".",$login);
$data[]="<b><a href="search.php?log=$log&pas=$pas&nick=$name&go=go">$name</a></b> $datet<br/><a href="forum.php?log=$log&pas=$pas&go=tema&id=$id&tema=$i">$tema</a> ($num)";
$del="<a href="forum.php?log=$log&pas=$pas&go=deltem&id=$id&tema=$tema"> [x]</a>";
}
if ($start=="") {$start = 0;}
if ($tem < $start + 10){ $end = $tem; }
else {$end = $start + 10; }
for ($i = $start; $i < $end; $i++){
echo"$data[$i]";
if ($log="$u[0].GM"){echo "$del";}
echo"<br />";
#echo $data[$i];
}
if ($start != 0) {echo '<a href="forum.php?start='.($start - 10).'&log='.$log.'&pas='.$pas.'&id='.$id.'&go=forum">Назад</a> ';}
if ($tem > $start + 10) {echo ' <a href="forum.php?start='.($start + 10).'&log='.$log.'&pas='.$pas.'&id='.$id.'&go=forum">Далее</a>';}
echo "</div>";
echo "</div>";
echo "<div id=lol>";
include "files/downmenu.php";
echo '<br />';
include "files/counter.php";
echo "</div>";
exit;
break;
case 'addtem':
$id = htmlspecialchars(stripslashes(addslashes($id)));
if($udata[36]=="on"){echo"У вас бан чата и форума!";include_once"files/down.php"; exit;}
echo'<div id="menu6">';
echo "
<form method="post" action="forum.php?log=$log&pas=$pas&go=savetem&id=$id">
Название темы:<br/>
<input type="log" name="nametem" maxlength="100" title="name"/><br/>
Сообщение:<br/>
<input type="log" name="msgtem" maxlength="300" title="msg"/><br/>
<input class="button" type="submit" value="ok"/>
<postfield name="nametem" value="$(nametem)"/>
<postfield name="msg" value="$(msgtem)"/>
</form><br/>";
echo'</div>';
break;
case 'savetem':
if(empty($nametem)){echo"Вы не ввели название темы!"; include_once"files/down.php"; exit;}
if(empty($msgtem)){echo"Вы не ввели сообщение!"; include_once"files/down.php"; exit;}
if ($nametem=="" || strlen($nametem) > 100 || strlen($nametem) < 3) { echo"Тема длинная или короткая!"; include_once"files/down.php"; exit;}
if ($msgtem=="" || strlen($msgtem) > 500 || strlen($msgtem) < 3) { echo"Сообщение длинное или короткое!"; include_once"files/down.php"; exit;}
$id = htmlspecialchars(stripslashes(addslashes($id)));
$text = @file("data/forum/$id/name.dat");
$udata = explode("||",$text[0]);
$forum=trim($udata[0]);
$tem=trim($udata[1]);
$msgg=trim($udata[2]);
$date=date("d.m.y");
$time=date("H:i");
$sort=time();
$msgtem = htmlspecialchars(stripslashes(addslashes($msgtem)));
$fp=fopen("data/forum/$id/$tem.dat","w");
flock($fp,LOCK_EX);
fputs($fp,"$nametem||rn$log||$msgtem||[$time/$date]||$sort||rn");
fflush($fp);
flock($fp,LOCK_UN);
fclose($fp);
$tem=$tem+1;
$msgg=$msgg+1;
$fp=fopen("data/forum/$id/name.dat","w");
flock($fp,LOCK_EX);
fputs($fp,"$forum||$tem||$msgg||rn");
fflush($fp);
flock($fp,LOCK_UN);
fclose($fp);
echo"Тема успешно создана.<br/>";
echo"<a href="forum.php?log=$log&pas=$pas&go=forum&id=$id">Продолжить</a>";
break;
case 'tema':
$id = htmlspecialchars(stripslashes(addslashes($id)));
$tema = htmlspecialchars(stripslashes(addslashes($tema)));
echo'<div id="menu6">';
if(!@file("data/forum/$id/$tema.dat")){echo"Такой темы не существует!"; include_once"files/down.php";exit;}
$text = file("data/forum/$id/$tema.dat");
$count=count($text);
if (empty($_GET['start'])) $start = 1;
else $start = $_GET['start'];
if ($count < $start + 10){ $end = $count; }
else {$end = $start + 10; }
for($i=$start; $i<$end; $i++){
$text = file("data/forum/$id/$tema.dat");
$udata = explode("||",$text[$i]);
$udata[1]=@eregi_replace("((https?|ftp|http)://[[:alnum:]_=/-]+(\.[[:alnum:]_=/-]+)*(/[[:alnum:]+&._=/%]*(\?[[:alnum:]?+&_=/%]*)?)?).(ru|org|net|info|com)", "Реклама запрещена", $udata[1]);
$udata[1]=@eregi_replace("([[:alnum:]_=/-]+(\.[[:alnum:]_=/-]+)*(/[[:alnum:]+&._=/%]*(\?[[:alnum:]?+&_=/%]*)?)?).(ru|org|net|info|com)", "Реклама запрещена", $udata[1]);
echo"<div id=line2><b><a href="search.php?log=$log&pas=$pas&nick=$udata[0]&go=go">$udata[0]</a></b>$udata[2]</div><div id=menu8>$udata[1]</div>";
}
if ($start != 1) {echo '<a href="forum.php?start='.($start - 10).'&log='.$log.'&pas='.$pas.'&id='.$id.'&tema='.$tema.'&go=tema">Назад</a> ';}else{echo'';}
if ($count > $start + 10) {echo ' <a href="forum.php?start='.($start + 10).'&log='.$log.'&pas='.$pas.'&id='.$id.'&tema='.$tema.'&go=tema">Далее</a>';}
echo "<div id=line2>Сообщение:<br/>";
echo "<form method="post" action="forum.php?log=$log&pas=$pas&go=addmsg&id=$id&tema=$tema">";
echo "<input type="log" name="msg" maxlength="300" title="msg"/><br/>";
echo "<input class="button" type="submit" value="ok">";
echo "<postfield name="msg" value="$(msg)"/>";
echo "</form></div>";
echo"$img2 <a href="forum.php?log=$log&pas=$pas&go=forum&id=$id">К списку тем</a>";
echo"$img2 <a href="forum.php?log=$log&pas=$pas">В форум</a>";
echo'</div>';
break;
case 'addmsg':
$id = htmlspecialchars(stripslashes(addslashes($id)));
$tema = htmlspecialchars(stripslashes(addslashes($tema)));
if(!@file("data/forum/$id/$tema.dat")){echo"Такой темы не существует!";include_once"files/down.php";exit;}
$msg = htmlspecialchars(stripslashes(addslashes($msg)));
if ($msg=="" || strlen($msg) > 500 || strlen($msg) < 3) { echo"Сообщение длинное или короткое!"; include_once"files/down.php"; exit;}
$date=date("d.m.y");
$time=date("H:i");
$sort=time();
$msg=str_replace("|","",$msg);
$fp=fopen("data/forum/$id/$tema.dat","a+");
flock($fp,LOCK_EX);
fputs($fp,"$log||$msg||[$time/$date]||$sort||rn");
fflush($fp);
flock($fp,LOCK_UN);
fclose($fp);
$text = @file("data/forum/$id/name.dat");
$udata = explode("||",$text[0]);
$forum=trim($udata[0]);
$tem=trim($udata[1]);
$msgg=trim($udata[2]);
$msgg=$msgg+1;
$fp=fopen("data/forum/$id/name.dat","w");
flock($fp,LOCK_EX);
fputs($fp,"$forum||$tem||$msgg||rn");
fflush($fp);
flock($fp,LOCK_UN);
fclose($fp);
echo"Сообщение добавлено.<br/>";
echo"<a href="forum.php?log=$log&pas=$pas&go=tema&id=$id&tema=$tema">Продолжить</a>";
break;
case 'deltem':
$u = explode(".",$login);
if($log=="$u[0].GM"){
$flag=stripslashes($flag);
$flag=htmlspecialchars($flag);
$flag=str_replace("\","",$flag);
$flag=str_replace("/","",$flag);
$flag=str_replace("|","",$flag);
$flag=str_replace("$","",$flag);
$flag=str_replace("&","",$flag);
$flag=str_replace("<","",$flag);
$flag=str_replace(">","",$flag);
$flag = @unlink ("data/forum/$id/$num.dat");
//////////////////////////////////
if($flag)
{
echo"Тема успешно удалена.";
}else{ print"Удалено."; }
$text = @file("data/forum/$id/name.dat");
$udata = explode("||",$text[0]);
$forum=trim($udata[0]);
$tem=trim($udata[1]);
$msgg=trim($udata[2]);
$msg=($msgg-1);
$tem=$tem-1;
$fp=fopen("data/forum/$id/name.dat","w");
flock($fp,LOCK_EX);
fputs($fp,"$forum||$tem||$msgg||rn");
fflush($fp);
flock($fp,LOCK_UN);
fclose($fp);
}else{echo"Доступ запрещен!";}
break;
}
}else{echo"Пароль или логин неверен!";}
include_once "files/down.php";
?>