Файл: book.php
Строк: 108
<?php
define( 'WBCAT', 1 );
$title = 'Книга отзывов/пожеланий';
require_once ('inc/head.php');
//Настройки Анти-Спама
$AntiSpam = mysql_fetch_array(mysql_query("SELECT `set` FROM `modules` WHERE `name` = 'anti_spam' LIMIT 1"));
$ASET = unserialize($AntiSpam['set']);
if (!$set_book['status'] && !$allow) {
echo '<div class="error">Данный модуль закрыт администратором !</div>';
require_once ('inc/foot.php');
exit;
}
if (isset($_SESSION['spam'])) {
echo '<div class="error">Автоматическая спам-блокировка</div>';
require_once ('inc/foot.php');
exit;
}
$mod = isset($_GET['mod']) ? $_GET['mod'] : '';
switch ($mod) {
// Добавление комментария
case 'add' :
if(isset($_POST['submit'])) {
$ASPAM = new anti_spam($_POST['text'],$ASET['status_book'],$ASET['security_level'],$ASET['type_level']);
if (empty($_POST['name']) || !check_msg_space($_POST['name'])) {
$error[1] = 'Вы не ввели Ник !';
}
if (empty($_POST['text']) || !check_msg_space($_POST['text'])) {
$error[2] = 'Вы не ввели Сообщение !';
}
if ($set_book['captcha']) {
$code = isset($_POST['code']) ? trim($_POST['code']) : '';
if (empty($code) || $code != $_SESSION['code']) {
$error[3] = 'Защитный код введен неверно !';
}
unset($_SESSION['code']);
}
unset($_SESSION['code']);
$bol = $ASPAM->check_msg();
$typ = $ASPAM->check_type();
if ($bol) {
$error[4] = 'Автоматическая блокировка. Запрещено в сообщении писать ссылки<br/>';
}
if (!empty($error)) {
echo '<div class="error">';
foreach($error as $value) {
echo "<b>$value</b> <br />";
}
echo '<a href="book.html">Назад</a>';
echo '</div>';
}
else {
$name = mb_substr($_POST['name'], 0, $set_book['lenght_name']);
$text = mb_substr($_POST['text'], 0, $set_book['lenght_text']);
// User agent
if (isset($_SERVER['HTTP_USER_AGENT'])) $ua = htmlspecialchars($_SERVER['HTTP_USER_AGENT']);
else $ua = 'Не определен';
// Система антиспама
$spam = $set_book['antiflood'];
$antiflood = mysql_query("SELECT COUNT(*) FROM `book` WHERE `time` >='" . ($time - $spam) . "' AND `ip` = '".ip2int(getip())."' AND `ua` = '".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="book.html">Назад</a></div>';
require_once ("inc/foot.php");
exit;
}
$name = htmlspecialchars(trim($name));
$text = htmlspecialchars(trim($text));
$result = mysql_query("insert into `book` SET
`text`='" . mysql_real_escape_string($text) . "',
`time`='" . $time . "',
`ip`='" .ip2int(getip()). "',
`ua`='" . $ua . "',
`name`='" . mysql_real_escape_string($name) . "';");
if ($result) {
header('Location: book.html');
} else {
echo '<div class="error">Ошибка добавления сообщения в базу . Код ошибки:<br/>'.mysql_error.'</div>';
}
}
} else {
header('Location: '.$home.'/book.html');
}
break;
// Вывод сообщений
default :
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">Книга отзывов/пожеланий</div>';
echo '<div class="main"><a href="'.$home.'/bbcode.html">Теги</a>|<a href="'.$home.'/smileys.html">Смайлы</a></div>';
echo '<div class="title"><form action="book.html?mod=add" method="POST" name="add_msg">';
echo 'Ник <small><u>max '.$set_book['lenght_name'].'</u></small><br/>
<input type="text" name="name" value="" maxlenght="'.$set_book['lenght_name'].'"/><br/>';
echo 'Сообщение <small><u>max '.$set_book['lenght_text'].'</u></small><br/>
<textarea rows="3" name="text" maxlenght="'.$set_book['lenght_text'].'"></textarea><br/>';
if ($set_book['captcha']) {
echo '<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/>';
}
echo ' <input type="submit" name="submit" value="Добавить"/>';
echo '</form></div>';
echo '<div class="title"><font color="red"><small>Внимание ! Запрещено добавлять сообщения , содержащие ссылки на какие-либо ресурсы. В противном случае ваше сообщение будет автоматически заблокировано</font></small></div>';
// Формируем вывод сообщений + постраничная навигация
$count = mysql_result(mysql_query("SELECT COUNT(*) FROM `book`"),0);
$pager = new pager($count,$settings['on_page'],$home.'/book.html/page-');
$result = mysql_query('SELECT * FROM `book` ORDER BY `id` DESC LIMIT '.$pager->get_start().', '.$pager->on_page.'');
echo '<form action="'.$home.'/adm/book_multi_del.php" method="POST">';
if ($count >0) {
while ($m = mysql_fetch_array($result)) {
echo '<div class="title">';
echo print_msg($m,$set_book['bbcode'],$set_book['smileys'],'book');
echo ''.(!empty($m['reply']) ? '<br/><font color="red"><b>Admin</b></font><font color="black"> : '.nl2br($m['reply']).'' :'').'</font>';
if ($allow) {
echo '<div class="min">[<a href="'.$home.'/adm/book_edit.php?id='.$m['id'].'">Ред</a>][<a href="'.$home.'/adm/book_del.php?id='.$m['id'].'">Уд</a>]'.(empty($m['reply']) ?'[<a href="'.$home.'/adm/book_reply.php?id='.$m['id'].'">Ответить</a>]' :'').'
<br/><u>IP</u> : <i>'.int2ip($m['ip']).'</i><br/>
<u>USER AGENT</u> : <i>'.$m['ua'].'</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) {
echo '<div class="func">';
echo (!$set_book['status'] ? '<img src="images/red.png" alt="off"/><small>Модуль отключен для гостей !</small>' : '<small>Статус модуля</small> : <img src="images/green.png" alt="on"/> ');
if($count>1) {
echo '<br/><a href="'.$home.'/adm/book_del_all.php">Удалить все сообщения</a><br/>';
echo '<input type="submit" name="submit" value="Удалить отмеченные"/>';
}
echo '</div>';
}
echo '</form>';
echo '<div class="main"><a href="'.$home.'">Главная</a></div>';
echo '<div class="zag">Всего сообщений : '.$count.'</div>';
}
require_once ('inc/foot.php');
?>