60) {print"Попытка взлома - куки сильно большие"; exit;} $text=preg_replace( "/


"; print "

Powered by WR-Forum © 1.8M"; exit;} } // АВТОРИЗАЦИЯ ПРОЙДЕНА! $gbc=$_COOKIE['wrforumm']; $gbc=explode("|", $gbc); $gbname=$gbc[0];$gbpass=$gbc[1];$gbtime=$gbc[2]; // АКТИВАЦИЯ пользователя if(isset($_GET['event'])) { if ($_GET['event']=="activate") { $key=$_GET['key']; $email=$_GET['email']; $upage=$_GET['upage']; // защиты от взлома по ключу и емайлу if (strlen($key)<6 or strlen($key)>6 or !ctype_digit($key)) {exit(" $back. Вы ошиблись при вводе ключа. Ключ может содержать только 6 цифр.");} $email=stripslashes($email); $email=htmlspecialchars($email); $email=str_replace("|","I",$email); $email=str_replace("\r\n","
",$email); if (strlen($key)>30) {print"Ошибка при вводе емайла"; exit;} // Ищем юзера с таким емайлом и ключом. Если есть - меняем статус на пустое поле. $email=strtolower($email); unset($fnomer); unset($ok); $lines=file("$datadir/usersdat.php"); $ui=count($lines); $i=$ui; do {$i--; $rdt=explode("|",$lines[$i]); $rdt[3]=strtolower($rdt[3]); if ($rdt[3]===$email and $rdt[13]===$key) {$name=$rdt[0]; $pass=$rdt[1]; $fnomer=$i;} if ($rdt[3]===$email and $rdt[13]==="") {$ok="1";} } while($i > 1); if (isset($fnomer)) { // обновление строки юзера в БД $i=$ui; $dt=explode("|", $lines[$fnomer]); $txtdat="$dt[0]|$dt[1]|$dt[2]|$dt[3]|$dt[4]|$dt[5]|$dt[6]|$dt[7]|$dt[8]|$dt[9]|$dt[10]|$dt[11]|$dt[12]||"; $fp=fopen("$datadir/usersdat.php","a+"); flock ($fp,LOCK_EX); ftruncate ($fp,0);//УДАЛЯЕМ СОДЕРЖИМОЕ ФАЙЛА for ($i=0;$i<=(sizeof($lines)-1);$i++) {if ($i==$fnomer) {fputs($fp,"$txtdat\r\n");} else {fputs($fp,$lines[$i]);}} fflush ($fp); flock ($fp,LOCK_UN); fclose($fp); } if (!isset($fnomer) and !isset($ok)) {print "$back. Вы ошиблись в воде активационного ключа или емайла.
"; exit;} if (isset($ok)) {$add="Запись активирована ранее";} else {$add="$name, Пользователь успешно зарегистрирован.";} print"
Спасибо, $add.

Через несколько секунд Вы будете автоматически перемещены на страницу с участниками форума.

Нажмите здесь, если не хотите больше ждать
"; exit; } } // Блок ПЕРЕСЧЁТА кол-ва тем и сообщений if(isset($_GET['event'])) { if ($_GET['event'] =="revolushion") { $lines = file("$datadir/mainforum.dat"); $countmf=count($lines)-1; $i="-1";$u=$countmf-1;$k="0"; do {$i++; $dt=explode("|", $lines[$i]); if (!isset($dt[12])) {$dt[12]=""; $dt[11]="";} if ($dt[1]!="razdel") { $fid=$dt[0]; if ((is_file("$datadir/topic$fid.dat")) && (sizeof("$datadir/topic$fid.dat")>0)) { $fl=file("$datadir/topic$fid.dat"); $kolvotem=count($fl); $kolvomsg="0"; for ($itf=0; $itf<$kolvotem; $itf++) {$forumdt = explode("|", $fl[$itf]); $cd=$forumdt[7]; $msgfile=file("$datadir/$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]|$dt[11]|$dt[12]|\r\n"; } 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]|$dt[11]|$dt[12]|\r\n";} } else {$lines[$i]="$dt[0]|$dt[1]|$dt[2]|\r\n";} } while($i < $countmf); // сохраняем обновлённые данные о кол-ве тем и сообщений в файле $file=file("$datadir/mainforum.dat"); $fp=fopen("$datadir/mainforum.dat","w"); flock ($fp,LOCK_EX); for ($i=0;$i< sizeof($file);$i++) {fputs($fp,$lines[$i]);} flock ($fp,LOCK_UN); fclose($fp); //@chmod("mainforum.dat",$chmodval); print "



