<?
##############################
## 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 tr_to_win($str)
{
$str=strtr($str,array("__"=>" ","_"=>"","a"=>"а","b"=>"б","v"=>"в","g"=>"г","d"=>"д","e"=>"е","yo"=>"ё","zh"=>"ж","z"=>"з","i"=>"и","j"=>"й","k"=>"к","l"=>"л","m"=>"м","n"=>"н","o"=>"о","p"=>"п","r"=>"р","s"=>"с","t"=>"т","u"=>"у","f"=>"ф","h"=>"х","c"=>"ц","ch"=>"ч","sh"=>"ш","sch"=>"щ","q"=>"ъ","x"=>"ы","%"=>"ь","ye"=>"э","yu"=>"ю","ya"=>"я",
"A"=>"А","B"=>"Б","V"=>"В","G"=>"Г","D"=>"Д","E"=>"Е","YO"=>"Ё","ZH"=>"Ж","Z"=>"З","I"=>"И","J"=>"Й","K"=>"К","L"=>"Л","M"=>"М","N"=>"Н","O"=>"О","P"=>"П","R"=>"Р","S"=>"С","T"=>"Т","U"=>"У","F"=>"Ф","H"=>"Х","C"=>"Ц","CH"=>"Ч","SH"=>"Ш","SCH"=>"Щ","Q"=>"Ъ","X"=>"Ы","YE"=>"Э","YU"=>"Ю","YA"=>"Я"));
return $str;
}
# навигатор по страницам
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=\"\" />";
session_name("SESID");
session_start();
require ("../../config.php"); # Подключаем настройки сайта. (config.php)
require ("../../themes/$themes.php"); # Вставляем скин сайта.
if(!$_GET[act])
{
echo "<center>Гостевая</center>";
echo "<div><a href=\"index.php?act=add\">добавить</a><br /><a href=\"./\">обновить</a><br /></div>";
# навигация по страницам
$num_sep =$guestmes;
$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 />";
if ($_SESSION['login']==$nickadmina && md5($_SESSION['pass'])==$passadmina)
{
echo "$device_user<br />";
}
echo "$time_user<br />";
if (!empty($mail_user))
{
echo "<a href=\"index.php?act=sendmail&to=$mail_user&for=$name_user\">$mail_user</a><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>Страницы: ";
if ($count>$num_sep) //если сообщений больше чем может вместить одна страница отправляем на следующую
nav_page(ceil($count/$num_sep),(isset($HTTP_GET_VARS['page']) ? $HTTP_GET_VARS['page']: 1),"index.php?page=");
echo "</div>";
echo "<p>В гостевой $count сообщений</p>\n";
# главная офф
}
if ($_GET[act]=="add")
{
# форма добавления сообщений
echo "<div>Добавление сообщения";
echo "<form action=\"index.php?act=send\" method=\"post\">
* имя<br />
<input type=\"text\" name=\"name\" maxlength=\"32\" value=\"$name\" /><br />
<input type=\"checkbox\" name=\"nametrans\" value=\"1\" /> Транслит имени
<br />e-mail<br />
<input type=\"text\" name=\"email\" maxlength=\"32\" value=\"$email\" />
<br />сайт(без http://)<br />
<input type=\"text\" name=\"url\" maxlength=\"36\" value=\"$url\" />
<br />* сообщение<br />
<input type=\"text\" name=\"msg\" maxlength=\"$length\" value=\"$msg\" /><br />
<input type=\"checkbox\" name=\"msgtrans\" value=\"1\" /> Транслит сообщения
<br />
<input type=\"submit\" value=\"добавить\" />
</form>";
echo "* - поля, обязательные для заполнения<br />";
echo "<a href=\"index.php?act=smile\">Смайлы</a><br />";
echo "<a href=\"index.php?act=trans\">Транслит</a><br /></div>";
}
if($_GET[act]=="send")
{
$u1=getenv("HTTP_USER_AGENT");
$mobile=strtok($u1,"/");
$user="$mobile: $REMOTE_ADDR";
$currHour=date("H",time());
$currDate=date("d.m.y", time());
$currTime=date("$currHour:i", time());
$time="$currTime-$currDate";
$name = trim($_POST[name]);
$msg = trim($_POST[msg]);
$banlist = file("../../data/ban.txt");
$ban = $user;
$result = false ;
foreach ($banlist as $key => $string)
{
if($ban==trim(array_shift($banlist)))
{
$error = $error."<br />Доступ в гостевую для<br /> <b>$ban</b><br /> закрыт!\n" ;
$result = true ;
}
}
if (!empty($msg))
{
$msglist = file("../../data/gb.txt");
if(empty($check))
{
$check = count($msglist);
}
for ($i = 0; $i <= $check; $i++)
{
$oldmsg = explode('|',$msglist[$i]);
$oldmsg = $oldmsg[5];
$oldmsg = "$oldmsg|";
$oldmsg = explode('|',$oldmsg);
$newmsg = $msg;
$result = false ;
foreach ($oldmsg as $key => $string)
{
if($newmsg==trim(array_shift($oldmsg)))
{
$error = $error."<br />сообщение<br /><br /><i>$newmsg</i><br /><br />уже есть в базе!\n" ;
$result = true ;
}}
}}
if (empty($msg))
{
$error = $error."<br />Вы не ввели сообщение!\n";
}
if (empty($name))
{
$error = $error."<br />Вы не ввели имя!\n";
}
if (!empty($_POST[email]))
/* если введен e-mail, то проверяем с помощью регулярного выражения
правильность ввода */
{
if (!preg_match("/[0-9a-z_]+@[0-9a-z_^\.]+\.[a-z]{2,3}/i", $_POST[email]))
{
$error = $error."<br />Неверно введен е-mail. Введите e-mail
в виде <i>[email protected]</i>!";
}
}
if (!empty($_POST[url]))
/* если введен e-mail, то проверяем с помощью регулярного выражения
правильность ввода */
{
}
$name = substr($HTTP_POST_VARS["name"],0,32);
$name = htmlspecialchars(stripslashes($name));
$time = substr($HTTP_POST_VARS["time"],0,32);
$time = htmlspecialchars(stripslashes($time));
$email = substr($HTTP_POST_VARS["email"],0,32);
$email = htmlspecialchars(stripslashes($email));
$url = substr($HTTP_POST_VARS["url"],0,36);
$url = htmlspecialchars(stripslashes($url));
$msg = substr($HTTP_POST_VARS["msg"],0,1024);
$msg = htmlspecialchars(stripslashes($msg));
if (empty($error))
{
$currHour=date("H",time());
$currDate=date("d.m.y", time());
$currTime=date("$currHour:i", time());
$time="$currTime-$currDate";
$msg = eregi_replace("(.*)\\[url\\](.*)\\[/url\\](.*)","\\1<a
href=\\2>\\2</a>\\3",$msg);
$msg = str_replace("\n"," ",$msg);
$msg = str_replace("\r"," ",$msg);
$sm1 = array(':-))',':-)',':-P','8-)',':-(',':-O',';-)',':roll:',':rf:','8-(','-(');
$sm2 = array("$s1","$s2","$s3","$s4","$s5","$s6","$s7","$s8","$s9","$s10","$s11");
if ($_POST[msgtrans]!=1)
{
$msg=str_replace($sm1,$sm2,$msg);
}
$msg=str_replace('|','!',$msg);
$msg=trim("$msg");
if ($_POST[msgtrans]==1)
{
$msg = tr_to_win($msg);
}
$url = str_replace('http://','',$url);
$url = str_replace("$url","http://$url",$url);
if ($_POST[nametrans]==1)
{
$name = tr_to_win($name);
}
$base = '../../data/gb.txt';
$back = @file_get_contents("../../data/gb.txt");
$file = fopen("$base","w");
fputs($file,"$name|$user|$time|$email|$url|$msg"."\r\n"."$back");
fclose($file);
echo "<div>Сообщение успешно добавлено<br /><a href=\"./\">В гостевую</a></div>";
}
else
{
echo "<p><div>Во время добавления<br /> записи произошли <br />
следующие ошибки</div></p>";
echo "<p><div class=b>";
echo $error;
echo "</div></p>";
echo "<p><div><a href=\"./index.php?act=add\">Добавить заново</a><br />";
echo "<a href=\"./\">В гостевую</a></div></p>";
}
}
if ($_GET[act]=="smile")
{
echo "<div>Доступные смайлы";
echo "<p>
<img src=\"../../sm/sm.gif\" alt=\":-))\" /> :-)) <br />
<img src=\"../../sm/biggrin.gif\" alt=\":-)\" /> :-) <br />
<img src=\"../../sm/razz.gif\" alt=\":-P\" /> :-P <br />
<img src=\"../../sm/cool.gif\" alt=\"8-)\" /> 8-) <br />
<img src=\"../../sm/mad.gif\" alt=\":-(\" /> :-( <br />
<img src=\"../../sm/redface.gif\" alt=\":-O\" /> :-O <br />
<img src=\"../../sm/wink.gif\" alt=\";-)\" /> ;-) <br />
<img src=\"../../sm/rolleyes.gif\" alt=\":roll:\" /> :roll: <br />
<img src=\"../../sm/confused.gif\" alt=\":rf:\" /> :rf: <br />
<img src=\"../../sm/eek.gif\" alt=\"8-(\" /> 8-( <br />
<img src=\"../../sm/cry.gif\" alt=\"-(\" /> -( <br />
</p>";
echo "<p><a href=\"index.php?act=add\">К добавлению сообщения</a></p>";
echo "<p><a href=\"./\">В гостевую</a></p></div>";
}
if ($_GET[act]=="trans")
{
echo "<div>Правила транслита";
echo "<p>
а - a<br/>
б - b<br/>
в - v<br/>
г - g<br/>
д - d<br/>
е - e<br/>
ё - yo<br/>
ж - zh<br/>
з - z<br/>
и - i<br/>
к - k<br/>
л - l<br/>
м - m<br/>
н - n<br/>
о - o<br/>
п - p<br/>
р - r<br/>
с - s<br/>
т - t<br/>
у - u<br/>
ф - f<br/>
х - h<br/>
ц - c<br/>
ч - ch<br/>
ш - sh<br/>
щ - sch<br/>
ъ - q<br/>
ы - x<br/>
ь - %<br/>
э - ye<br/>
ю - yu<br/>
я - ya<br/><br/>
А - A<br/>
Б - B<br/>
В - V<br/>
Г - G<br/>
Д - D<br/>
Е - E<br/>
Ё - YO<br/>
Ж - ZH<br/>
З - Z<br/>
И - I<br/>
К - K<br/>
Л - L<br/>
М - M<br/>
Н - N<br/>
О - O<br/>
П - P<br/>
Р - R<br/>
С - S<br/>
Т - T<br/>
У - U<br/>
Ф - F<br/>
Х - H<br/>
Ц - C<br/>
Ч - CH<br/>
Ш - SH<br/>
Щ - SCH<br/>
Ъ - Q<br/>
Ы - X<br/>
Э - YE<br/>
Ю - YU<br/>
Я - YA<br/>
</p>";
echo "<p><a href=\"index.php?act=add\">К добавлению сообщения</a></p>";
echo "<p><a href=\"./\">В гостевую</a></p></div>";
}
if ($act=="sendmail")
{
echo "<p>отправка e-mail сообщения для $for</p>";
echo "<form method=\"post\" action=\"index.php?act=mail\"><p class=\"p3\">";
echo "кому";
echo "<br /><input type=\"text\" name=\"mail\" maxlength=\"50\" value=\"$to\"/><br />";
echo "тема";
echo "<br /><input type=\"text\" name=\"tema\" maxlength=\"50\" value=\"\"/><br />";
echo "ваш e-mail";
echo "<br /><input type=\"text\" name=\"email\" value=\"\"/>";
echo "<br />сообщение<br />";
echo "<textarea rows=\"3\" size=\"500\" name=\"text\">";
echo "</textarea><br />";
echo "
<input type=\"submit\" name=\"do\" value=\"отправить\"/></p></form>";
echo "<p class=\"p1\"><a href=\"./\">В гостевую</a></p>";
}
if($act=="mail")
{
function myErrorHandler ($errno, $errstr, $errfile, $errline) {}
set_error_handler("myErrorHandler");
$text=htmlspecialchars(stripslashes($text));
$tema=htmlspecialchars(stripslashes($tema));
$tema = substr($HTTP_POST_VARS["tema"],0,50);
$text = substr($HTTP_POST_VARS["text"],0,1000);
##################################################
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)?)$", $mail))
{
echo "<p>";
echo"Несуществующий адрес e-mail!<br /><br />";
echo"<a href=\"./\">Пожалуйста повторите!</a>";
exit;} # no message
if ($text == "") {
echo "<p>";
echo"Вы не написали сообщениe!<br /><br />";
echo"<a href=\"./\">Пожалуйста повторите!</a>";
echo"</p>";
exit;} # no message
if ($email == "") {$email="no@email";}else
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))
{
echo"<p class=\"p3\">";
echo"Несуществующий адрес e-mail!<br /><br />";
echo"Если вы пишите адрес, то указывайте корректный e-mail, или НЕ пишите его вообще!<br /><br />";
echo"<a href=\"./\">Пожалуйста повторите!</a>";
echo"</p>";
exit;} # no message
$headers="Content-Type: text/html; charset=utf-8\n";
$headers.="From: $email\nX-Mailer: PHP v.".phpversion();
mail($mail,$tema,$text,$headers);
echo"<p>";
echo"Спасибо, ваше сообщение отправлено!<br />";
echo"<br /><a href=\"./\">В гостевую</a></p>";
}
require ("../../templates/foot.php"); # Вставляем низ сайта. (templates/foot.php)
?>