Вход Регистрация
Файл: Arh/news.php
Строк: 241
<?php
define
'WBCAT');

$title 'Новости';
require_once (
'inc/head.php');
if (
$settings['news'] == false && !$allow) {
    echo 
'<div class="reply">Данный модуль закрыт администратором !</div>';
    require_once (
'inc/foot.php');
    exit;
}
//Проверка и фильтрация переменной $id
if (isset($_GET['id'])){ $id intval($_GET['id']) ;
if(empty(
$_GET['id'])) exit('Неверный запрос');
$req mysql_query("SELECT * FROM `news` WHERE `id` = '$id' LIMIT 1");
$res mysql_fetch_assoc($req);
if (
mysql_num_rows($req) == ) {
    echo 
'<div class="reply">Такой записи не существует</div>';
    require_once (
'inc/foot.php');
    exit; }
    }

if (isset(
$_SESSION['spam'])) {
    echo 
'<div class="reply">Автоматическая спам-блокировка</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']);    

$mod = isset($_GET['mod']) ? $_GET['mod'] : '';
switch (
$mod) {

    
# Вывод комментариев к новости #

    
case 'view' :


    
// Получаем результаты запросов
    
$view mysql_fetch_array(mysql_query("SELECT * FROM `news` WHERE id='$id';"));
    
$view['text'] = tags($view['text']);
    
$view['text'] = smileys($view['text']);
    echo 
'<div class="razd">Новость</div>';
    echo 
'<div class="news"><b>'.$view['name'].'</b> ['.date('d.m.y/H:i' $view['date']).']</div>';
    echo 
'<div class="news">'.nl2br($view['text']).'</div>';
    echo
'<div class="news">Комментарии</div>';

    
// Формируем вывод комментариев + постраничная навигация

    
$count mysql_result(mysql_query("SELECT COUNT(*) FROM `komm` WHERE `id_news` = '$id'"),0);
    
$pager = new pager($count,$settings['on_page'],$home.'/comments-'.$id.'.html/page-');
    
$result mysql_query('SELECT * FROM `komm` WHERE `id_news`='.$id.' ORDER BY `id` DESC LIMIT '.$pager->get_start().', '.$pager->on_page.'');

    echo 
'<form action="'.$home.'/adm/news_comm_multi_del.php" method="POST">';
    if (
$count >0) {
        while (
$m mysql_fetch_array($result)) {

            echo 
'<div class="title">';
            echo 
print_msg($m,$set_news['bbcode'],$set_news['smileys'],'news');
            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/komm_news.html?mod=edit_komm&id='.$m['id'].'">Ред</a>][<a href="'.$home.'/adm/komm_news.html?mod=del_komm&id='.$m['id'].'">Уд</a>]'.(empty($m['reply']) ?'[<a href="'.$home.'/adm/komm_news.html?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="reply">Комментариев нет</div>';
    }
    if (
$allow) {
         if(
$count>1) {
            echo 
'<input type="hidden" name="id_news" value="'.$view['id'].'"/>';
            echo 
'<div class="func"><a href="'.$home.'/news.html?mod=del_all_komm&id='.$id.'">Удалить все комментарии</a><br/>'
            echo 
'<input type="submit" name="submit" value="Удалить отмеченные"/></div>';
         }
    }
    echo 
'</form>';    
    echo 
'<div class="menu"><a href="'.$home.'/comments-'.$id.'/add.html">Добавить комментарий</a></div>';
    echo 
'<div class="menu"><a href="'.$home.'/bbcode.html">Теги</a>|<a href="'.$home.'/smileys.html">Смайлы</a></div>';
    echo 
'<div class="menu"><a href="'.$home.'/news.html">К новостям</a></div>';
    break;

    
# Добавление новостей #

    
case 'add' :
    if (!
$allow) exit ('Доступ закрыт !');
                if (isset(
$_POST['submit'])) {
                   if (empty(
$_POST['name']) || !check_msg_space($_POST['name'])) {
                      
$error[1] = 'Вы не ввели заголовок новости !';
                    }
                   if (empty(
$_POST['text']) || !check_msg_space($_POST['text'])) {
                       
$error[2] = 'Вы не ввели текст новости !';
                    }
                 if (!empty(
$error)) {
                     echo 
'<div class="title">';
                         foreach(
$error as $value) {
                           echo 
"<b>$value</b> <br />";
                        }
                    }
                     else     {

    
//Обрезаем заголовк и текст новости
            
$name substr($_POST['name'], 0100);
            
$text substr($_POST['text'], 0500);

    
// Фильтрируем переменные и заносим данные в базу
            
$name htmlspecialchars(trim($_POST['name']));
            
$text htmlspecialchars(trim($_POST['text']));
            
$result =  mysql_query("insert into `news` SET
            `name`='" 
mysql_real_escape_string($name) . "',
            `date`='"
.$time."' ,
            `text`='" 
mysql_real_escape_string($text) . "';");
                      if (
$result == true) {
                         
header('Location: '.$home.'/news.html');
                    }
                          else {exit (
'Ошибка добавление новости в базу данных');}
                    }
                }
             echo 
"<div class='razd'>
             Добавление новости</div><div class='news'>
             <form action='news.html?mod=add' method='post'>Заголов новости <small>[max 100]</small> :<br/>
             <input type='text' name='name'/><br/>
             Текст новости <small>[max 500]</small> :<br/>
             <textarea rows='3' name='text'></textarea><br>
             <input type='submit' name='submit' value='Создать новость'/></form></div>"
;
             echo 
'<div class="menu"><a href="news.html">К новостям</a></div>';

    break;

    
# Удаление новостей #

    
case 'del' :
    if (!
$allow) exit ('Доступ закрыт !');
    echo 
'<div class="razd">Удаление новостей</div>';
          if (isset(
$_POST['submit'])) {
                    
$result mysql_query("UPDATE `news` SET `count`=`count`-1  WHERE `id`='" .$id"';");
                    
$result2 mysql_query("DELETE FROM `news` WHERE `id`='" .$id"';");
                    
$result3 mysql_query ("DELETE FROM `komm` WHERE `id_news`='" .$id"';");
                    if (
$result true && $result2 true && $result3 == true){
                         
header('Location: '.$home.'/news.html');
                    }
                        else {
                           echo 
'Ошибка удаление новости';
                        }

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

    
# Редактирование новостей #

    
case 'edit' :
    if (!
$allow) exit ('Доступ закрыт !');
    echo 
'<div class="razd">Редактирование новостей</div>';
                if (isset(
$_POST['go'])) {
                   if (empty(
$_POST['name'])) {
                      
$error[1] = 'Вы не ввели заголовок новости !';
                    }
                   if (empty(
$_POST['text'])) {
                       
$error[2] = 'Вы не ввели текст новости !';
                    }
                 if (!empty(
$error)) {
                     echo 
'<div class="title">';
                         foreach(
$error as $value) {
                           echo 
"<b>$value</b> <br />";
                        }
                    }
                     else     {

    
//Обрезаем заголовк и текст новости
            
$name substr($_POST['name'], 0100);
            
$text substr($_POST['text'], 0500);

    
// Фильтрируем переменные и заносим данные в базу
            
$name htmlspecialchars(trim($_POST['name']));
            
$text htmlspecialchars(trim($_POST['text']));
            
$result =  mysql_query("UPDATE `news` SET
            `name`='" 
mysql_real_escape_string($name). "',
            `text`='"
.mysql_real_escape_string($text)."'
             WHERE `id`='"
.$id."';");
                      if (
$result == true) {
                         
header('Location: '.$home.'/news.html');
                    }
                          else {exit (
'Ошибка добавление новости в базу данных');}
                    }
                }
    
$ms mysql_fetch_array(mysql_query("SELECT `text` , `name` FROM `news` WHERE id='" .$id"' ;"));
    echo 
'<div class="news"><form action = "news.html?mod=edit&id='.$id.'" method = "post" name = "form">
    Заголовок <small>[max 100]</small><br/>
    <input name="name" type="text" maxlength="100" value="'
.$ms['name'].'" /><br/>
    Комментарий <small>[max 500]</small><br/>
    <textarea rows="3" name="text" >'
.$ms['text'].'</textarea><br/>
    <input name="go" type="submit" value="Изменить" />
    </form></div>'
;


    break;

    
# Добавление комментариев #

    
case 'add_komm' :

    echo 
"<script type='text/javascript'>
    function reload(){
        src=document.captcha.src;
        document.captcha.src='loading.gif';
        document.captcha.src=src+'?rand='+Math.random();
    }
    </script>
    "
;

        
// Статус комментариев
    
if ($set_news['komm'] == false && (!$allow)) {
    echo 
'Комментарии закрыты администратором';
    echo 
'<div class="topmenu"><a href="'.$home.'">Главная</a></div>';
    require_once (
'inc/foot.php');
    exit;
    }

    echo 
'<div class="razd">Добавление комментариев</div>';
    if (isset(
$_POST['go'])) {
        
$ASPAM = new anti_spam($_POST['text'],$ASET['status_news'],$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] = 'Вы не заполнили поле "Комментарий"';
            
// Проверяем введенное число
            
$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="reply">';
                   foreach(
$error as $value) {
                            echo 
$value.'<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 $set_news['antiflood'];
          
$antiflood mysql_query("SELECT COUNT(*) FROM `komm` WHERE `id_news`='" .$id"' AND `date` >='" . ($time $spam) . "' AND `ip` = '".ip2int($ip)."' AND `browser` = '".mysql_real_escape_string($ua)."'");
          
$flood mysql_result($antiflood0) > false;
          if (
$flood) {
                echo 
'<div class="reply"><b>Антиспам !</b> Запрещенно часто добавлять сообщения ! <small>[порог '.$spam.' секунд]</small><br/>
                <a href="/comments-'
.$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_news`='"
.$id."',
                  `date`='" 
$time "',
                  `ip`='" 
.ip2int($ip). "',
                  `browser`='" 
$ua "',
                  `name`='" 
mysql_real_escape_string($name) . "';");
                      
$result2 mysql_query("UPDATE `news` SET `count`=`count`+1  WHERE id='".$id."';");
             if (
$result == true && $result2 == true) {header('Location: '.$home.'/comments-'.$id.'.html');}
             else {
             exit (
'Ошибка добавления отзыва в базу данных');
        }
    }
    }
    echo 
'<div class="news"><form action = "/comments-'.$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"></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;

    case 
'del_all_komm' :

    
# Удаление всех комментариев новости #

    
if (!$allow) exit ('Доступ закрыт !');
    echo 
'<div class="zag" Удаление всех комментариев новости</div>';
    if (isset(
$_POST['submit'])) {
                    
$result2 mysql_query("UPDATE `news` SET `count`='0'  WHERE `id`='" .$id"';");
                    
$result mysql_query("DELETE FROM `komm` WHERE `id_news`='" .$id"';");
    if (
$result2 == true && $result == true){
                           
header('Location: '.$home.'/comments-'.$id.'.html');
                    }
                         else {echo 
'Ошибка удаление всех комментариев . Код ошибки <br/>'.mysql_error();}

                } else {

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

    break;

    default :
    echo 
'<div class="razd">Новости каталога</div>';

    
$count mysql_result(mysql_query("SELECT COUNT(*) FROM `news`"),0);
    
$pager = new pager($count,$settings['on_page'],$home.'/news.php?page=');
    
$result mysql_query('SELECT * FROM `news` ORDER BY id DESC LIMIT '.$pager->get_start().', '.$pager->on_page.'');

    if (
$count >0) {
        while (
$m mysql_fetch_array($result)) {
            
$m['text'] = tags($m['text']);
            
$m['text'] = smileys($m['text']);
            echo 
'<div class="news"><b>'.$m['name'].'</b> ['.date('d.m.y / H:i',$m['date']).']<br/>'.nl2br($m['text']).'<br/>';
            if (
$set_news['komm'] == true || $allow) echo '<a href="'.$home.'/comments-'.$m['id'].'.html">Комментарии</a> ('.$m['count'].')'; else echo '';
            if (
$allow) echo '<div class="min"><a href="'.$home.'/news.html?mod=edit&id='.$m['id'].'">Редактировать</a>|<a href="'.$home.'/news.html?mod=del&id='.$m['id'].'">Удалить</a></div>';
            echo 
'</div>';
        }
        echo 
$pager->print_nav();
    }
    else {
           echo 
'<div class="menu">Новостей нет</div>';
    }
    if (
$allow) {
        echo 
'<div class="func"><a href="'.$home.'/news.html?mod=add">Дабавить новость</a><br/>';
        echo 
'<a href="'.$home.'/adm/?mod=news">Настройки</a></div>';
        echo 
'<div class="func">'.(!$settings['news']? '<img src="images/red.png" alt="off"/><small>Модуль отключен для гостей !</small>' '<small>Статус модуля</small> : <img src="images/green.png" alt="on"/> ').'</div>';
    }

    
//echo '<div class="zag">Всего новостей : '.$count.'</div>';
}


echo 
'<div class="topmenu"><a href="'.$home.'">Главная</a></div>';
require_once (
'inc/foot.php');
?>
Онлайн: 2
Реклама