Всё успешно пересчитано.
"; exit; } } // Блок удаления УЧАСТНИКА ФОРУМА if(isset($_GET['udel'])) { if ($_GET['udel'] !="") { if (isset($_GET['upage'])) {$upage=$_GET['upage'];} else {$upage=1;} $udel=$_GET['udel']-1; $file=file("$datadir/usersdat.php"); $i=count($file); if ($i<3) {exit(" Необходимо оставить хотябы ОДНОГО участника!");} $fp=fopen("$datadir/usersdat.php","w"); // удаляем строку с участником flock ($fp,LOCK_EX); for ($i=0;$i< sizeof($file);$i++) { if ($i==$udel) {unset($file[$i]);} } fputs($fp, implode("",$file)); flock ($fp,LOCK_UN); fclose($fp); //@chmod("usersdat.php",$chmodval); Header("Location: admin.php?event=userwho&upage=$upage"); exit; } } // Блок изменения СТАТУСА участника if(isset($_GET['newstatus'])) { if ($_GET['newstatus'] !="") { $newstatus=$_GET['newstatus']-1; $status=$_POST['status']; if (strlen($status)<3) {exit(" новый статус участника < 3 символов - это не серьёзно!");} $status=htmlspecialchars($status); $status=stripslashes($status); $status=str_replace("|"," ",$status); $status=str_replace("\r\n","
",$status); $lines=file("$datadir/usersdat.php"); $i=count($lines); $dt=explode("|", $lines[$newstatus]); $txtdat="$dt[0]|$dt[1]|$dt[2]|$dt[3]|$dt[4]|$dt[5]|$dt[6]|$dt[7]|$dt[8]|$dt[9]|$dt[10]|$dt[11]|$dt[12]|$status|"; $fp=fopen("$datadir/usersdat.php","a+"); flock ($fp,LOCK_EX); ftruncate ($fp,0);//УДАЛЯЕМ СОДЕРЖИМОЕ ФАЙЛА for ($i=0;$i<=(sizeof($lines)-1);$i++) {if ($i==$newstatus) {fputs($fp,"$txtdat\r\n");} else {fputs($fp,$lines[$i]);}} fflush ($fp); flock ($fp,LOCK_UN); fclose($fp); //@chmod("usersdat.php",$chmodval); Header("Location: admin.php?event=userwho"); exit; } } // Блок изменения РЕЙТИНГА участника if(isset($_GET['newreiting'])) { if ($_GET['newreiting'] !="") { $newreiting=$_GET['newreiting']-1; $reiting=$_POST['reiting']; $reiting=htmlspecialchars($reiting); $reiting=stripslashes($reiting); $reiting=str_replace("|"," ",$reiting); $reiting=str_replace("\r\n","
",$reiting); $lines=file("$datadir/usersdat.php"); $i=count($lines); $dt=explode("|", $lines[$newreiting]); $txtdat="$dt[0]|$dt[1]|$reiting|$dt[3]|$dt[4]|$dt[5]|$dt[6]|$dt[7]|$dt[8]|$dt[9]|$dt[10]|$dt[11]|$dt[12]|$dt[13]|"; $fp=fopen("$datadir/usersdat.php","a+"); flock ($fp,LOCK_EX); ftruncate ($fp,0);//УДАЛЯЕМ СОДЕРЖИМОЕ ФАЙЛА for ($i=0;$i<=(sizeof($lines)-1);$i++) {if ($i==$newreiting) {fputs($fp,"$txtdat\r\n");} else {fputs($fp,$lines[$i]);}} fflush ($fp); flock ($fp,LOCK_UN); fclose($fp); //@chmod("usersdat.php",$chmodval); Header("Location: admin.php?event=userwho"); exit; } } // Блок ПЕРЕМЕЩЕНИЯ ВВЕРХ/ВНИЗ РАЗДЕЛА или ТОПИКА if(isset($_GET['movetopic'])) { if ($_GET['movetopic'] !="") { $move1=$_GET['movetopic']; $where=$_GET['where']; if ($where=="0") {$where="-1";} $move2=$move1-$where; $file=file("$datadir/mainforum.dat"); $imax=sizeof($file); if (($move2>=$imax) or ($move2<"0")) {exit(" НИЗЯ туда двигать!");} $data1=$file[$move1]; $data2=$file[$move2]; $fp=fopen("$datadir/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("mainforum.dat",$chmodval); Header("Location: admin.php"); exit; }} // Блок УДАЛЕНИЯ выбранного РАЗДЕЛА или ФОРУМА if(isset($_GET['fxd'])) { if ($_GET['fxd'] !="") { $fxd=$_GET['fxd']; $file=file("$datadir/mainforum.dat"); // удаляем строку, соответствующую теме в файле со всеми темами $fp=fopen("$datadir/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("mainforum.dat",$chmodval); Header("Location: admin.php"); exit; } } // Блок удаления выбранной ТЕМЫ if (isset($_GET['xd'])) { if ($_GET['xd'] !="") { if (isset($_GET['page'])) {$page=$_GET['page'];} else {$page="0";} $xd=$_GET['xd']; $fid=$_GET['fid']; $file=file("$datadir/topic$fid.dat"); // выбираем файл с темой $dt = explode("|", $file[$xd]); $delf = str_replace("\r\n", "", $dt[7]); unlink ("$datadir/$delf.dat"); // удаляем строку, соответствующую теме в файле с текущими темами $fp=fopen("$datadir/topic$fid.dat","w"); flock ($fp,LOCK_EX); for ($i=0;$i< sizeof($file);$i++) { if ($i==$xd) {unset($file[$i]);} } fputs($fp, implode("",$file)); flock ($fp,LOCK_UN); fclose($fp); //@chmod("topic$fid.dat",$chmodval); Header("Location: admin.php?fid=$fid&page=$page"); exit; } } // Блок УДАЛЕНИЯ выбранного СООБЩЕНИЯ if (isset($_GET['topicxd'])) { if ($_GET['topicxd'] !="") { $fid=$_GET['fid']; $id=$_GET['id']; $topicxd=$_GET['topicxd']-1; if (isset($_GET['page'])) {$page=$_GET['page'];} else {$page="0";} $file=file("$datadir/$id.dat"); if (count($file)==1) {exit(" В ТЕМЕ должно остаться хотябы одно сообщение!");} $fp=fopen("$datadir/$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("$id.dat",$chmodval); Header("Location: admin.php?fid=$fid&id=$id&page=$page"); exit; } } // Добавление ФОРУМА / РАЗДЕЛА if(isset($_GET['event'])) { if ($_GET['event'] =="addmainforum") { $ftype=$_POST['ftype']; $zag=$_POST['zag']; $msg=$_POST['msg']; if ($zag == "") {exit(" Вернитесь назад и введите заголовок!");} // пробегаем по файлу с номерами разделов/топиков - ищем наибольшее и добавляем +1 $nextnum="0"; if (is_file("$datadir/mainforum.dat")) { $lines=file("$datadir/mainforum.dat"); $imax = count($lines); $i=0; do {$dt = explode("|", $lines[$i]); if ($nextnum<$dt[0]) {$nextnum=$dt[0];} $i++; } while($i < $imax); $nextnum++;} $zag=str_replace("|","I",$zag); $msg=str_replace("|","I",$msg); if ($ftype == "") {$txtmf="$nextnum|$zag|$msg||0|0||$date|$time||||||";} else {$txtmf="$nextnum|$ftype|$zag|";} $txtmf=htmlspecialchars($txtmf); $txtmf=stripslashes($txtmf); $txtmf=str_replace("\r\n","
",$txtmf); // запись данных на главную страницу $fp=fopen("$datadir/mainforum.dat","a+"); flock ($fp,LOCK_EX); fputs($fp,"$txtmf\r\n"); fflush ($fp); flock ($fp,LOCK_UN); fclose($fp); //@chmod("mainforum.dat",$chmodval); Header("Location: admin.php"); exit; } // Редактирование ФОРУМА / РАЗДЕЛА if ($_GET['event'] =="frdmainforum") { $nextnum=$_POST['nextnum']; $frd=$_POST['frd']; $addmax=$_POST['addmax']; $zvezdmax=$_POST['zvezdmax']; $ftype=$_POST['ftype']; $zag=$_POST['zag']; if ($zag == "") { exit(" Вернитесь назад и введите заголовок!");} $zag=str_replace("|","I",$zag); if ($ftype == "") {$msg=$_POST['msg'];$idtemka=$_POST['idtemka'];$kt=$_POST['kt'];$km=$_POST['km'];$namem=$_POST['namem'];$datem=$_POST['datem'];$timem=$_POST['timem'];$temka=$_POST['temka'];$timetk=$_POST['timetk']; $msg=str_replace("|","I",$msg); $msg=str_replace("\r\n", "
", $msg); $txtmf="$nextnum|$zag|$msg|$idtemka|$kt|$km|$namem|$datem|$timem|$timetk|$temka|$addmax|$zvezdmax||";} else {$txtmf="$nextnum|$ftype|$zag|";} $txtmf=htmlspecialchars($txtmf); $txtmf=stripslashes($txtmf); $txtmf=str_replace("\r\n","
",$txtmf); $file=file("$datadir/mainforum.dat"); $fp=fopen("$datadir/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("mainforum.dat",$chmodval); Header("Location: admin.php"); exit; } if ($_GET['event'] =="rdtema") { // Выбрано редактирование ТЕМЫ $fid=$_GET['fid']; $rd=$_POST['rd']; // - номер ячейки, которую необходимо заменить if (isset($_GET['page'])) {$page=$_GET['page'];} else {$page="0";} $name=$_POST['name']; $who=$_POST['who']; $email=$_POST['email']; $zag=$_POST['zag']; $msg=$_POST['msg']; $datem=$_POST['datem']; $timem=$_POST['timem']; $id=$_POST['id']; $timetk=$_POST['timetk']; $status=$_POST['status']; if ($zag == "") {exit(" Вернитесь назад и введите ТЕМУ!");} $txtmf="$name|$who|$email|$zag|$msg|$datem|$timem|$id|$status|$timetk|"; $txtmf=htmlspecialchars($txtmf); $txtmf=stripslashes($txtmf); $txtmf=str_replace("\r\n","
",$txtmf); $file=file("$datadir/topic$fid.dat"); $fp=fopen("$datadir/topic$fid.dat","a+"); flock ($fp,LOCK_EX); ftruncate ($fp,0);//УДАЛЯЕМ СОДЕРЖИМОЕ ФАЙЛА for ($i=0;$iОшибка скрипта или попытка взлома!");} if (isset($_POST['who'])) {$who=$_POST['who'];} else {$who="";} if (isset($_POST['email'])) {$email=$_POST['email'];} else {$email="";} if (isset($_POST['page'])) {$page=$_POST['page'];} if ($_GET['event']=="addanswer") {$id=$_POST['id'];} // проходим по всем разделам и топикам - ищем запращиваемый $mainlines = file("$datadir/mainforum.dat"); $i=count($mainlines); do {$i--; $dt = explode("|", $mainlines[$i]); if ($dt[0]==$fid) {$realfid=$i; if ($dt[1]=="razdel") {print"попытка взлома"; exit;}} // присваиваем $realfid - № п/п строки } while($i>0); $back="
Вернитесь назад"; if (!isset($name) || strlen($name) > $maxname) {print "$back ваше имя пустое, или превышает $maxname символов!
"; exit;} if (!isset($msg) || strlen($msg) > $maxmsg) {print "$back ваше сообщение пустое или превышает $maxmsg символов."; exit;} {if (!isset($zag)) {print "$back и введите заголовок!"; exit;}} if (!eregi("^([0-9a-z]([-_.]?[0-9a-z])*@[0-9a-z]([-.]?[0-9a-z])*\\.[a-wyz][a-z](fo|g|l|m|mes|o|op|pa|ro|seum|t|u|v|z)?)$", $email) and $email != "") {print "$back и введите корректный E-mail адрес!"; exit;} // ГЕНЕРИРУЕМ ИМЯ файлу с темой if ($_GET['event'] =="addtopic") {$tt=explode(' ', microtime()); $ttt="$tt[1]"+"$tt[0]"; $ttf=str_replace(".", "", $ttt); $id = $ttf;} $tektime=time(); // обрезаем лишние символы в емайле и сообщении $email=substr($email,0,30); $msg=str_replace("|","I",$msg); $msg=htmlspecialchars($msg); $text="$name|$who|$email|$zag|$msg|$date|$time|$id||$tektime|"; $text=stripslashes($text); $text=str_replace("\r\n", "
", $text); if(isset($_GET['topicrd'])) { // Выбрано редактирование СООБЩЕНИЯ $topicrd = $_GET['topicrd']; // номер ячейки, которую необходимо заменить $file=file("$datadir/$id.dat"); $fs=count($file)-1; $i="-1"; $fp=fopen("$datadir/$id.dat","a+"); flock ($fp,LOCK_EX); ftruncate ($fp,0);//УДАЛЯЕМ СОДЕРЖИМОЕ ФАЙЛА do {$i++; if ($i==$topicrd) {fputs($fp,"$text\r\n");} else {fputs($fp,$file[$i]);} } while($i < $fs); fflush ($fp); flock ($fp,LOCK_UN); fclose($fp); //@chmod("$id.dat",$chmodval); Header("Location: admin.php?fid=$fid&id=$id&page=$page"); exit; } if (strlen($name)>18) {$name=substr($name,0,18); $name.="..";} if (strlen($zag)>24) {$zag=substr($zag,0,24); $zag.="..";} // запись данных на главную страницу $lines = file("$datadir/mainforum.dat"); $dt = explode("|", $lines[$realfid]); if ($_GET['event'] =="addtopic") {$dt[4]++;} $dt[5]++; $txtdat="$dt[0]|$dt[1]|$dt[2]|$id|$dt[4]|$dt[5]|$name|$date|$time|$tektime|$zag|$dt[11]|$dt[12]||"; $fp=fopen("$datadir/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("mainforum.dat",$chmodval); } if ($_GET['event'] =="addtopic") { // Добавление ТЕМЫ // запись данных в текущий топик $fp=fopen("$datadir/topic$fid.dat","a+"); flock ($fp,LOCK_EX); fputs($fp,"$text\r\n"); fflush ($fp); flock ($fp,LOCK_UN); fclose($fp); //@chmod("topic$fid.dat",$chmodval); // запись данных в тему $fp=fopen("$datadir/$id.dat","a+"); flock ($fp,LOCK_EX); fputs($fp,"$text\r\n"); fflush ($fp); flock ($fp,LOCK_UN); fclose($fp); //@chmod("$id.dat",$chmodval); Header("Location: admin.php?fid=$fid"); exit; } if ($_GET['event'] =="addanswer") { //ОТВЕТ в теме // запись данных $fp=fopen("$datadir/$id.dat","a+"); flock ($fp,LOCK_EX); fputs($fp,"$text\r\n"); fflush ($fp); flock ($fp,LOCK_UN); fclose($fp); //@chmod("$id.dat",$chmodval); Header("Location: admin.php?fid=$fid&id=$id&page=$page"); exit;} // Сделать копию БД if ($_GET['event']=="makecopy") { if (is_file("$datadir/mainforum.dat")) {$lines=file("$datadir/mainforum.dat");} if (!isset($lines)) {$datasize=0;} else {$datasize=sizeof($lines);} if ($datasize<=0) {exit("Проблемы с Базой данных - база повреждена. Размер = 0!");} if (copy("$datadir/mainforum.dat", "$datadir//copy.dat")) {print "

Копия база данных создана.

$back

";} else {print"Ошибка создания копии БАЗЫ Данных. Попробуйте создать вручную файл copy.dat в папке $datadir и выставить ему права на ЗАПИСЬ - 666 или полные права 777 и повторите операцию создания копии!";} exit; } // Восстановить из копии БД if ($_GET['event']=="restore") { if (is_file("$datadir/copy.dat")) {$lines=file("$datadir/copy.dat");} if (!isset($lines)) {$datasize=0;} else {$datasize=sizeof($lines);} if ($datasize<=0) {exit("Проблемы с копией базы данных - она повреждена. Восстановление невозможно!");} if (copy("$datadir/copy.dat", "$datadir//mainforum.dat")) {print "

БД восстановлена из копии.

$back

";} else {print"Ошибка восстановления из копии БАЗЫ Данных. Попробуйте вручную файлам copy.dat и mainforum.dat в папке $datadir выставить права на ЗАПИСЬ - 666 или полные права 777 и повторите операцию восстановления!";} exit; } // КОНФИГУРИРОВАНИЕ форума, шаг 2: сохранение данных if ($_GET['event']=="config") { if (strlen($_POST['newpassword'])<1) {print"$back разрешается длина пароля МИНИМУМ 1 символ!";} if ($_POST['newpassword']!="скрыт") {$pass=trim($_POST['newpassword']); $_POST['password']=md5("$pass+$skey");} // защита от дурака. Дожились, уже в админке защиту приходится ставить... $fd=stripslashes($_POST['fdesription']); $fd=str_replace("\\","/",$fd); $fd=str_replace("?>","? >",$fd); $fd=str_replace("\"","'",$fd); $fdesription=str_replace("\r\n","
",$fd); mt_srand(time()+(double)microtime()*1000000); $absrand=mt_rand(1000,9999); // Генерируем случайное число для цифрозащиты $configdata="
Вернитесь назад\"; // Удобная строка\r\n". "$"."s2=\"\"; // Смайлики ;-)\r\n". "$"."s1=\"\";\r\n". "$"."s3=\"\";\r\n". "$"."s4=\"\";\r\n". "$"."s5=\"\";\r\n". "$"."s6=\"\";\r\n". "$"."s7=\"\";\r\n". "$"."s8=\"\";\r\n". "$"."s9=\"\";\r\n". "$"."s10=\"\";\r\n". "$"."s11=\"\";\r\n". "$"."s12=\"\";\r\n". "$"."date=date(\"d.m.Y\"); // число.месяц.год\r\n". "$"."time=date(\"H:i:s\"); // часы:минуты:секунды \r\n?>"; $file=file("config.php"); $fp=fopen("config.php","a+"); flock ($fp,LOCK_EX); ftruncate ($fp,0);//УДАЛЯЕМ СОДЕРЖИМОЕ ФАЙЛА fputs($fp,$configdata); fflush ($fp); flock ($fp,LOCK_UN); fclose($fp); Header("Location: admin.php?event=configure"); exit;} } // конец if isset($event) // шапка для всех страниц форума if (isset($_COOKIE['wrfcookies'])) { $wrfc=$_COOKIE['wrfcookies']; $wrfc = explode("|", $wrfc); $wrfname=$wrfc[0];$wrfpass=$wrfc[1];$wrftime1=$wrfc[2];$wrftime2=$wrfc[3]; if (time()>($wrftime1+50)) { $tektime=time(); $wrfcookies="$wrfc[0]|$wrfc[1]|$tektime|$wrftime1|"; setcookie("wrfcookies", $wrfcookies, time()+1728000); $wrfc=$_COOKIE['wrfcookies']; $wrfc = explode("|", $wrfc); $wrfname=$wrfc[0];$wrfpass=$wrfc[1];$wrftime1=$wrfc[2];$wrftime2=$wrfc[3]; } } // Блок выводит в статусной строке: ТЕМА -> РАЗДЕЛ -> ФОРУМ if (isset($fid)) { $mainlines = file("$datadir/mainforum.dat"); $i=count($mainlines); if (!ctype_digit($fid)) {echo "

ОШИБКА!

"; 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("$datadir/$id.dat")) {$lines = file("$datadir/$id.dat"); $dt = explode("|", $lines[0]); $frtname=$dt[3]; $frtname.=" ->";} else {$frtname=""; $frname="";}} else {$frtname="";} } else {$frname=""; $frtname="";} // печатаем ВЕРХУШКУ форума если есть файл ?> Админка :: <?print"$frtname $frname $fname";?> "> "> "; // определяем тип: форум или заголовок if ($dt[1]=="razdel") {print "";} else { if ($dt[7]==$date) {$dt[7]="сегодня";} $maxzvezd=""; if (isset($dt[12])) { if ($dt[12]>0) {$maxzvezd="* $dt[12] звезды минимум";}} print " "; $itogotem=$itogotem+$dt[4]; $itogomsg=$itogomsg+$dt[5]; } } while($a1 < $u); print "
<br />
<b>Warning</b>:  Undefined variable $fname in <b>/home/r3i/forum/admin.php</b> on line <b>755</b><br />

Админка
Warning: Undefined variable $fname in /home/r3i/forum/admin.php on line 756


Warning: Undefined variable $fdesription in /home/r3i/forum/admin.php on line 757


Сделать копию БД Восстановить из копии Участники Пересчитать Настройки ПоискВыход из админки

Сегодня: $date - $time
"; // выводим ГЛАВНУЮ СТРАНИЦУ ФОРУМА if (!isset($_GET['event'])) { if (!isset($_GET['fid'])) { print " "; // Выводим qq сообщений на текущей странице $addform="
Форумы Тем Ответов Обновление
Добавление Раздела / Форума
Тип добавляемого пункта Раздел    Форум
Заголовок
Описание
"; if (!is_file("$datadir/mainforum.dat")) {print "

Файл mainforum.dat несуществует - добавьте форум или раздел.

$addform"; exit;} $lines = file("$datadir/mainforum.dat"); $datasize = sizeof($lines); if ($datasize==0) {print "

Файл mainforum.dat пуст - добавьте форум или раздел.

$addform"; exit;} $i=count($lines); $n="0"; $a1="-1"; $u=$i-1; $fid="0"; $itogotem="0"; $itogomsg="0"; do {$a1++; $dt = explode("|", $lines[$a1]); $fid=$dt[0]; print "
Вв Нз .P. .X.
$dt[2]
 
$dt[1] $maxzvezd
$dt[2]
$dt[4] / $dt[11] $dt[5] тема: $dt[10]
автор: $dt[6]
дата: $dt[7] - $dt[8]

"; // Выбрано редактирование ФОРУМА if (isset($_GET['frd'])) { if ($_GET['frd'] !="") { $frd=$_GET['frd']; $lines = file("$datadir/mainforum.dat"); $dt = explode("|", $lines[$frd]); if (isset($dt[11])) { if ($dt[11]>0) {$addmax=$dt[11];} else {$addmax="100";}} if (isset($dt[12])) { if ($dt[12]<=0) {$dt[12]="0";}} $dt[2]=str_replace("
","\r\n",$dt[2]); print "
";} else {print " Форум ";} print"
Редактирование Раздела / Форума
Тип редактируемого пункта"; if ($dt[1]=="razdel") {print "Раздел
Заголовок
Заголовок
Описание
Максимальное кол-во тем в форуме

"; } } // Конец редактирования ФОРУМА else { print "$addform"; } if ($statistika=="1") { print"
Статистика
Сообщений: $itogomsg
Тем: $itogotem
Всего зарегистрировано участников: $ui
Последним зарегистрировался: $tdt[0]
"; } } // конец главной страницы // выводим страницу С ТЕМАМИ выбранной РУБРИКИ if (isset($_GET['fid']) and !isset($_GET['id'])) { $fid=$_GET['fid']; if (!isset($m1)) {print "
   $fname -> $frname
"; $m1="1";} print ""; // определяем есть ли информация в файле с данными if (is_file("$datadir/topic$fid.dat")) { $msglines=file("$datadir/topic$fid.dat"); if (count($msglines)>0) { // Выводим qqmain сообщений на текущей странице $lines=file("$datadir/topic$fid.dat"); $i=count($lines); $n="0"; if (isset($_GET['page'])) {$page=$_GET['page'];} else {$page="0";} if ($page>=$i) {$page=$i-1;} // Исключаем ошибку вызова несуществующей страницы if ($i-$page-$qqmain>=0) {$a1=$i-$page; $u=$a1-$qqmain;} else {$a1=$i-$page; $u=0;} do {$a1--; $dt=explode("|", $lines[$a1]); $filename=$dt[7]; if (is_file("$datadir/$filename.dat")) {$msgsize = sizeof(file("$datadir/$filename.dat"));} else {print "нет такого файла!!!"; exit;} // определяем кол-во сообщений в текущей теме //////////////// $datatek=file("$datadir/$filename.dat"); $pos=$msgsize-1; $dtt = explode("|", $datatek[$pos]); $foldicon="folder.gif"; // Если последнее сообщение в форуме произошло раньше посещения - значит раздел форума - новый if (isset($wrfname)) {if (isset($dtt[9])) {if ($dtt[9]>$wrftime2) {$foldicon="foldernew.gif";}}} if (strlen($dt[8])>1 and $dt[8]=="closed") {if ($msgsize<"20") {$foldicon="close.gif";} else {$foldicon="closed.gif";}} ///////////////// print ""; } while($a1 > $u); // выводим список доступных страниц $lines=file("$datadir/topic$fid.dat"); $a=count($lines); $i=0; print "
X/P Тема Cообщений Автор Обновления
.P.
.X.
$dt[3]"; if ($msgsize>$qq) { // выводим список доступных страниц print "
     Страницы:  "; for($zi=0; $zi<$msgsize;) {$zii=1+$zi/$qq; print "$zii  "; $zi=$zi+$qq;} } print"
$msgsize "; if ($dt[1]=="да") {print "$dt[0]
$users";} else {print "$dt[0]
$guest";} if ($msgsize>=2) {$linesdat=file("$datadir/$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]="сегодня";} print "
 автор: $dt[0]
 дата: $dt[5]
 время: $dt[6]
  Страницы:  "; for($i=0; $i<$a;) {$ii=1+$i/$qqmain; if ($page==$i) {print "$ii ";} else {print "$ii  ";} $i=$i+$qqmain;} print "

