<?
##############################
## WAP-ENGINE ##
##############################
## ##
## Автор : CHUMA ##
## e-mail : [email protected] ##
## WAP : http://wapeng.info ##
## ICQ : 13-14-11 ##
## ##
##############################
## ВЫ НЕ ИМЕЕТЕ ПРАВО ##
## ИЗМЕНЯТЬ КОД СКРИПТА ##
## ДЛЯ ДАЛЬНЕЙШЕГО ##
## РАСПРОСТРАНЕНИЯ ##
##############################
Error_Reporting(E_ALL & ~E_NOTICE);
Error_Reporting (ERROR | WARNING);
extract($HTTP_GET_VARS);
extract($HTTP_POST_VARS);
extract($HTTP_COOKIE_VARS);
extract($HTTP_SERVER_VARS);
extract($HTTP_SESSION_VARS);
#навигатор по страницам
function nav_page(
$count, # Общее кол-во страниц
$num_page, # Номер текущей страницы
$url # Какой URL для ссылки на страницу (к нему добавляется номер страницы)
) {
$page_nav = 3; # сколько страниц выводить одновременно
$begin_loop=1; # начальное значение в цикле
$end_loop=$count; # конечное значение в цикле
if ($num_page>$count or $num_page<1) $num_page=1; # Проверка на корректность номера текущей страницы
# Далее в функции идёт сам вывод навигации, получено здесь всё опытным путём
if ($num_page>$page_nav) {
echo " <a href=\"$url".($page_nav*(floor($num_page/$page_nav)-($num_page%$page_nav==0 ? 1: 0)))."\">(".($page_nav*(floor($num_page/$page_nav)-1-($num_page%$page_nav==0 ? 1: 0))+1)."-".($page_nav*(floor($num_page/$page_nav)-($num_page%$page_nav==0 ? 1: 0))).")</a> ...";
$begin_loop=$page_nav*(floor($num_page/$page_nav)-($num_page%$page_nav==0 ? 1: 0))+1;
}
if ($count>$page_nav*(floor($num_page/$page_nav)-($num_page%$page_nav==0 ? 1: 0)+1)) { $end_loop=$page_nav*ceil($num_page/$page_nav); }
for ($i = $begin_loop; $i <= $end_loop; $i++) {
if ($i==$num_page) echo " $i";
else echo " <a href=\"$url$i\">$i</a>";
} # for
if ($count>$page_nav*(floor($num_page/$page_nav)-($num_page%$page_nav==0 ? 1: 0)+1)) {
echo " ... <a href=\"$url".($page_nav*ceil($num_page/$page_nav)+1)."\">(".($page_nav*ceil($num_page/$page_nav)+1);
if ($page_nav*ceil($num_page/$page_nav)+1<$count) {
echo "-".($count<=$page_nav*(ceil($num_page/$page_nav)+1) ? $count: $page_nav*(ceil($num_page/$page_nav)+1));
}
echo ")</a>";
}
echo "</div>";
} # nav_page()
# Смайлики ;-)
$s1 = "<img src=\"../../sm/sm.gif\" alt=\"\" />";
$s2 = "<img src=\"../../sm/biggrin.gif\" alt=\"\" />";
$s3 = "<img src=\"../../sm/razz.gif\" alt=\"\" />";
$s4 = "<img src=\"../../sm/cool.gif\" alt=\"\" />";
$s5 = "<img src=\"../../sm/mad.gif\" alt=\"\" />";
$s6 = "<img src=\"../../sm/redface.gif\" alt=\"\" />";
$s7 = "<img src=\"../../sm/wink.gif\" alt=\"\" />";
$s8 = "<img src=\"../../sm/rolleyes.gif\" alt=\"\" />";
$s9 = "<img src=\"../../sm/confused.gif\" alt=\"\" />";
$s10 = "<img src=\"../../sm/eek.gif\" alt=\"\" />";
$s11 = "<img src=\"../../sm/cry.gif\" alt=\"\" />";
require ("../config.php"); #Подключаем настройки сайта. (config.php)
require ("../themes/$themes.php"); #Вставляем скин сайта.
session_name("SESID");
session_start();
if($act=="")
{
if ($_SESSION['login']==$nickadmina && md5($_SESSION['pass'])==$passadmina)
{
echo "<center>Гостевая</center>";
echo "<div><a href=\"gb.php?act=\">обновить</a><br /></div>";
# навигация по страницам
$num_sep =5;
$preview="../data/gb.txt";
$preview = file($preview);
$count = count($preview);
$num_page=1;
if (isset($HTTP_GET_VARS['page'])) {
if (($HTTP_GET_VARS['page']>0) and ($HTTP_GET_VARS['page']<=ceil($count/$num_sep))) $num_page=$HTTP_GET_VARS['page'];
}
for ( $i=($num_page-1)*$num_sep; $i<=(($num_page*$num_sep<$count) ? $num_page*$num_sep-1: $count-1); $i++)
{
#разбор строки из базы сообщений на составляющие
$viewmess = file("../data/gb.txt");
$viewmess = explode("|", $viewmess[$i]);
$name_user = $viewmess[0];
$device_user = $viewmess[1];
$time_user = $viewmess[2];
$mail_user = $viewmess[3];
$url_user = $viewmess[4];
$mess_user = $viewmess[5];
$mess_admin = $viewmess[6];
$mess_admin1 = $viewmess[7];
$mess_admin2 = $viewmess[8];
#выводим в цикле сообщения
echo "<div class=b>$name_user<br />$device_user<br />$time_user<br />";
if (!empty($mail_user))
{
echo "$mail_user<br />";
}
echo "<a href=\"$url_user\">$url_user</a></div>";
echo "<div>$mess_user</div>";
if (!empty($mess_admin))
{
echo "<div><font color=red>Админ $nickadmina: $mess_admin</a></font></div>";
}
if (!empty($mess_admin1))
{
echo "<div><font color=red>Админ $nickadmina: $mess_admin1</a></font></div>";
}
if (!empty($mess_admin2))
{
echo "<div><font color=red>Админ $nickadmina: $mess_admin2</a></font></div>";
}
echo "<div>[<a href=\"gb.php?act=ans&str=$i&to=$mail_user&for=$name_user\">ответ</a>] [<a href=\"gb.php?act=del&str=$i\">удал.</a>] [<a href=\"gb.php?act=ban&ban=$device_user\">бан</a>]</div>";
}
#закончили выводить
#выводим навигацию по страничкам
echo "<div>Страницы: ";
if ($count>$num_sep) #если сообщений больше чем может вместить одна страница отправляем на следующую
nav_page(ceil($count/$num_sep),(isset($HTTP_GET_VARS['page']) ? $HTTP_GET_VARS['page']: 1),"gb.php?act=&page=");
echo "</div>";
$bancount = file("../data/ban.txt");
$bancount = count($bancount);
echo "<div>В гостевой $count сообщений<br /><a href=\"gb.php?act=banlist\">банлист</a> [$bancount]</div>";
}else
{
echo "<p>ошибка авторизации<br /><a href=\"./index.php\">еще раз?</a></p>";
}
#главная офф
}
if ($act=="ans")
{
if ($_SESSION['login']==$nickadmina && md5($_SESSION['pass'])==$passadmina)
{
echo "<p>ответ для $_GET[for]</p>";
echo "<form action=\"gb.php?act=send&str=$_GET[str]\" method=\"post\">
<p>
<input type=\"text\" name=\"otv\" maxlength=\"500\" value=\"\" />\n";
echo "<br /><br />\n";
if (!empty($_GET[to]))
{
echo "<input type=\"radio\" name=\"mail\" value=\"$_GET[to]\">ответ на $_GET[to]<br /><br />\n";
}
echo "<input type=\"submit\" value=\"ответить\" />
</p>
</form>";
echo "<p><a href=\"gb.php?act=\">админ-guest</a></p>";
}
else
{
echo "<p>ошибка авторизации<br /><a href=\"./\">еще раз?</a></p>";
}
echo "<p><a href=\"./main.php\">В админку</a></p>";
}
if($act=="send")
{
if ($_SESSION['login']==$nickadmina && md5($_SESSION['pass'])==$passadmina)
{
$otv = str_replace("\n"," ",$_POST[otv]);
$otv = str_replace("\r"," ",$otv);
$sm1 = array(':-))',':-)',':-P','8-)',':-(',':-O',';-)',':roll:',':rf:','8-(','-(');
$sm2 = array("$s1","$s2","$s3","$s4","$s5","$s6","$s7","$s8","$s9","$s10","$s11");
$otv=str_replace($sm1,$sm2,$otv);
$base = "../data/gb.txt";
$basestr = file("$base");
$restr = trim($basestr[$_GET[str]]);
$buff = @file_get_contents($base);
$buff =str_replace("$restr\r\n","$restr|$otv\r\n",$buff);
$file = fopen("$base","w");
fputs($file,"$buff");
fclose($file);
if (!empty($_POST[mail]))
{
////////////////////////////////////////////////////////////////
$headers="Content-Type: text/html; charset=utf-8\n";
$headers.="From: $emailadmina\nX-Mailer: PHP v.".phpversion();
$tema ="GuestBook-$home";
$text ="Ответ на ваше сообщение в GuestBook-$home: $otv";
mail($_POST[mail],$tema,$text,$headers);
}
echo "<p>Ответ добавлен!<br /><a href=\"gb.php?act=\">админ-guest</a></p>";
echo "<p><a href=\"./main.php\">В админку</a></p>";
}
else
{
echo "<p>ошибка авторизации</span><br /><a href=\"./\">еще раз?</a></p>";
}
}
if ($act=="del")
{
if ($_SESSION['login']==$nickadmina && md5($_SESSION['pass'])==$passadmina)
{
$basedel = "../data/gb.txt";
$basestr = file("$basedel");
$delstr = trim($basestr[$_GET[str]]);
$buff = @file_get_contents($basedel);
$buff =str_replace("$delstr\r\n","",$buff);
$file = fopen("$basedel","w");
fputs($file,"$buff");
fclose($file);
echo "<p>Сообщение удалено!<br /><a href=\"gb.php?act=\">админ-guest</a></p>";
}
else
{
echo "<p>ошибка авторизации<br /><a href=\"./\">еще раз?</a></p>";
}
}
if($act=="ban")
{
if ($_SESSION['login']==$nickadmina && md5($_SESSION['pass'])==$passadmina)
{
$banlist ="../data/ban.txt";
$file = fopen("$banlist","a+");
fputs($file,"$_GET[ban]\r\n");
fclose($file);
echo "<p>$_GET[ban] забанен<br /><a href=\"gb.php?act=\">админ-guest</a></p>";
}
else
{
echo "<p>ошибка авторизации<br /><a href=\"./\">еще раз?</a></p>";
}
}
if($act=="banlist")
{
if ($_SESSION['login']==$nickadmina && md5($_SESSION['pass'])==$passadmina)
{
echo '<p>список ip в бане</p>';
$num_sep =20;
$preview="../data/ban.txt";
$preview = file($preview);
$count = count($preview);
$num_page=1;
if (isset($HTTP_GET_VARS['page'])) {
if (($HTTP_GET_VARS['page']>0) and ($HTTP_GET_VARS['page']<=ceil($count/$num_sep))) $num_page=$HTTP_GET_VARS['page'];
}
for ( $i=($num_page-1)*$num_sep; $i<=(($num_page*$num_sep<$count) ? $num_page*$num_sep-1: $count-1); $i++)
{
$viewban = file("../data/ban.txt");
echo "<div class=b>$viewban[$i]<br />[<a href=\"gb.php?act=razban&str=$i\">разбанить</a>]</div>";
}
#закончили выводить
#выводим навигацию по страничкам
if ($count>$num_sep) //если сообщений больше чем может вместить одна страница отправляем на следующую
nav_page(ceil($count/$num_sep),(isset($HTTP_GET_VARS['page']) ? $HTTP_GET_VARS['page']: 1),"gb.php?act=banlist&page=");
echo "<p>ip в базе: $count</p>";
echo "<p><a href=\"gb.php?act=\">админ-guest</a></p>";
}
else
{
echo "<p>ошибка авторизации<br /><a href=\"./\">еще раз?</a></p>";
}
}
if($act=="razban")
{
if ($_SESSION['login']==$nickadmina && md5($_SESSION['pass'])==$passadmina)
{
$basedel = "../data/ban.txt";
$basestr = file("$basedel");
$delstr = trim($basestr[$_GET[str]]);
$buff = @file_get_contents($basedel);
$buff =str_replace("$delstr\r\n","",$buff);
$file = fopen("$basedel","w");
fputs($file,"$buff");
fclose($file);
echo "<p>$delstr разбанен<br /><a href=\"gb.php?act=\">админ-guest</a></p>";
}else
{
echo "<p>ошибка авторизации<br /></p>";
}
}
include ("../templates/foot.php"); #Вставляем низ сайта. (templates/foot.php)
?>