<?
//power by "skubidu"
Error_Reporting(E_ALL & ~E_NOTICE);
header("Content-type:application/vnd.wap.xhtml+xml; charset=utf-8");
include "set.php"; //включаем файл с настройками
include"translit.php";
include "rand_fraza.php";//подключаем случайную фразу
$sm1 = array(':-))',':-)',':-P','8-)',':-(',':-O',';-)',':rol',':rf','8-(','-(');
$sm2 = array(':-))',':-)',':-Р','8-)',':-(',':-О',';-)',':рол',':рф','8-(','-(');
$sm3 = array("$s1","$s2","$s3","$s4","$s5","$s6","$s7","$s8","$s9","$s10","$s11");
//$sm1, $sm2 для добавления нового смайла в $sm1, $sm2 через запятую в кавычках добавь его написание ':hello'
// в файле set.php пропиши путь к новому смайлу и добавь к $sm3 в index.php
if(!$act)
{
include "header.php"; //добавляем шапку
echo "<p class=\"p1\">$title<br />$site<br /><span class=\"s2\">$fraza</span></p>";
echo "<p class=\"p1\"><a href=\"index.php?act=add\">добавить</a><br /><a href=\"./\">обновить</a><br /></p>";
/// навигация по страницам
$num_sep =$pp;
$preview="base.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("base.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];
///выводим в цикле сообщения
echo "<p class=\"p2\"><span class=\"s1\">$name_user</span><br />$device_user<br />$time_user</p>\n";
if (!empty($mail_user))
{
echo "<p class=\"p2\"><a href=\"index.php?act=sendmail&to=$mail_user&for=$name_user\">$mail_user</a></p>\n";
}
if (!empty($url_user))
{
echo "<p class=\"p2\"><a href=\"$url_user\">$url_user</a></p>\n";
}
echo "<p class=\"p4\">$mess_user</p>\n";
if (!empty($mess_admin))
{
echo "<p class=\"p4\"><span class=\"s2\">Админ: $mess_admin</span></a></p>\n";
}
} //закончили выводить
////выводим навигацию по страничкам
if ($count>$num_sep) //если сообщений больше чем может вместить одна страница отправляем на следующую
nav_page(ceil($count/$num_sep),(isset($HTTP_GET_VARS['page']) ? $HTTP_GET_VARS['page']: 1),"index.php?page=");
echo "<p class=\"p1\">сообщений в базе: $count</p>\n";
echo "<p class=\"p1\"><a href=\"/\">$site</a></p>";
echo "</body></html>";
///главная офф
}
if ($act=="add")
{
///форма добавления сообщений
include "header.php";
echo "<p class=\"p1\">добавление записи</p>";
echo "<form action=\"index.php\" method=\"post\">
<p class=\"p2\">
<input type=\"hidden\" name=\"act\" value=\"send\" />
<span class=\"s2\">*</span> имя<br />
<input type=\"text\" name=\"name\" maxlength=\"32\" value=\"$name\" /></br>
<input type=\"checkbox\" name=\"ntrans\" value=\"1\" />В транслите.
<br />e-mail<br />
<input type=\"text\" name=\"email\" maxlength=\"32\" value=\"$email\" />
<br />сайт<br />
<input type=\"text\" name=\"url\" maxlength=\"36\" value=\"$url\" />
<br /><span class=\"s2\">*</span> сообщение<br />
<input type=\"text\" name=\"msg\" maxlength=\"$length\" value=\"$msg\" />
<br />
<input type=\"checkbox\" name=\"mtrans\" value=\"1\" />В транслите.<br/>
<input type=\"submit\" value=\"добавить\" />
</p>
</form>";
echo "<p class=\"p4\"><span class=\"s2\">*</span> - поля, обязательные для заполнения</p>";
$k=count($trans2)-1;
echo "<p class=\"p5\"><span class=\"s3\">Правила транслита</span></br>";
for ($i=0;$i<=$k;$i++)
{
echo "$trans2[$i] → $trans1[$i] ; ";
}
echo "</p><p class=\"p1\"><a href=\"index.php?act=smile\">Cмайлы</a><br /><a href=\"./\">$title</a></p>";
echo "</body></html>";
}
if($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($name);
$msg = trim($msg);
$banlist = file("banlist.txt");
$ban = $user;
$result = false ;
foreach ($banlist as $key => $string)
{
if($ban==trim(array_shift($banlist)))
{
$error = $error."<br /><span class=\"s2\">Доступ в гостевую для<br /> <b>$ban</b><br /> закрыт!</span>\n" ;
$result = true ;
} }
if (!empty($msg))
{
$msglist = file("base.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 /><span class=\"s2\">сообщение<br /><br /><i>$newmsg</i><br /><br />уже есть в базе!</span>\n" ;
$result = true ;
}}
}}
if (empty($msg))
{
$error = $error."<br /><span class=\"s2\">Вы не ввели сообщение!</span>\n";
}
if (empty($name))
{
$error = $error."<br /><span class=\"s2\">Вы не ввели имя!</span>\n";
}
if (!empty($email))
/* если введен e-mail, то проверяем с помощью регулярного выражения
правильность ввода */
{
if (!preg_match("/[0-9a-z_]+@[0-9a-z_^\.]+\.[a-z]{2,3}/i", $email))
{
$error = $error."<br /><span class=\"s2\">Неверно введен е-mail. Введите e-mail
в виде <i>[email protected]</i>!</span>";
}
}
if (!empty($url))
/* если введен e-mail, то проверяем с помощью регулярного выражения
правильность ввода */
{
if (!preg_match("/[0-9a-z_]+\.[0-9a-z_^\.]+\.[a-z]{2,3}/i", $url))
{
$error = $error."<br /><span class=\"s2\">Неверно введен url сайта. Введите в виде <i>wap.mail.ru</i>!</span>";
}
}
$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 ($mtrans!="")
{
$msg=str_replace($trans1,$trans2,$msg);
}
if ($ntrans!="")
{
include"translit.php";
$name = str_replace($trans1,$trans2,$name);
}
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);
$msg=str_replace($sm1,$sm3,$msg);
$msg=str_replace($sm2,$sm3,$msg);
$msg=str_replace('|','!',$msg);
$url = str_replace('http://','',$url);
$url = str_replace("$url","http://$url",$url);
$base = 'base.txt';
$back = @file_get_contents("base.txt");
$file = fopen("$base","w");
fputs($file,"$name|$user|$time|$email|$url|$msg"."\r\n"."$back");
fclose($file);
include "header.php";
echo "<p class=\"p1\">сообщение <br />успешно добавлено<br /> в <br /><a href=\"./\">гостевую книгу</a><br /> сайта <br /><a href=\"http://$site\">$site</a></p>\n";
echo "</body></html>";
}
else
{
include "header.php";
echo "<p class=\"p1\">Во время добавления<br /> записи произошли <br />
следующие ошибки</p>\n";
echo "<p class=\"p2\">";
echo $error;
echo "</p>\n";
echo "<p class=\"p1\"><a href=\"./\">$title</a></p>";
echo "</body></html>";
}
}
if ($act=="smile")
{
include "header.php"; //добавляем шапку
echo "<p class=\"p1\">доступные смайлы</p>";
echo "<p class=\"p4\">
<img src=\"sm/sm.gif\" alt=\":-))\" />:-))
<img src=\"sm/biggrin.gif\" alt=\":-)\" />:-)
<img src=\"sm/razz.gif\" alt=\":-P\" />:-P
<img src=\"sm/cool.gif\" alt=\"8-)\" />8-)
<img src=\"sm/mad.gif\" alt=\":-(\" />:-(
<img src=\"sm/redface.gif\" alt=\":-O\" />:-O
<img src=\"sm/wink.gif\" alt=\";-)\" />;-)
<img src=\"sm/rolleyes.gif\" alt=\":roll\" />:roll
<img src=\"sm/confused.gif\" alt=\":rf\" />:rf
<img src=\"sm/eek.gif\" alt=\"8-(\" />8-(
<img src=\"sm/cry.gif\" alt=\"-(\" />-(
</p>";
echo "<p class=\"p1\"><a href=\"./\">$title</a></p>";
echo '</body></html>';
}
if ($act=="sendmail")
{
include "header.php"; //добавляем шапку
echo "<p class=\"p1\">отправка e-mail сообщения для $for</p>";
echo "<form method=\"post\" action=\"index.php\"><p class=\"p3\">";
echo "<input type=\"hidden\" name=\"act\" value=\"mail\" />";
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=\"./\">$title</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))
{ include "header.php";
echo "<p class=\"p3\">";
echo"Несуществующий адрес e-mail!<br /><br />";
echo"<a href=\"./\">Пожалуйста повторите!</a>";
echo"</p></body></html>";
exit;} // no message
if ($text == "") { include "header.php";
echo "<p class=\"p3\">";
echo"Вы не написали сообщениe!<br /><br />";
echo"<a href=\"./\">Пожалуйста повторите!</a>";
echo"</p></body></html>";
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))
{ include "header.php";
echo"<p class=\"p3\">";
echo"Несуществующий адрес e-mail!<br /><br />";
echo"Если вы пишите адрес, то указывайте корректный e-mail, или НЕ пишите его вообще!<br /><br />";
echo"<a href=\"./\">Пожалуйста повторите!</a>";
echo"</p></body></html>";
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);
include "header.php";
echo"<p class=\"p3\">";
echo"Спасибо, ваше сообщение отправлено!<br/><br/>";
echo"<br /><a href=\"./\">$title</a></p></body></html>";
}
?>