"; } else {print "
 

";} } // ------------ Выбрано редактирование ТЕМЫ if (isset($_GET['rd'])) { if ($_GET['rd'] !="") { $rd=$_GET['rd']; $dt=explode("|", $lines[$rd]); if ($dt[8]=="closed") {$ct2="checked"; $ct1="";} else {$ct1="checked"; $ct2="";} $addbut=" открыта   закрыта"; print "
Редактирование Темы
Тема $addbut
"; } } else { print "
Добавление темы
"; if (!isset($wrfname)) {print "Имя и E-mail
";} print "Заголовок темы
Сообщение
"; if (isset($wrfname)) {print "";} else {print "
";} print "



"; } // -------------- } } // выводим СООБЩЕНИЕ в текущей теме if (isset($_GET['fid']) and isset($_GET['id'])) {$id=$_GET['id']; $fid=$_GET['fid']; // считываем название текущего форума $mainlines = file("$datadir/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("$datadir/$id.dat")) {exit("

ошибка :-(

");} else //файл существует { $lines = file("$datadir/$id.dat"); if (count($lines)>0) { //считываем файл с пользователями в память $userlines = file("$datadir/usersdat.php"); $usercount=count($userlines); // Выводим qq сообщений на текущей странице $lines = file("$datadir/$id.dat"); $i=count($lines); $n="0"; if (isset($_GET['page'])) {$page=$_GET['page'];} else {$page="0";} if ($page>=$i) {$page=(round($i/$qq))*10;} // Исключаем ошибку вызова несуществующей страницы if ($i<=$qq) {$page="0";} if ($page>=1) {$a1=$page;} else {$a1=0;} if (($a1+$qq)<$i) {$u=$a1+$qq;} else {$u=$i;} do {$dt = explode("|", $lines[$a1]); $dt[4]=str_replace("[b]","", $dt[4]); $dt[4]=str_replace("[/b]","", $dt[4]); $dt[4]=str_replace("[RB]","", $dt[4]); $dt[4]=str_replace("[/RB]","", $dt[4]); $dt[4]=str_replace("[Quote]","
Цитата:", $dt[4]); $dt[4]=str_replace("[/Quote]","

", $dt[4]); $dt[4]=str_replace("[Code]","
Код:", $dt[4]); $dt[4]=str_replace("[/Code]","

", $dt[4]); $dt[4]=str_replace(":-))",$s1,$dt[4]); $dt[4]=str_replace(":-)",$s2,$dt[4]); $dt[4]=str_replace(":-P",$s3,$dt[4]); $dt[4]=str_replace("8-)",$s4,$dt[4]); $dt[4]=str_replace(":-(",$s5,$dt[4]); $dt[4]=str_replace(":-O",$s6,$dt[4]); $dt[4]=str_replace(";-)",$s7,$dt[4]); $dt[4]=str_replace(":roll:",$s8,$dt[4]); $dt[4]=str_replace(":rf:",$s9,$dt[4]); $dt[4]=str_replace("8-(",$s10,$dt[4]); $dt[4]=str_replace("`-(",$s11,$dt[4]); $dt[4]=eregi_replace("((https?|ftp)://[[:alnum:]_=/-]+(\\.[[:alnum:]_=/-]+)*(/[[:alnum:]+&._=/~%]*(\\?[[:alnum:]?+&;_=/%]*)?)?)", "\\1", $dt[4]); $a1++; // считываем в память данные по пользователю if ($dt[1]=="да") {$iu=$usercount; do {$iu--; $du = explode("|", $userlines[$iu]); if ($du[0]==$dt[0]) {if (isset($du[12])) {$status=$du[13]; $youavatar=$du[12];} $youwr=eregi_replace("((https?|ftp)://[[:alnum:]_=/-]+(\\.[[:alnum:]_=/-]+)*(/[[:alnum:]+&._=/%]*(\\?[[:alnum:]?+&_=/%]*)?)?)", "\\1", $du[11]);} } while($iu > "0"); } else {unset($youwr);} if (!isset($m1)) { // печатаем шапку print "
   $fname -> $frname -> $dt[3]
"; $m1="1"; } print""; } while($a1 < $u); print "
Автор Сообщение

"; if ($dt[1]=="да" & isset($youwr)) { print "$dt[0] ".chr(149)."

"; if (strlen($status)>1) {print "$status";} else {print"$users";} if (isset($youavatar)) {print "



";}} else {print "$dt[0] ".chr(149)."

$guest";} print "
$dt[4]"; if (isset($youwr)) {if (strlen($youwr)>3) {print "
--------------------------------------------------
$youwr";}} // печатаем подпись участника print"
$a1.
.P..X.
Отправлено: $dt[5] - $dt[6]
"; // выводим список доступных страниц $lines = file("$datadir/$id.dat"); $a = count($lines); print "
Страницы:  "; for($i=0; $i<$a;) {$ii=1+$i/$qq; // подсветка номера текущей страницы if ($page==$i) {print "$ii ";} else {print "$ii  ";} $i=$i+$qq;} print "
"; // Выбрана метка .P. - редактирование сообщения if (isset($_GET['topicrd'])) // выводим сообщение в форму { $topicrd=$_GET['topicrd']-1; $lines = file("$datadir/$id.dat"); $dt = explode("|", $lines[$topicrd]); $dt[4]=str_replace("
", "\r\n", $dt[4]); print "
Сообщение
Имя и E-mail   "; } else { print " "; print"
Сообщение
Имя "; if (!isset($wrfname)) {print "и E-mail
";} print "
"; if (!isset($wrfname)) {print " ";} else {print "$wrfname";} } print "
Сообщение

Для вставки имени, кликните на точку рядом с ним.

Смайлики:
$s1 $s2 $s3 $s4 $s5 $s6 $s7 $s8 $s9 $s10 $s11
"; if (isset($_GET['topicrd'])) { print "
       
   
"; } else { print "
    "; } } } } // else if event !="" if (isset($_GET['event'])) { // КОНФИГУРИРОВАНИЕ форума - выбор настроек if ($_GET['event']=="configure") { if ($sendmail=="1") {$s1="checked"; $s2="";} else {$s2="checked"; $s1="";} if ($sendadmin=="1") {$sa1="checked"; $sa2="";} else {$sa2="checked"; $sa1="";} if ($statistika=="1") {$st1="checked"; $st2="";} else {$st2="checked"; $st1="";} if ($antispam=="1") {$as1="checked"; $as2="";} else {$as2="checked"; $as1="";} if ($newmess=="1") {$n1="checked"; $n2="";} else {$n2="checked"; $n1="";} if ($cangutema=="1") {$ct1="checked"; $ct2="";} else {$ct2="checked"; $ct1="";} if ($cangumsg=="1") {$cm1="checked"; $cm2="";} else {$cm2="checked"; $cm1="";} if ($useactkey=="1") {$u1="checked"; $u2="";} else {$u2="checked"; $u1="";} print "
Конфигурирование
$path = '.'; // Путь до папки. '.' - текущая папка if ($handle = opendir($path)) { while (($file = readdir($handle)) !== false) if (is_dir($file)) { $stroka=stristr($file, "images"); if (strlen($stroka)>"6") {print "$stroka - str $file
"; $tskin=str_replace("images", "Скин ", $file); if ($fskin==$file) {$marker="selected";} else {$marker="";} print"";} } closedir($handle); } else print 'Ошибка!'; print "
Параметр Значение
Название форума
Описание
не рекомендую использовать HTML-теги.
Е-майл администратора
Пароль админа * (зашифрован и скрыт)
Включить отправку сообщений? да   нет
Мылить админну сообщения и вновь зарегистрированных пользователей? да   нет
Показывать статистику на главной странице? да   нет
Создавать файл с новыми сообщениями? да   нет
Макс. длина имени
Макс. длина заголовка темы
Макс. длина сообщения
Задействовать АНТИСПАМ / длина кода да   нет    .:.    (от 1 до 9) цифр
Тем / Cообщений / Участников на страницу   .:.     .:.  
Как называть участников НЕ зареганых / зареганых  /  
Требовать активации через емайл при регистрации? да   нет
Создавать темы / Оставлять сообщения гостям можно?Т: да   нет .:. С: да   нет
Папка с данными доски    По умолчанию - ./data
Максимальный размер аватара в байтах
Скин форума
Chmod (права доступа) для файлов данных обычно 0644


* Если хотите изменить пароль - сотрите слово \"скрыт\" и введите новый пароль.
Рекомендую использовать тольео буквы и/или цифры. "; } // ПРОСМОТР ВСЕХ УЧАСТНИКОВ форума if ($_GET['event']=="userwho") { $t1="row1"; $t2="row2"; $userlines=file("$datadir/usersdat.php"); $ui=count($userlines)-1; print""; if (isset($_GET['upage'])) {$upage=$_GET['upage'];} else {$upage="1";} if ($upage=="0") {$upage="1";} else {$upage=abs($upage);} $maxupage=ceil(($ui+1)/$uq); if ($upage>$maxupage) {$upage=$maxupage;} $i=1+$uq*($upage-1); if ($i>$ui) {$i=$ui-$uq;} $lm=$i+$uq; if ($lm>$ui) {$lm=$ui+1;} do {$tdt=explode("|",$userlines[$i]); $i++; $npp=$i-1; if ($tdt[6]=="мужчина") {$tdt[6]="М";} else {$tdt[6]="Ж";} if (strlen($tdt[13])<2) {$tdt[13]=$users;} print""; if (strlen($tdt[13])=="6" and ctype_digit($tdt[13])) { print"";} $t3=$t2; $t2=$t1; $t1=$t3; } while ($i<$lm); // выводим СПИСОК СТРАНИЦ print "
.X. Имя Пароль Пол Дата регистрации Емайл Статус / Изменить Рейтинг
$npp
.X.
$tdt[0][Активировать]. Учётная запись не активирована с $tdt[4]. (емайл: $tdt[3] ключ: $tdt[13])"; } else { print" $tdt[1] $tdt[6]$tdt[4]$tdt[3]

Страницы:  "; for($i=0; $i<$ui;) {$ip=$i/$uq+1; if ($upage==$ip) {print "$ip  ";} else {print "$ip  ";} $i=$i+$uq;} print "Всего зарегистрировано участников - $ui

"; } } //} else {print"$back. Ошибочка вышла... :-(";} //} // авторизация НЕ пройдена ?>
Powered by WR-Forum © 1.8M