<?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");
?>