Файл: darkworld/forum.php
Строк: 194
<?
Error_Reporting(E_ALL & ~E_NOTICE);
$rand=rand(100,1000000);
header("Content-type:text/vnd.wap.wml");
echo "<?xml version="1.0" encoding="UTF-8"?>";
echo "<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.2//EN" "http://www.wapforum.org/DTD/wml12.dtd">";
echo "<wml>n";
echo "<head><meta http-equiv="Cache-Control" content="no-cache" forua="true"/></head>";
echo "<card id="index" title="Форум">";
echo "<p align="left">";
$log = htmlspecialchars(stripslashes($log));
$pas = htmlspecialchars(stripslashes($pas));
/////////////////////////////////////////////////////
$text = @file("data/reg/$log.dat");
if ($text!=""){
$udata = explode(":||:",$text[0]);
$login=trim($udata[0]);
$password=trim($udata[1]);}
////////////////////////////////////////////////////////
if (md5($pas)==$password && $log==$login && $log!=="" && md5($pas)!=="") {
include("files/who.php");
switch($go) {
default:
$u = explode(".",$login);
if($log=="$u[0].GM"){
echo"<small><a href="forum.php?log=$log&pas=$pas&go=addforum">Добавить форум</a></small><br/>";
}
$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"<small><br/><a href="forum.php?log=$log&pas=$pas&go=forum&id=$i">$name</a> [$tem/$msg]</small>";
}
break;
case 'addforum':
$u = explode(".",$login);
if($log=="$u[0].GM"){
echo "<small>Название форума:</small><br/>";
echo "<input name="nameforum" maxlength="99" title="nameforum"/><br/>";
echo "<small><anchor title="go">OK<go href="forum.php?log=$log&pas=$pas&go=saveforum" method="post">";
echo "<postfield name="nameforum" value="$(nameforum)"/>";
echo "</go></anchor></small><br/>";
}else{echo"<small>Вам суда доступ запрещен!</small>";}
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"<small>Создание папки - OK.</small>";}else{
echo"<small>Создание папки - ERROR.</small>";}
$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);
chmod ("data/forum/$count/name.dat", 0666);
$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);
chmod ("data/forum/count.dat", 0666);
}else{echo"<small>Вам суда доступ запрещен!</small>";}
break;
case 'forum':
$id = htmlspecialchars(stripslashes(addslashes($id)));
if(!@file("data/forum/$id/name.dat")){echo"<small>Такой подфорум несуществует!</small>";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"<small><a href="forum.php?log=$log&pas=$pas&go=addtem&id=$id">Новая тема</a><br/>- - -</small><br/>";
if($tem=="0"){echo"<small>Форум пуст.</small>"; 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[]="<small><b><a href="search.php?log=$log&pas=$pas&nick=$name">$name</a></b> $datet<br/><a href="forum.php?log=$log&pas=$pas&go=tema&id=$id&tema=$i">$tema</a> ($num)<br/></small>";
}
if ($start=="") {$start = 0;}
if ($tem < $start + 10){ $end = $tem; }
else {$end = $start + 10; }
for ($i = $start; $i < $end; $i++){
echo $data[$i];
}
if ($start != 0) {echo '<small><a href="forum.php?start='.($start - 10).'&log='.$log.'&pas='.$pas.'&id='.$id.'&go=forum">Назад</a></small> ';}else{echo'<small>= = = =</small><br/>';}
if ($tem > $start + 10) {echo ' <small><a href="forum.php?start='.($start + 10).'&log='.$log.'&pas='.$pas.'&id='.$id.'&go=forum">Далее</a></small>';}
break;
case 'addtem':
$id = htmlspecialchars(stripslashes(addslashes($id)));
if($udata[36]=="on"){echo"<small>У вас бан чата и форума!</small></p></card></wml>"; exit;}
echo "<small>Название темы:</small><br/>";
echo "<input name="name$rand" maxlength="100" title="name"/><br/>";
echo "<small>Сообщение:</small><br/>";
echo "<input name="msg$rand" maxlength="300" title="msg"/><br/>";
echo "<small><anchor title="go">OK<go href="forum.php?log=$log&pas=$pas&go=savetem&id=$id" method="post">";
echo "<postfield name="name" value="$(name$rand)"/>";
echo "<postfield name="msg" value="$(msg$rand)"/>";
echo "</go></anchor></small><br/>";
break;
case 'savetem':
if(empty($name)){echo"<small>Вы не ввели название темы!</small>"; include_once"files/down.php"; exit;}
if(empty($msg)){echo"<small>Вы не ввели сообщение!</small>"; include_once"files/down.php"; exit;}
if ($name=="" || strlen($name) > 100 || strlen($name) < 5) { echo"<small>Тема длинная или короткая!</small>"; include_once"files/down.php"; exit;}
if ($msg=="" || strlen($msg) > 300 || strlen($msg) < 5) { echo"<small>Сообщение длинное или короткое!</small>"; 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();
$msg = htmlspecialchars(stripslashes(addslashes($msg)));
$fp=fopen("data/forum/$id/$tem.dat","w");
flock($fp,LOCK_EX);
fputs($fp,"$name||rn$log||$msg||[$time/$date]||$sort||rn");
fflush($fp);
flock($fp,LOCK_UN);
fclose($fp);
chmod ("data/forum/$id/$tem.dat", 0666);
$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);
chmod ("data/forum/$id/name.dat", 0666);
echo"<small>Тема успешно создана.</small><br/>";
echo"<small><a href="forum.php?log=$log&pas=$pas&go=forum&id=$id">Продолжить</a></small>";
break;
case 'tema':
$id = htmlspecialchars(stripslashes(addslashes($id)));
$tema = htmlspecialchars(stripslashes(addslashes($tema)));
if(!@file("data/forum/$id/$tema.dat")){echo"<small>Такой темы не существует!</small>"; 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"<small><b><a href="search.php?log=$log&pas=$pas&nick=$udata[0]">$udata[0]</a></b> $udata[2]<br/>$udata[1]</small><br/>";
}
if ($start != 1) {echo '<small><a href="forum.php?start='.($start - 10).'&log='.$log.'&pas='.$pas.'&id='.$id.'&tema='.$tema.'&go=tema">Назад</a></small> ';}else{echo'<small>= = = =</small><br/>';}
if ($count > $start + 10) {echo ' <small><a href="forum.php?start='.($start + 10).'&log='.$log.'&pas='.$pas.'&id='.$id.'&tema='.$tema.'&go=tema">Далее</a></small>';}
echo"<br/><small><a href="forum.php?log=$log&pas=$pas&go=msg&id=$id&tema=$tema">Ответить</a></small>";
break;
case 'msg':
$id = htmlspecialchars(stripslashes(addslashes($id)));
$tema = htmlspecialchars(stripslashes(addslashes($tema)));
if(!@file("data/forum/$id/$tema.dat")){echo"<small>Такой темы не существует!</small>";include_once"files/down.php";exit;}
echo "<small>Сообщение:</small><br/>";
echo "<input name="msg" maxlength="300" title="msg"/><br/>";
echo "<small><anchor title="go">OK<go href="forum.php?log=$log&pas=$pas&go=addmsg&id=$id&tema=$tema" method="post">";
echo "<postfield name="msg" value="$(msg)"/>";
echo "</go></anchor></small><br/>";
break;
case 'addmsg':
$id = htmlspecialchars(stripslashes(addslashes($id)));
$tema = htmlspecialchars(stripslashes(addslashes($tema)));
if(!@file("data/forum/$id/$tema.dat")){echo"<small>Такой темы не существует!</small>";include_once"files/down.php";exit;}
$msg = htmlspecialchars(stripslashes(addslashes($msg)));
if ($msg=="" || strlen($msg) > 300 || strlen($msg) < 5) { echo"<small>Сообщение длинное или короткое!</small>"; 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);
chmod ("data/forum/$id/name.dat", 0666);
echo"<small>Сообщение добавлено.</small><br/>";
echo"<small><a href="forum.php?log=$log&pas=$pas&go=forum&id=$id">Продолжить</a></small>";
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"<small>Тема успешно удалена.</small>";
}else{ print"<small>Ошибка при удалении темы.</small>"; }
$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;
$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);
chmod ("data/forum/$id/name.dat", 0666);
}else{echo"Доступ запрещен!";}
break;
}
echo"<small><br/><br/><a href="forum.php?log=$log&pas=$pas">Форум</a></small><br/>";
echo"<small><a href="item.php?log=$log&pas=$pas">Инвентарь</a></small><br/>";
echo"<small><a href="gorod.php?log=$log&pas=$pas&gorod=$udataa[20]">В город</a></small>";
if(!empty($udata[23])){echo"<small><br/><a href="clanroom.php?log=$log&pas=$pas">Комната клана</a></small>";}
echo"<small><br/><a href="main.php?log=$log&pas=$pas">Моё меню</a></small>";
}else{echo"<small>Пароль или логин неверен!</small>";}
echo "</p></card></wml>";
?>