Вход Регистрация
Файл: pages/news/news.php
Строк: 513
<?php
include '../../system/mysql.php';
include 
'../../system/sys_func.php';

$news mysql_fetch_array(mysql_query("SELECT * FROM `news` WHERE `id` = '"intval($_GET['id']) ."'"));

switch (
$_GET['menu']) {
    default:
        if (
intval($_GET['id']) && mysql_result(mysql_query("SELECT COUNT(*) FROM `news` WHERE `id` = '"intval($_GET['id']) ."'"), 0) != || !intval($_GET['id'])) {
            
header('Location: /pages/err.php?err=404');
            exit;
        }
        
$error false;
        
$errort '';
        if (isset(
$_POST['add'])) {
            
$msg filter($_POST['msg']);
            if (
strlen($msg) < 1) {
                
$error true;
                
$errort .= '<div class="err">Длина сообщения должна быть не менее 1-ого символа.</div>';
            } elseif (
strlen($msg) > 20000) {
                
$error true;
                
$errort .= '<div class="err">Длина сообщения должна быть не более 2000 символов.</div>';
            }
            if (!
$error) {
                
mysql_query("INSERT INTO `n_post` (`news_id`, `id_user`, `msg`, `time`) values('"$news['id'] ."', '"$user['id'] ."', '"$msg ."', '"time() ."')");
                
$bon_rand rand(15);
                
mysql_query("UPDATE `users` SET `bonus` = '". ($user['bonus']+$bon_rand) ."' WHERE `id` = '"$user['id'] ."'");
                
header('Location: ?id='$news['id'] .'&page=end');
                exit;
            }
        }
        
$title 'Новости/'$news['name'];
        include 
'../../system/head.php';
        echo 
'<div class="title"><a href="/pages/news/">Новости</a> / '$news['name'] .'</div>';
        echo 
$errort;
        
$who_add mysql_fetch_assoc(mysql_query("SELECT * FROM `users` WHERE `id` = '"$news['user_id'] ."' LIMIT 1"));
        echo 
'<div class="post">
        <span class="c_date">'
ptime($news['time']) .'</span>
        <b>'
output($news['name']) .'</b>
        <br>'
output($news['msg']) .'
        </div>'
;
        if (
$user['position'] == 'admin') echo '<a class="link" href="?menu=edit&id='$news['id'] .'&edit"><img src="/design/imgs/edit.png"> Редактировать</a>';
        echo 
'<div class="post">Добавил: ';
        echo 
online($who_add['id']);
        echo 
'<a href="/pages/users/user.php?name='$who_add['login'] .'">'$who_add['login'] .'</a>';
        echo 
'</div>';
        
$c_p mysql_result(mysql_query("SELECT COUNT(*) FROM `n_post` WHERE `news_id` = '"$news['id'] ."'"),0);
        if (isset(
$user)) $p_page $user['p_page'];
        else 
$p_page '10';
        
$k_page k_page($c_p$p_page);
        
$page page($k_page);
        
$start $p_page*$page-$p_page;
        if (
$c_p == 0) {
            echo 
'<div class="post">
            Нет комментариев
            </div>'
;
        } else {
            echo 
'<div class="post">
            <b>Комментарии</b> ('
$c_p .')
            </div>'
;
        }
        
$q mysql_query("SELECT * FROM `n_post` WHERE `news_id` = '"$news['id'] ."' ORDER BY `time` ASC LIMIT $start, "$p_page);
        while (
$post mysql_fetch_assoc($q)) {
            
$ank mysql_fetch_assoc(mysql_query("SELECT * FROM `users` WHERE `id` = '"$post['id_user'] ."' LIMIT 1"));
            
$reply mysql_fetch_array(mysql_query("SELECT `login` FROM `users` WHERE `id` = '"$post['reply'] ."' LIMIT 1"));
            echo 
'<div class="post">
            <span class="c_date">'
ptime($post['time']) .'</span>
            <table cellpadding="0" cellspacing="0">
            <tr>
            <td>'
;
            
avatar($ank['id'], 'b');
            echo 
'&#160;</td>
            <td>'
;
            echo 
online($ank['id']);
            echo 
'<a href="?menu=action&post='$post['id'] .'">'$ank['login'] .'</a>';
            echo 
user($ank['id']);
            echo 
'</td>
            </tr>
            </table>
            <hr>'

            if (
$post['reply'] != NULL) echo 'Ответ <a href="/pages/users/user.php?name='$reply['login'] .'"><b>'$reply['login'] .'</b></a>:<br>';
            if (
$post['quote'] != NULL) echo '<div class="quote">Цитата:<br>'htmlspecialchars_decode($post['quote']) .'</div>';
            echo 
output($post['msg']) .'
            </div>'
;
        }
        if (
$k_page 1str('?id='$news['id'] .'&'$k_page$page);
        if (isset(
$user)) {
            echo 
'<form method="post" name="message">';
            include 
'../../system/bbcodes.php';
            echo 
'<textarea class="resize" name="msg"></textarea><br>';
            include 
'../../system/smiles.php';
            echo 
'<input value="Добавить" type="submit" name="add" />
            </form>'
;
        } else {
            echo 
'<div class="err">Чтобы оставлять комментарии, вы должны <a href="/pages/registration/">зарегистрироваться</a> или <a href="/pages/registration/?menu=login">авторизоваться</a>!</div>';
        }
        if (
$user['position'] == 'admin') echo '<a class="link" href="?id='$news['id'] .'&menu=action&truncate"><img src="/design/imgs/delete.png" /> Очистить новость от комментариев</a>';
        echo 
'<a class="link" href="index.php"><img src="/design/imgs/arr_b.png" align="center"> Новости</a>';
        include 
'../../system/foot.php';
    break;

    case 
'action':
        
// Ответ
        
if (isset($_GET['reply']) && mysql_result(mysql_query("SELECT COUNT(*) FROM `n_post` WHERE `id` = '"intval($_GET['reply']) ."'"), 0) == 1) {
            if (!isset(
$_GET['reply']) || mysql_result(mysql_query("SELECT COUNT(*) FROM `n_post` WHERE `id` = '"intval($_GET['reply']) ."'"), 0) != 1) {
                
header('Location: /pages/err.php?err=404');
                exit;
            }
            
$post mysql_fetch_array(mysql_query("SELECT * FROM `n_post` WHERE `id` = '"intval($_GET['reply']) ."' LIMIT 1"));
            
$news mysql_fetch_array(mysql_query("SELECT * FROM `news` WHERE `id` = '"$post['news_id'] ."'"));
            
$ank mysql_fetch_array(mysql_query("SELECT * FROM `users` WHERE `id` = '"$post['id_user'] ."' LIMIT 1"));
            if (!isset(
$user)) {
                
$title 'Новости/Ошибка';
                include 
'../../system/head.php';
                echo 
'<div class="title"><a href="/pages/news/">Новости</a> / Ошибка</div>
                <div class="err">Чтобы просматривать данную страницу вы должны <a href="/reg.php">зарегистрироваться</a> или <a href="/login.php">авторизоваться</a>!</div>
                <a class="link" href="?id='
$news['id'] .'&page=end"><img src="/design/imgs/arr_b.png" align="center"> Назад</a>';
                include 
'../../system/foot.php';
                exit;
            }
            if (
$post['id_user'] == $user['id']) {
                
$title 'Новости/Ошибка';
                include 
'../../system/head.php';
                echo 
'<div class="title"><a href="/pages/news/">Новости</a> / Ошибка</div>
                <div class="err">Вы не можете отвечать сами себе.</div>
                <a class="link" href="?id='
$news['id'] .'&page=end"><img src="/design/imgs/arr_b.png" align="center"> Назад</a>';
                include 
'../../system/foot.php';
                exit;
            }
            
$error false;
            
$errort '';
            if (isset(
$_POST['msg'])) {
                
$msg filter($_POST['msg']);
                if (
strlen($msg) < 1) {
                    
$error true;
                    
$errort .= '<div class="err">Длина сообщения должна быть не менее 1-ого символа.</div>';
                } elseif (
strlen($msg) > 20000) {
                    
$error true;
                    
$errort .= '<div class="err">Длина сообщения должна быть не более 2000 символов.</div>';
                }
                if (!
$error) {
                    
mysql_query("INSERT INTO `n_post` (`id_user`, `news_id`, `time`, `msg`, `reply`) VALUES ('"$user['id'] ."', '"$news['id'] ."', '"time() ."', '$msg', '"$ank['id'] ."')");
                    if(
$user['pol'] == 1$pol 'Ответил';
                    else 
$pol 'Ответила';
                    
mysql_query("INSERT INTO `notifications` (`user_id`, `from_id`, `msg`, `message`, `time`) values('"$ank['id'] ."', '"$user['id'] ."', '"$pol ." на ваше сообщение в новости "<a href="/pages/news/news.php?id="$news['id'] ."&page=end">". mysql_real_escape_string($news['name']) ."</a>".', '"$msg ."', '"time() ."')");
                    
$bon_rand rand(15);
                    
mysql_query("UPDATE `users` SET `bonus` = '". ($user['bonus']+$bon_rand) ."' WHERE `id` = '"$user['id'] ."'");
                    
header('Location: ?id='$news['id'] .'&page=end');
                    exit;
                }
            }
            
$title 'Новости/'$news['name'] .'/Ответ '$ank['login'];
            include 
'../../system/head.php';
            echo 
'<div class="title"><a href="index.php">Новости</a> / <a href="?id='$news['id'] .'&page=end">'$news['name'] .'</a> / Ответ '$ank['login'] .'</div>';
            echo 
$errort;
            echo 
'<div class="post">
            <span class="c_date">'
ptime($post['time']) .'</span>
            <table cellpadding="0" cellspacing="0">
            <tr>
            <td>'
;
            
avatar($ank['id'], 'b');
            echo 
'&#160;</td>
            <td>'
;
            echo 
online($ank['id']);
            echo 
'<a href="?menu=action&post='$post['id'] .'">'$ank['login'] .'</a>';
            echo 
user($ank['id']);
            echo 
'</td>
            </tr>
            </table>
            <hr>
            '
output($post['msg']) .'
            </div>
            <form method="post" name="message">'
;
            include 
'../../system/bbcodes.php';
            echo 
'<textarea class="resize" name="msg"></textarea><br>';
            include 
'../../system/smiles.php';
            echo 
'<input value="Ответить" type="submit" name="add" />
            </form>
            <a class="link" href="?menu=action&post='
$post['id'] .'">&larr; Просмотр поста</a>
            <a class="link" href="?id='
$news['id'] .'&page=end"><img src="/design/imgs/arr_b.png" align="center"> Вернуться в новость</a>';
            include 
'../../system/foot.php';
        }

        
// Цитирование
        
if (isset($_GET['quote']) && mysql_result(mysql_query("SELECT COUNT(*) FROM `n_post` WHERE `id` = '"intval($_GET['quote']) ."'"), 0) == 1) {
            
$post mysql_fetch_array(mysql_query("SELECT * FROM `n_post` WHERE `id` = '"intval($_GET['quote']) ."' LIMIT 1"));
            
$news mysql_fetch_array(mysql_query("SELECT * FROM `news` WHERE `id` = '"$post['news_id'] ."'"));
            
$ank mysql_fetch_array(mysql_query("SELECT * FROM `users` WHERE `id` = '"$post['id_user'] ."' LIMIT 1"));
            if (!isset(
$user)) {
                
$title 'Новости/Ошибка';
                include 
'../../system/head.php';
                echo 
'<div class="title"><a href="/pages/news/">Новости</a> / Ошибка</div>
                <div class="err">Чтобы просматривать данную страницу вы должны <a href="/reg.php">зарегистрироваться</a> или <a href="/login.php">авторизоваться</a>!</div>
                <a class="link" href="?id='
$news['id'] .'&page=end"><img src="/design/imgs/arr_b.png" align="center"> Назад</a>';
                include 
'../../system/foot.php';
                exit;
            }
            
$error false;
            
$errort '';
            if (isset(
$_POST['msg'])) {
                
$msg filter($_POST['msg']);
                
$p_msg filter($post['msg']);
                if (
strlen($msg) < 1) {
                    
$error true;
                    
$errort .= '<div class="err">Длина сообщения должна быть не менее 1-ого символа.</div>';
                } elseif (
strlen($msg) > 20000) {
                    
$error true;
                    
$errort .= '<div class="err">Длина сообщения должна быть не более 2000 символов.</div>';
                }
                if (!
$error) {
                    
mysql_query("INSERT INTO `n_post` (`id_user`, `news_id`, `time`, `msg`, `reply`, `quote`) VALUES ('"$user['id'] ."', '"$news['id'] ."', '"time() ."', '$msg', '"$ank['id'] ."', '"filter($post['msg']) ."')");
                    if(
$user['pol'] == 1$pol 'Процитировал';
                    else 
$pol 'Процитировала';
                    if (
$user['id'] != $ank['id']) mysql_query("INSERT INTO `notifications` (`user_id`, `from_id`, `msg`, `message`, `time`) values('"$ank['id'] ."', '"$user['id'] ."', '"$pol ." ваше сообщение в новости "<a href="/pages/news/news.php?id="$news['id'] ."&page=end">". mysql_real_escape_string($news['name']) ."</a>".', '"$msg ."', '"time() ."')");
                    
$bon_rand rand(15);
                    
mysql_query("UPDATE `users` SET `bonus` = '". ($user['bonus']+$bon_rand) ."' WHERE `id` = '"$user['id'] ."'");
                    
header('Location: ?id='$news['id'] .'&page=end');
                    exit;
                }
            }
            
$title 'Новости/'$news['name'] .'/Цитирование '$ank['login'];
            include 
'../../system/head.php';
            echo 
'<div class="title"><a href="index.php">Новости</a> / <a href="?id='$news['id'] .'&page=end">'$news['name'] .'</a> / Цитирование '$ank['login'] .'</div>';
            echo 
$errort;
            echo 
'<div class="post">
            <span class="c_date">'
ptime($post['time']) .'</span>
            <table cellpadding="0" cellspacing="0">
            <tr>
            <td>'
;
            
avatar($ank['id'], 'b');
            echo 
'&#160;</td>
            <td>'
;
            echo 
online($ank['id']);
            echo 
'<a href="?menu=action&post='$post['id'] .'">'$ank['login'] .'</a>';
            echo 
user($ank['id']);
            echo 
'</td>
            </tr>
            </table>
            <hr>
            '
output($post['msg']) .'
            </div>
            <form method="post" name="message">'
;
            include 
'../../system/bbcodes.php';
            echo 
'<textarea class="resize" name="msg"></textarea><br>';
            include 
'../../system/smiles.php';
            echo 
'<input value="Цитировать" type="submit" name="add" />
            </form>
            <a class="link" href="?menu=action&post='
$post['id'] .'">&larr; Просмотр поста</a>
            <a class="link" href="?id='
$news['id'] .'&page=end"><img src="/design/imgs/arr_b.png" align="center"> Вернуться в новость</a>';
            include 
'../../system/foot.php';
        }

        
// Удаление новости
        
if (isset($_GET['del'])) {
            if (
$user['position'] == 'admin') {
                if (isset(
$_POST['ok'])) {
                    
$news mysql_fetch_assoc(mysql_query("SELECT * FROM `news` WHERE `id` = '"$news['id'] ."' LIMIT 1"));
                    
mysql_query("DELETE FROM `news` WHERE `id` = '"$news['id'] ."'");
                    
mysql_query("DELETE FROM `n_post` WHERE `news_id` = '"$news['id'] ."'");
                    
header('Location: index.php');
                    exit;
                }
                
$title 'Новости/Удаление новости';
                include 
'../../system/head.php';
                echo 
'<div class="title">Новости</div>
                <form method="post">
                Вы уверены что хотите удалить эту новость?<br>
                <input type="submit" name="ok" value="Да"> <a href="?id='
$news['id'] .'&page=end&edit">Нет</a>
                </form>
                <a class="link" href="?id='
$news['id'] .'&page=end"><img src="/design/imgs/arr_b.png" align="center"> Вернуться в новость</a>';
                include 
'../../system/foot.php';
                exit;
            } else {
                echo 
'<div class="err">У вас недостаточно прав!</div>
                <a class="link" href="?id='
$news['id'] .'&page=end"><img src="/design/imgs/arr_b.png" align="center"> Назад</a>';
                include 
'../../system/foot.php';
                exit;
            }
        }

        
// Удаление комментария
        
if (isset($_GET['del_p']) && mysql_result(mysql_query("SELECT COUNT(*) FROM `n_post` WHERE `id` = '"intval($_GET['del_p']) ."'"),0) == 1) {
            
$post mysql_fetch_assoc(mysql_query("SELECT * FROM `n_post` WHERE `id` = '"intval($_GET['del_p']) ."' LIMIT 1"));
            
$news mysql_fetch_array(mysql_query("SELECT * FROM `news` WHERE `id` = '"$post['news_id'] ."'"));
            if (
$user['position'] == 'admin') {
                
mysql_query("DELETE FROM `n_post` WHERE `id` = '"$post['id'] ."'");
                
header('Location: ?id='$news['id'] .'&page=end');
                exit;
            } else {
                
$title 'Новости/Ошибка';
                include 
'../../system/head.php';
                echo 
'<div class="title"><a href="/pages/news/">Новости</a> / Ошибка</div>';
                echo 
'<div class="err">У вас недостаточно прав!</div><a class="link" href="?id='$news['id'] .'&page=end"><img src="/design/imgs/arr_b.png" align="center"> Назад</a>';
                include 
'../../system/foot.php';
                exit;
            }
        }

        
// Просмотр поста
        
if (isset($_GET['post']) && mysql_result(mysql_query("SELECT COUNT(*) FROM `n_post` WHERE `id` = '"intval($_GET['post']) ."'"), 0) == 1) {
            
$post mysql_fetch_assoc(mysql_query("SELECT * FROM `n_post` WHERE `id` = '"intval($_GET['post']) ."' LIMIT 1"));
            
$news mysql_fetch_array(mysql_query("SELECT * FROM `news` WHERE `id` = '"$post['news_id'] ."'"));
            
$ank mysql_fetch_assoc(mysql_query("SELECT * FROM `users` WHERE `id` = '"$post['id_user'] ."' LIMIT 1"));
            if (!isset(
$user)) {
                
$title 'Новости/Ошибка';
                include 
'../../system/head.php';
                echo 
'<div class="title"><a href="/pages/news/">Новости</a> / Ошибка</div>';
                echo 
'<div class="err">Чтобы просматривать данную страницу, вы должны <a href="/pages/registration/">зарегистрироваться</a> или <a href="/pages/registration/?menu=login">авторизоваться</a>!</div>
                <a class="link" href="index.php"><img src="/design/imgs/arr_b.png" align="center"> Назад</a>'
;
                include 
'../../system/foot.php';
                exit;
            }
            
$title 'Мини-Чат/Просмотр поста №'$post['id'];
            include 
'../../system/head.php';
            echo 
'<div class="title"><a href="/pages/news/news.php?id='$news['id'] .'&page=end">'$news['name'] .'</a> / Пост №'$post['id'] .'</div>';
            echo 
'<div class="post">
            <span class="c_date">'
ptime($post['time']) .'</span>
            <table cellpadding="0" cellspacing="0">
            <tr>
            <td>'
;
            
avatar($ank['id'], 'b');
            echo 
'&#160;</td>
            <td>'
;
            echo 
online($ank['id']);
            echo 
'<a href="?menu=action&post='$post['id'] .'">'$ank['login'] .'</a>';
            echo 
user($ank['id']);
            echo 
'</td>
            </tr>
            </table>
            <hr>'
;
            echo 
output($post['msg']) .'
            </div>
            <a class="link" href="/pages/users/user.php?name='
$ank['login'] .'"><img src="/design/imgs/ank_view.png"> Посмотреть анкету</a>';
            if (
$user['id'] != $post['id_user']) echo '<a class="link" href="?menu=action&reply='$post['id'] .'"><img src="/design/imgs/reply.png"> Ответить</a>';
            echo 
'<a class="link" href="?menu=action&quote='$post['id'] .'"><img src="/design/imgs/quote_mess.png"> Цитировать</a>';
            if (
$user['position'] == 'admin') echo '<a class="link" href="?menu=action&del_p='$post['id'] .'"><img src="/design/imgs/delete.png"> Удалить</a>';
            echo 
'<a class="link" href="?id='$news['id'] .'&page=end"><img src="/design/imgs/arr_b.png" align="center"> Вернуться в новость</a>';
            include 
'../../system/foot.php';
            exit;
        }

        
// Очищаем новость от комментариев
        
if (isset($_GET['truncate'])) {
            if (
$user['position'] == 'admin' || $user['position'] == 'mod_c') {
                if (isset(
$_POST['ok'])) {
                    
mysql_query("DELETE FROM `n_post` WHERE `news_id` = '"intval($_GET['id']) ."'");
                    
header('Location: ?id='intval($_GET['id']) .'&page=end');
                    exit;
                }
                
$title 'Новости/Удаление комментариев';
                include 
'../../system/head.php';
                echo 
'<div class="title">Новости</div>
                <form method="post">
                Вы уверены что хотите удалить все комментарии из этой новости?<br>
                <input type="submit" name="ok" value="Да"> <a href="?id='
intval($_GET['id']) .'">Нет</a>
                </form>'
;
                include 
'../../system/foot.php';
                exit;
            } else {
                
$title 'Новости/Удаление комментариев';
                include 
'../../system/head.php';
                echo 
'<div class="title">Новости</div>
                <div class="err">У вас недостаточно прав!</div>
                <a class="link" href="?id='
intval($_GET['id']) .'"><img src="/design/imgs/arr_b.png" align="center"> Назад</a>';
                include 
'../../system/foot.php';
                exit;
            }
        }
    break;

    case 
'edit':
        if (isset(
$_GET['id']) && mysql_result(mysql_query("SELECT COUNT(*) FROM `news` WHERE `id` = '"intval($_GET['id']) ."'"),0) == 1) {
            
$news mysql_fetch_array(mysql_query("SELECT * FROM `news` WHERE `id` = '"intval($_GET['id']) ."'"));
            if (
$user['position'] != 'admin') {
                
$title 'Новости/Ошибка';
                include 
'../../system/head.php';
                echo 
'<div class="title"><a href="/pages/pages/news/">Новости</a> / Ошибка</div>
                <div class="err">У вас недостаточно прав!</div>
                <a class="link" href="?id='
$news['id'] .'&page=end"><img src="/design/imgs/arr_b.png" align="center"> Назад</a>';
                include 
'../../system/foot.php';
                exit;
            }
            
$error false;
            
$errort '';
            if (isset(
$_POST['change'])) {
                
$name filter($_POST['name']);
                
$msg filter($_POST['msg']);
                if (
strlen($name) < 1) {
                    
$error true;
                    
$errort .= '<div class="err">Длина имени должна быть не менее 1-ого символа.</div>';
                } elseif (
strlen($name) > 64) {
                    
$error true;
                    
$errort .= '<div class="err">Длина имени должна быть не более 64-х символов.</div>';
                }
                if (
strlen($msg) < 1) {
                    
$error true;
                    
$errort .= '<div class="err">Длина сообщения должна быть не менее 1-ого символа.</div>';
                } elseif (
strlen($msg) > 20000) {
                    
$error true;
                    
$errort .= '<div class="err">Длина сообщения должна быть не более 20 000 символов.</div>';
                }
                if (!
$error) {
                    
mysql_query("UPDATE `news` SET `name` = '$name', `msg` = '$msg' WHERE `id` = '"$news['id'] ."'");
                    
header('Location: ?id='$news['id'] .'&page=end');
                    exit;
                }
            }
            
$title 'Новости/Редактирование новости';
            include 
'../../system/head.php';
            echo 
'<div class="title"><a href="/pages/pages/news/">Новости</a> / <a href="/pages/pages/news/news.php?id='$news['id'] .'&page=end">'$news['name'] .'</a> / Редактирование новости</div>';
            echo 
$errort;
            echo 
'<form method="post" name="message">
            <b>Заголовок</b>:<br><input type="text" name="name" value="'
$news['name'] .'"><br>';
            include 
'../../system/bbcodes.php';
            echo 
'<textarea class="resize" name="msg">'$news['msg'] .'</textarea><br>';
            include 
'../../system/smiles.php';
            echo 
'<input value="Изменить" type="submit" name="change" />
            </form>
            <a class="link" href="?menu=action&id='
$news['id'] .'&del"><img src="/design/imgs/delete.png"> Удалить новость</a>
            <a class="link" href="?id='
$news['id'] .'&page=end"><img src="/design/imgs/arr_b.png" align="center"> Отмена</a>';
            include 
'../../system/foot.php';
            exit;
        }
    break;
}
?>
Онлайн: 0
Реклама