Просмотр файла comm.php

Размер файла: 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.'&amp;');
} 
echo '<div class="bar"><a href="comm.php?act=add&amp;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&amp;id='.$id.'">Очисить комментарии</a></div>';
	}
}
echo '<div class="title">Всего '.$posts.' комментариев</div>';	
}
echo '<div class="title"><a href="'.$home.'">Главная</a></div>';		
require_once ('inc/foot.php');
?>