View file review.php

File size: 7.97Kb
<?php
define( 'WBCAT', 1 );
$title = 'Отзывы';
require_once ('inc/head.php');


if ($settings['review'] == false) {
echo '<div class="title">Данный модуль закрыт администратором !</div>';
require_once ('inc/foot.php');
exit;
}

if (isset($_SESSION['spam'])) {
	echo '<div class="error">Автоматическая спам-блокировка</div>';
	require_once ('inc/foot.php');
	exit;
}

//Настройки Анти-Спама
$AntiSpam = mysql_fetch_array(mysql_query("SELECT `set` FROM `modules` WHERE `name` = 'anti_spam' LIMIT 1"));
$ASET = unserialize($AntiSpam['set']);	

if (isset($_GET['id'])) $id=intval($_GET['id']);
if (empty($_GET['id'])) exit('Неверный запрос');
$req_down = mysql_query("SELECT * FROM `sites` WHERE `id` = '$id' LIMIT 1");
$res_down = mysql_fetch_assoc($req_down);
if (mysql_num_rows($req_down) == 0 ) {
    echo 'Сайт не найден';
	require_once ('inc/foot.php');
	exit; }
$ms = mysql_fetch_array(mysql_query("SELECT `url`,`id_cat` FROM `sites` WHERE id='" .$id. "' LIMIT 1;"));
switch ($_GET['mod']) {

# Удаление всех отзывов #

case 'del' :
if (!$allow) exit('Доступ закрыт');
echo '<div class="zag">Админ-панель : Удаление всех отзывово сайта '.$ms['url'].'</div>';
if (isset($_POST['submit'])) {
                $result = mysql_query("DELETE FROM `komm` WHERE `id_site`='" .$id. "';");
if ($result == true ){
                  header('Location: '.$home.'/review-'.$id.'.html');
				}
				else {
				  echo 'Ошибка';
				}

            } else {

echo '<div class="title"><form action="review.php?mod=del&id=' .$id. '" method="post">
			Вы действительно желаете удалить все отзывы ?<br />
			<input type="submit" name="submit" value="Удалить"/>
			</form><br/>
			<a href="review-'.$id.'.html">Назад</a></div>';
}
break;

# Добавление отзыва #

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="zag">Добавление отзыва к сайту '.$ms['url'].'</div>';
if (isset($_POST['go'])) {
    $ASPAM = new anti_spam($_POST['text'],$ASET['status_review'],$ASET['security_level'],$ASET['type_level']);
    if (empty($_POST['name'])) $error[1] = 'Вы не заполнили поле "Ваш ник"';
	if (empty($_POST['text'])) $error[2] = 'Вы не заполнили поле "Отзыв"';

				     // Проверяем введенное число
	    $code = isset($_POST['code']) ? trim($_POST['code']) : '';
		if (empty($code) || $code != $_SESSION['code']) {
		     $error[5] = 'Защитный код введен неверно !';
		    }
		unset($_SESSION['code']);	
		    if (empty($_POST['code'])) {
		     $error[6] = 'Вы не ввели защитный код';
		    }
                    
                $bol = $ASPAM->check_msg();
                $typ = $ASPAM->check_type();
		if ($bol) {
			$error[7] = 'Автоматическая блокировка. Запрещено в сообщении писать ссылки<br/>';
		}     
		if (!empty($error)) {
			echo '<div class="title">';
			   foreach($error as $value) {
                        echo "<b>$value</b> <br />";
						}
				echo '</div>';
			 }
    else {

	#  Система антифлуда #
	// ip
	  if (isset($_SERVER['HTTP_X_FORWARDED_FOR']))$ip = htmlspecialchars($_SERVER['HTTP_X_FORWARDED_FOR']);
	  elseif(isset($_SERVER['REMOTE_ADDR'])) $ip = htmlspecialchars($_SERVER['REMOTE_ADDR']);
	  else $ip = 'Не определн';
	// User agent
	  if (isset($_SERVER['HTTP_USER_AGENT'])) $ua = htmlspecialchars($_SERVER['HTTP_USER_AGENT']);
	  else $ua = 'Не определен';
	  $spam = 30;
	  $antiflood = mysql_query("SELECT COUNT(*) FROM `komm` WHERE `id_site`='" .$id. "' AND `date` >='" . ($time - $spam) . "' AND `ip` = '".ip2int($ip)."' AND `browser` = '".mysql_real_escape_string($ua)."'");
      $flood = mysql_result($antiflood, 0) > 0 ? 1 : false;
	  if ($flood) {
            echo '<div class="error"><b>Антифлуд !</b> Запрещенно часто добавлять сообщения ! <small>[порого '.$spam.' секунд]</small><br/>
			<a href="'.$home.'/review-'.$id.'.html">Назад</a></div>';
            require_once ("inc/foot.php");
            exit;
	  }

	  $name = htmlspecialchars(trim($_POST['name']));
	  $text = htmlspecialchars(trim($_POST['text']));
	              $result = mysql_query("insert into `komm` SET
		      `text`='" . mysql_real_escape_string($text) . "',
		      `id_site`='".$id."',
		      `date`='" . $time . "',
			  `ip`='" .ip2int($ip). "',
			  `browser`='" . $ua . "',
		      `name`='" . mysql_real_escape_string($name) . "';");
         if ($result == true) {header('Location: '.$home.'/review-'.$id.'.html');}
		 else {
		 exit ('Ошибка добавления отзыва в базу данных');
    }
}
}
echo '<div class="title"><form action = "'.$home.'/review-'.$id.'/add.html" method = "post" name = "form">
Ваш ник <small>[max 100]</small><br/>
<input name="name" type="text" maxlength="100" value="" /><br/>
Отзыв <small>[max 255]</small><br/>
<textarea rows="3" name="text" maxlenght = "255"></textarea><br/>
<small>Введите число с картинки</small><br/><img src="'.$home.'/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>';
break;

# Вывод страницы отзывов  #

default :
echo '<div class="zag">Отзывы сайта '.$ms['url'].'</div>';


$count = mysql_result(mysql_query("SELECT COUNT(*) FROM `komm` WHERE `id_site`='$id'"),0);
$pager = new pager($count,$settings['on_page'],$home.'/review-'.$id.'.html/page-');
$result = mysql_query('SELECT * FROM `komm` WHERE `id_site`='.$id.' ORDER BY `id` DESC LIMIT '.$pager->get_start().', '.$pager->on_page.'');
echo '<form action="'.$home.'/adm/review_multi_del.php" method="POST">';
if ($count >0) {
	while ($m = mysql_fetch_array($result)) {	
		echo '<div class="title">';
		echo print_msg($m,1,1,'review');
		echo ''.(!empty($m['reply']) ? '<br/><font color="red"><u>Ответ</u></font><font color="black"> : '.nl2br($m['reply']).'</font>' :'').'';
		if ($allow) {
			echo '<div class="min">[<a href="'.$home.'/adm/edit_review.php?id='.$m['id'].'">Ред</a>][<a href="'.$home.'/adm/del_review.php?id='.$m['id'].'">Уд</a>]'.(empty($m['reply']) ?'[<a href="'.$home.'/adm/komm_news.php?mod=reply&id='.$m['id'].'">Ответить</a>]' :'').'
			<br/><u>IP</u> : <i>'.int2ip($m['ip']).'</i><br/>
			 <u>USER AGENT</u> : <i>'.$m['browser'].'</i><br/>
			 <input type="checkbox" name="id[]" value="'.$m['id'].'"/> Удалить</div>';
		}
		echo '</div>';
	}
	echo $pager->print_nav();
}
else {
       echo '<div class="title">Отзывов нет</div>';
}
if ($allow) {
	if ($count > 1) {
		echo '<input type="hidden" name="id_site" value="'.$id.'"/>';
		echo '<div class="func"><a href="'.$home.'/review-'.$id.'.html?mod=del">Удалить все отзывы</a><br/>
			<input type="submit" name="submit" value="Удалить отмеченные"/></div></div>';
	}
}
echo '</form>';	
echo '<div class="main"><a href="'.$home.'/review-'.$id.'/add.html">Добавить отзыв</a></div>';
echo '<div class="main"><a href="'.$home.'/bbcode.html">Теги</a>|<a href="'.$home.'/smileys.html">Смайлы</a></div>';
echo '<div class="main"><a href="'.$home.'/cat-'.$ms['id_cat'].'/site-'.$id.'.html">К сайту</a></div>';
}

echo '<div class="main"><a href="'.$home.'">На главную</a></div>';
require_once ('inc/foot.php');
?>