View file modules/news/kom.php

File size: 13.05Kb
<?php
##############################
##	     WAP-ENGINE 	    ##
##############################
##						    ##
## Автор : CHUMA			##
## e-mail : [email protected]		##
## WAP : http://wapeng.info ##
##                        	##
##############################
##  ВЫ НЕ ИМЕЕТЕ ПРАВО      ##
##  ИЗМЕНЯТЬ КОД СКРИПТА    ##
##  ДЛЯ ДАЛЬНЕЙШЕГО         ##
##  РАСПРОСТРАНЕНИЯ         ##
##############################
Error_Reporting(E_ALL & ~E_NOTICE);
Error_Reporting (ERROR | WARNING);

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>";
 }
} # 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();

include ("../../config.php");
include ("../../themes/$themes.php");

  if(ereg("^[0-9]{2}\.[0-9]{2}\.[0-9]{4}$", $_GET['id']))
   {
    $id = "$_GET[id]";	
   }
    else
   {
    echo"<p>Неправильный формат комментария</p>";
	include ("../../templates/foot.php");
    exit;
   }
  
  if(!$_GET[act])        
{
    
  echo "<p align=\"center\">Коментарии новости $id</p>";
  echo "<p><a href=\"kom.php?id=$id&act=add\">добавить</a></p>";
# навигация по страницам
$num_sep =10;
$preview="../../data/newskoments/$id.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/newskoments/$id.txt");
          $viewmess = explode("|", $viewmess[$i]);
          $name_user = $viewmess[0];
          $device_user = $viewmess[1];
          $time_user = $viewmess[2];
          $mess_user = $viewmess[3];

          if (file_exists("../../data/newskoments/$id.txt"))
          {
          # выводим в цикле сообщения
  	     echo "<p class=\"b\">$name_user<br />";
  	     if ($_SESSION['login']==$nickadmina && md5($_SESSION['pass'])==$passadmina)
             {
  	            echo "$device_user<br />";
  	         }
  	     echo "$time_user<br />$mess_user</p>";
  	     if ($_SESSION['login']==$nickadmina && md5($_SESSION['pass'])==$passadmina)
             {
  	     echo "<p>[<a href=\"adminkom.php?url=$_GET[url]&id=$id&act=del&str=$i\">удал.</a>]</p>";
  	         }
  	     }else{echo "Коментариев пока нет";} 
} # закончили выводить          
# выводим навигацию по страничкам
echo "<hr /><p>";
if ($count>$num_sep)
{
echo "Страницы: ";
nav_page(ceil($count/$num_sep),(isset($HTTP_GET_VARS['page']) ? $HTTP_GET_VARS['page']: 1),"kom.php?id=$id&page=");
}
echo "</p>";
if(file_exists("../../data/newskoments/$id.txt"))
{
$preview="../../data/newskoments/$id.txt";
$preview = file($preview);
$count = count($preview);
$countkom = "[$count]";
}else{
$countkom = "[0]";
}
echo "<p>Всего $countkom коментариев<br />";
echo "<a href=\"news.php\">В новости</a></p>";
# главная офф
}

if ($_GET[act]=="add")
{
$rand = rand(1000, 9999);
$_SESSION['rand'] = "$rand";
echo "<p>Добавление коментария<br />";
echo  "<form action=\"kom.php?id=$id&act=send\" method=\"post\">
      * имя<br />
      <input type=\"text\" name=\"name\" maxlength=\"32\" value=\"$name\" /><br />
      <input type=\"checkbox\" name=\"nametrans\" value=\"1\" /> Транслит имени
      <br />* сообщение<br />
      <input type=\"text\" name=\"msg\" maxlength=\"100\" value=\"$msg\" /><br />
      <input type=\"checkbox\" name=\"msgtrans\" value=\"1\" /> Транслит сообщения
      <br /><br />
      * Проверочное число <font color=\"red\">$rand</font>:<br/><input size=\"4\" maxlength=\"4\" name=\"imgrand\" value=\"\" /><br/><br/>
      <input type=\"submit\" value=\"добавить\" />  
      </form><br />";

  echo "* - поля, обязательные для заполнения<br />";	  
  echo "<a href=\"kom.php?id=$id&act=smile\">Смайлы</a><br />";
  echo "<a href=\"kom.php?id=$id&act=trans\">Транслит</a><br /><br /></p>";  
}
if($_GET[act]=="send")
	
{
$u1=getenv("HTTP_USER_AGENT");
$mobile=strtok($u1,"/");
$user="$mobile: ".getenv("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]);
					  if (!empty($msg))
					  {
$msglist = file("../../data/newskoments/$id.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[imgrand]))
      {
        $error = $error."Вы не ввели проверочное число!\n";
      }
      if ($_POST[imgrand]!="$_SESSION[rand]")
      {
        $error = $error."Вы неверно ввели проверочное число!\n";
      }

$name = substr($HTTP_POST_VARS["name"],0,32);
$name = htmlspecialchars(stripslashes($name));
$time = substr($HTTP_POST_VARS["time"],0,32);
$time = htmlspecialchars(stripslashes($time)); 
$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);
}

if ($_POST[nametrans]==1)
{
$name = tr_to_win($name);
}
    $base = "../../data/newskoments/$id.txt";
		
    $back = @file_get_contents("../../data/newskoments/$id.txt");
    $file = fopen("$base","w");
    fputs($file,"$name|$user|$time|$msg"."\r\n"."$back");
    fclose($file);
   echo "<p>Коментарий успешно добавлен<br /><a href=\"kom.php?id=$id\">К коментариям</a></p>";

  }
  else
  {   

 echo "<p>Во время добавления<br /> записи произошли <br />
      следующие ошибки</p>";
      echo "<p class=b>";
      echo $error;
      echo "</p>";
        echo "<p><a href=\"kom.php?id=$id&act=add\">Добавить заново</a><br />";
        echo "<a href=\"kom.php?id=$id\">К коментариям</a></p>";
  }
}
   if ($_GET[act]=="smile") 
   {
      
      echo "<p>Доступные смайлы</p>";
    
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=\"kom.php?id=$id&act=add\">К добавлению коментария</a></p>";  
  echo "<p><a href=\"kom.php?id=$id\">К коментариям</a></p>";
   
   }
   
  if ($_GET[act]=="trans") 
   {
      
      echo "<p>Правила транслита</p>";
    
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=\"kom.php?id=$id&act=add\">К добавлению сообщения</a></p>"; 
  echo "<p><a href=\"kom.php?id=$id\">К коментариям</a><br /><br /></p>"; 
  }
 
include ("../../templates/foot.php");
?>