Просмотр файла gostevaya/index.php

Размер файла: 12.67Kb
<?
	//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&amp;to=$mail_user&amp;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>&nbsp;имя<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>&nbsp;сообщение<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] &#8594; $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>";

   	 }
	 
   	   ?>