Размер файла: 5.51Kb
<?php
define('_WBLIB',1);
require_once ('inc/core.php');
if (!$set['comm']) exit('<div class="error">Модуль закрыт администратором</div>');
$req = mysql_query("SELECT * FROM `article` WHERE `id` = '$id' LIMIT 1");
$res = mysql_fetch_assoc($req);
if (mysql_num_rows($req) == 0 ) {
require_once ('inc/head.php');
echo 'Такой статьи не существует';
require_once ('inc/foot.php');
exit; }
// Заголовки
$title = 'Комментарии к '.$res['name'];
require_once ('inc/head.php');
#############################
$act = isset($_GET['act']) ? $_GET['act'] : '';
switch ($act) {
case 'add' :
echo "<script type='text/javascript'>
function reload(){
src=document.captcha.src;
document.captcha.src='loading.gif';
document.captcha.src=src+'?rand='+Math.random();
}
</script>";
echo '<div class="title">Добавление комментария</div>';
if (isset($_POST['go'])) {
if (empty($_POST['name'])) $error = 'Вы не заполнили поле "Ваш ник"<br/>';
$code = intval($_POST['code']) ;
if ($code != $_SESSION['code']) $error.= 'Защитный код введен неверно !<br/>';
if (empty($_POST['code'])) $error.= 'Вы не ввели защитный код<br/>';
if (empty($_POST['text'])) $error.= 'Вы не заполнили поле "Отзыв"';
if ($error) {
echo '<div class="error">';
echo $error;
echo '</div>';
}
else {
# Система антифлуда #
// User agent
if (isset($_SERVER['HTTP_USER_AGENT'])) $ua = htmlspecialchars($_SERVER['HTTP_USER_AGENT']);
else $ua = 'Не определен';
$spam = 30;
$antiflood = mysql_query("SELECT COUNT(*) FROM `comm` WHERE `id_article`='" .$id. "' AND `time` >='" . ($time - $spam) . "' AND `ip` = '".ip2int(getip())."' AND `soft` = '".mysql_real_escape_string($ua)."'");
$flood = mysql_result($antiflood, 0) > 0 ? 1 : false;
if ($flood) {
echo '<div class="link"><b>Антифлуд !</b> Запрещенно часто добавлять сообщения ! <small>[порого '.$spam.' секунд]</small><br/>
<a href="comm.php?id='.$id.'">Назад</a></div>';
require_once ("inc/foot.php");
exit;
}
$name = htmlspecialchars(trim($_POST['name']));
$text = htmlspecialchars(trim($_POST['text']));
$result = mysql_query("insert into `comm` SET
`text`='" . mysql_real_escape_string($text) . "',
`id_article`='".$id."',
`time`='" . $time . "',
`ip`='" .ip2int(getip()). "',
`soft`='" . $ua . "',
`name`='" . mysql_real_escape_string($name) . "';");
unset($_SESSION['code']);
if ($result == true) header('Location: '.$home.'/comm.php?id='.$id.'');
else exit('Ошибка добавления комментария в базу данных');
}
}
echo '<div class="link"><form action = "comm.php?act=add&id='.$id.'" method = "post" name = "form">
Ник <small>[max 100]</small><br/>
<input name="name" type="text" maxlength="100" value="" /><br/>
Комментарий <small>[max 500]</small><br/>
<textarea rows="3" name="text" maxlenght = "500"></textarea><br/>
<small>Введите число с картинки</small><br/><img src="captcha.php" name="captcha" alt="код"/><a href="javascript:void(0)" onclick="reload()">Обн</a><br/>
<input name="code" type="text" size="4" maxlength="6" /><br/>
<input name="go" type="submit" value="Добавить" />
</form></div>';
echo '<div class="bar"><a href="comm.php?id='.$id.'">Назад</a></div>';
break;
default :
echo '<div class="title">Комментарии к '.$res['name'].'</div>';
$posts = mysql_result(mysql_query('SELECT COUNT(*) FROM `comm` WHERE `id_article` = '.$id.';'),0);
$total = intval(($posts - 1) / $num) + 1;
if($page > $total) $page = $total;
$start = $page * $num - $num ;
$result = mysql_query('SELECT * FROM `comm` WHERE `id_article` = '.$id.' ORDER BY id DESC LIMIT '.$start.', '.$num.'');
if ($posts >0) {
while ($m = mysql_fetch_array($result)){
$m['text'] = nl2br($m['text']);
$m['text'] = smileys($m['text']);
$m['text'] = tags($m['text']);
echo '<div class="link"><u>'.$m['name'].'</u>['.date('d.m.y H:i',$m['time']).']<br/>'.$m['text'].'';
if ($level > 0) { echo '<div class="func"><u>IP</u>: '.int2ip($m['ip']).'<br/><u>Soft</u>: '.$m['soft'].'<br/>[<a href="panel/edit_comm.php?id='.$m['id'].'">изм.</a>][<a href="panel/del_comm.php?id='.$m['id'].'">уд.</a>]</div>';}
echo '</div>';
}
}
else {
echo '<div class="link">Комментариев нет</div>';
}
// Вывод меню
if ($posts > $num) {
nav($total,$page,$num,'comm.php?id='.$id.'&');
}
echo '<div class="bar"><a href="comm.php?act=add&id='.$id.'">Добавить комментарий</a><br/>
<a href="article.php?id='.$id.'">К статье</a><br/>
<a href="faq.php?act=bbcode">BB-коды</a>|<a href="faq.php?act=smile">Смайлы</a></div>';
if ($usr_id) {
if ($posts > 1) {
echo '<div class="func"><a href="panel/del_comm.php?act=all&id='.$id.'">Очисить комментарии</a></div>';
}
}
echo '<div class="title">Всего '.$posts.' комментариев</div>';
}
echo '<div class="title"><a href="'.$home.'">Главная</a></div>';
require_once ('inc/foot.php');
?>