<?php
//автор - figura
//сайт - http://f-pt.ru
include("../sistem/cfg.dat");
include("../sistem/global.dat");
include("../temes/$teme/verh.dat");
if($status=="gost" || $status=="uzer" || $status=="moder" || $status=="admin")
{
echo'<div class="razd"><B>ГОСТЕВАЯ КНИГА</B></div>';
if(empty($act)){$act="index";}
if($act == "index"){
echo'»<a href="index.php?act=dobsob&'.SID.'">Добавить</a><br>';
//вывод сообщений
$str = file("../data/gb/gb.dat");
$str=array_reverse($str);//перевернули масив
$nom=count($str)-1;
//начало новой навигации
if(isset($_GET['nom_page'])){$nom_page = $_GET['nom_page'];}else{ $nom_page = "1"; }
if(eregi("[^0-9]" , $nom_page )){ $nom_page = "1"; }
$asd = $nom_page - 1;
$i= $asd * $navgb;
$var = $i+$navgb;
if($nom < $i){ $var = 0; echo'Страница не найдена!<br>'; }
while($i < $var)
{
if($i <= $nom)
{
//показываем сообщение
$arrr=explode("<||>",$str[$i]);
if($uzer_cfg=@file("../data/uzer/$arrr[0].dat"))
{
$file_uzer=explode("<||>",$uzer_cfg[0]);
$postov_uzer=$file_uzer[2];
$lin_time = time() - $file_uzer[16];
if($lin_time <= 300)
{
$on_line = '<font COLOR="#008000">[on]</font>';
}else{ $on_line = '<font COLOR="#B22222">[off]</font>'; }
}else{
$postov_uzer="Гость";
$on_line='';
}
echo'<div class="ramk"><div class="sob">'.$img_gb_post.''.$arrr[1].'<br><a href="../pages/my_menu.php?act=anket&if_uzer='.$arrr[0].'&'.SID.'"><B>'.$arrr[0].'</B></a> ['.$postov_uzer.']'.$on_line.'<br>'.$arrr[2].'<br>'.$arrr[3].'</div>';
echo''.$arrr[4].'';
if($status=="moder" || $status=="admin")
{
echo'<br><a href="index.php?act=dell_sob&st='.$i.'&'.SID.'">Удалить</a> <a href="../pages/ban.php?act=index&ip_uzer='.$arrr[3].'&'.SID.'">Банить IP</a><br>';
}
echo'</div>';
}
++$i;
}
//конец новой навигации
$asd2 = ceil($nom / $navgb);
$asd3 = "0";
//навигация назад, вперёд
if("1" < $nom_page)
{
$nom_previous_page = $nom_page - 1;
echo '<a href="index.php?nom_page='.$nom_previous_page.'&'.SID.'">Назад</a>';
}else{ echo 'Назад'; }
echo'|';
if($asd2 > $nom_page)
{
$nom_next_page = $nom_page + 1;
echo '<a href="index.php?nom_page='.$nom_next_page.'&'.SID.'">Далее</a>';
}else{ echo 'Далее'; }
echo'<br>';
//навигация по номерам страниц
while(++$asd3 <= $asd2)
{
if($nom_page == $asd3)
{
echo'<b>('.$asd3.')</b> ';
}else
{
echo'<a href="index.php?nom_page='.$asd3.'&'.SID.'">'.$asd3.'</a> ';
}
}
//============================================//
$gb_count = file("../data/gb/count.dat");
echo'<br><B>Всего сообщений '.$gb_count[0].'</B><br>';
///////////////////Код для автоудаления старых постов
if($nom >= "150")//если постов больше 150, то чистим:)
{
$str = file("../data/gb/gb.dat");
$nom=count($str);
$filegb = fopen("../data/gb/gb.dat", "w+");
flock ($filegb,LOCK_EX);
$i = "50";//удаляем последние 50 постов
$var = $nom;
while($i <= $var)
{
fputs($filegb,$str[$i]);
++$i;
}
flock ($filegb,LOCK_UN);
fclose($filegb);
@chmod("../data/gb/gb.dat", 0666);
}
echo'<hr size="2" width="100%">';
echo'»<a href="index.php?act=dobsob&'.SID.'">Добавить</a><br>';
echo'»<a href="../pages/smiles.php?act=1&'.SID.'">Смайлы</a><br>';
echo'»<a href="../index.php?'.SID.'">Главная</a><br>';
}
if($act=='dobsob')
{
echo'<form name="forma" action="index.php?'.SID.'" method="post">';
echo'<INPUT TYPE="hidden" NAME="act" VALUE="end">';
if($status=="gost")
{
echo'Имя<br>';
echo'<input type="text" name="uzer_login" value="" size="10" maxlength="10"><br>';
}
echo'Сообщение<br>';
echo'<TEXTAREA NAME="txtsob" ROWS=5 COLS=30></TEXTAREA><br>';
if($status=="gost")
{
$real_pr_kod=htmlspecialchars(rand(1111,9999));
$_SESSION['real_pr_kod']=$real_pr_kod;
echo'Введите: <B>'.$real_pr_kod.'</B><br>';
echo'<input type="text" name="pr_kod" value="" size="4" maxlength="4"><br>';
}
echo'<input type="submit" name="" value="Добавить"><br>';
echo'</form>';
echo'<hr size="2" width="100%">';
echo'»<a href="../pages/smiles.php?act=1&'.SID.'">Смайлы</a><br>';
echo'»<a href="../pages/bb.php?'.SID.'">BB коды</a><br>';
echo'»<a href="index.php?'.SID.'">Гостевая</a><br>';
echo'»<a href="../index.php?'.SID.'">Главная</a><br>';
}
if($act=='end')
{
if(isset($_POST['txtsob'])){$txtsob = $_POST['txtsob'];}
if($status=="gost")
{
if($gb_avt=="oof")
{
if(isset($_SESSION['real_pr_kod'])){ $real_pr_kod = $_SESSION['real_pr_kod']; }else{ $real_pr_kod =""; }
if(isset($_POST['pr_kod'])){$pr_kod = trim($_POST['pr_kod']);}
if(isset($_POST['uzer_login'])){$uzer_login = $_POST['uzer_login'];}////обозначили пост переменные
if($uzer_login=="" || $txtsob=="" || "1000" <= strlen($txtsob))
{
echo'Не все поля заполнены или слишком длинный текст!!!<br>';
}else{
if($real_pr_kod == $pr_kod)
{
if(!file_exists("../data/uzer/$uzer_login.dat"))
{
$ip=htmlspecialchars($_SERVER['REMOTE_ADDR']);
$arbuz=explode("/",$_SERVER['HTTP_USER_AGENT']);
$arbuz=htmlspecialchars($arbuz[0]);
$uzer_login=htmlspecialchars($uzer_login);
$txtsob=htmlspecialchars($txtsob);
include("../sistem/smiles.dat");//обработали смайлами и bb кодами
$uzer_login = str_replace("\r","",$uzer_login);
$uzer_login = str_replace("\n","",$uzer_login);
$txtsob = str_replace("\r","",$txtsob);
$txtsob = str_replace("\n","<br>",$txtsob);
$dat=htmlspecialchars(date("d.m.Y H:i:s"));
$str=''.$uzer_login.'<||>'.$dat.'<||>'.$arbuz.'<||>'.$ip.'<||>'.$txtsob.'<||>';
if($filegb = fopen("../data/gb/gb.dat", "a+"))
{
flock ($filegb,LOCK_EX);
fputs($filegb,$str."\r\n");
flock ($filegb,LOCK_UN);
fclose($filegb);
@chmod("../data/gb/gb.dat", 0666);
//Увеличели счётчик постов
$gb_count = file("../data/gb/count.dat");
$gb_count = $gb_count[0] + 1;
$file_gb_count = fopen("../data/gb/count.dat", "w+");
flock ($file_gb_count,LOCK_EX);
fputs($file_gb_count,$gb_count);
flock ($file_gb_count,LOCK_UN);
fclose($file_gb_count);
@chmod("../data/gb/count.dat", 0666);
echo'Спасибо <B>'.$uzer_login.'</B>!<br>Ваше сообщение успешно добавлено.<br>';
$_SESSION['real_pr_kod']="0000";//меняем проверочный код
}else{
echo'Ошибка добавления сообщения<br>';
}
}else{ echo'Этот логин занят другим пользователем<br>'; }
}else{ echo'Не верно введены цифры<br>'; }
}
}elseif($gb_avt=="on")
{
echo'Администрация запретила неавторизированным пользователям оставлять сообщения в гостевой книге! Авторизируйтесь или зарегистрируйтесь. <a href="../index.php?'.SID.'">Главная</a><br>';
}else
{
echo'Ошибка гостевой книги! Нехватает настроек. ';
}
}
if($status=="uzer" || $status=="moder" || $status=="admin")
{
if($txtsob=="" || "1000" <= strlen($txtsob))
{
echo'Не все поля заполнены или слишком длинный текст!!!<br>';
}else{
$ip=htmlspecialchars($_SERVER['REMOTE_ADDR']);
$arbuz=explode("/",$_SERVER['HTTP_USER_AGENT']);
$arbuz=htmlspecialchars($arbuz[0]);
$login=htmlspecialchars($login);
$txtsob=htmlspecialchars($txtsob);
include("../sistem/smiles.dat");//обработали смайлами и bb кодами
$login = str_replace("\r","",$login);
$login = str_replace("\n","",$login);
$txtsob = str_replace("\r","",$txtsob);
$txtsob = str_replace("\n","<br>",$txtsob);
$dat=htmlspecialchars(date("d.m.Y H:i:s"));
$str=''.$login.'<||>'.$dat.'<||>'.$arbuz.'<||>'.$ip.'<||>'.$txtsob.'<||>';
if($filegb = fopen("../data/gb/gb.dat", "a+"))
{
flock ($filegb,LOCK_EX);
fputs($filegb,$str."\r\n");
flock ($filegb,LOCK_UN);
fclose($filegb);
@chmod("../data/gb/gb.dat", 0666);
//Увеличели счётчик постов
$gb_count = file("../data/gb/count.dat");
$gb_count = $gb_count[0] + 1;
$file_gb_count = fopen("../data/gb/count.dat", "w+");
flock ($file_gb_count,LOCK_EX);
fputs($file_gb_count,$gb_count);
flock ($file_gb_count,LOCK_UN);
fclose($file_gb_count);
@chmod("../data/gb/count.dat", 0666);
//добавляем количество постов
++$postov;
$kod=''.$pass_real.'<||>'.$status.'<||>'.$postov.'<||>'.$golos_za.'<||>'.$golos_protiv.'<||>'.$prichina_bana.'<||>'.$time_reg.'<||>'.$den_plusa.'<||>'.$real_name.'<||>'.$real_name2.'<||>'.$gorod.'<||>'.$a_baut.'<||>'.$vozrost.'<||>'.$pol.'<||>'.$ip.'<||>'.$posled_time_pribivanij.'<||>'.$posled_time.'<||>'.$my_tema.'<||>'.$rezerv1.'<||>'.$rezerv2.'<||>'.$rezerv3.'<||>'.$rezerv4.'<||>'.$rezerv5.'<||>'.$rezerv6.'<||>'.$rezerv7.'<||>'.$rezerv8.'<||>'.$rezerv9.'<||>'.$rezerv10.'<||>'.$rezerv11.'<||>'.$rezerv12.'<||>'.$rezerv13.'<||>'.$rezerv14.'<||>'.$rezerv15.'<||>'.$rezerv16.'<||>'.$rezerv17.'<||>'.$rezerv18.'<||>'.$rezerv19.'<||>'.$rezerv20.'<||>';
$file_login_data = fopen("$koren_dir/data/uzer/$login.dat", "w+");
flock ($file_login_data,LOCK_EX);
fputs($file_login_data,$kod);
flock ($file_login_data,LOCK_UN);
fclose($file_login_data);
@chmod("$koren_dir/data/uzer/$login.dat", 0666);
echo'Спасибо <B>'.$login.'</B>!<br>Ваше сообщение успешно добавлено.<br>';
}else{
echo'Ошибка добавления сообщения<br>';
}
}
}
echo'<hr size="2" width="100%">';
echo'»<a href="index.php?'.SID.'">Гостевая</a><br>';
echo'»<a href="../index.php?'.SID.'">Главная</a><br>';
}
if($act=='dell_sob')
{
if(isset($_GET['st'])){$st = $_GET['st'];}
if($status=="moder" || $status=="admin")
{
$str = file("../data/gb/gb.dat");
$str=array_reverse($str);//перевернули масив
$nom=count($str)-1;
//функция удаления строки
$str[$st] =str_replace($str[$st],"",$str[$st]);
$str=array_reverse($str);//перевернули масив в исходное состояние
$i='0';
$var=$nom;
$filegb = fopen("../data/gb/gb.dat", "w+");
flock ($filegb,LOCK_EX);
while($i <= $var)
{
fputs($filegb,$str[$i]);
++$i;
}
flock ($filegb,LOCK_UN);
fclose($filegb);
@chmod("../data/gb/gb.dat", 0666);
//Ууменьшить счётчик постов
$gb_count = file("../data/gb/count.dat");
$gb_count = $gb_count[0] - 1;
$file_gb_count = fopen("../data/gb/count.dat", "w+");
flock ($file_gb_count,LOCK_EX);
fputs($file_gb_count,$gb_count);
flock ($file_gb_count,LOCK_UN);
fclose($file_gb_count);
@chmod("../data/gb/count.dat", 0666);
echo'Сообщение удалено<br>';
echo'<hr size="2" width="100%">';
echo'»<a href="index.php?act=index&'.SID.'">Гостевая</a><br>';
echo'»<a href="../index.php?'.SID.'">Главная</a><br>';
}
}
}
if($status=="ban")
{
echo'Вам сюда нельзя<br>';
}
include("../sistem/global_end.dat");
include("../temes/$teme/niz.dat");
?>