Просмотр файла modules/news/news_comments.php

Размер файла: 7.98Kb
<?php

/**
 * Проверка доступа
 */

# Запрос показа новости
if (isset($_GET['news_id']) && mysql_result(mysql_query("SELECT COUNT(*) FROM `news` WHERE `id` = '". num($_GET['news_id']) ."'"), 0) != 1) {
	# Переход на главную
	header('Location: /');
}

/**
 * Удаление раздела
 */
if (isset($user) && isset($_GET['delete_id']) && isset($_POST['no']) && $user['id'] == mysql_result(mysql_query("SELECT `user_id` FROM `news_comments` WHERE `id` = '". num($_GET['delete_id']) ."'"), 0) && mysql_result(mysql_query("SELECT * FROM `news_comments` WHERE `id` = '". num($_GET['delete_id']) ."'"), 0) != 0)
{
  # Возврат к списку
  header('Location: /news/news_comments.php?news_id='. mysql_result(mysql_query("SELECT `news_id` FROM `news_comments` WHERE `id` = '". num($_GET['delete_id']) ."'"), 0));
}

# Шапка модуля
require_once(HOME .'/incfiles/header.php');

if (isset($user) && isset($_POST['message']))
{
    # E-mail
    $message = txt($_POST['message']);

    if (empty($message)) $err .= 'Не введено сообщение<br />';

    # Проверка длины логина
    if (!empty($message) && (strlen_rus($message) < 3 || strlen_rus($message) > 5000)) $err .= 'Неверная длина сообщения. Допустимо от 3 до 5000 символов<br />';

    # Проверка занятости логина
    if (mysql_result(mysql_query("SELECT COUNT(*) FROM `news_comments` WHERE `text` = '". input($message) ."' AND `news_id` = '". num($_GET['news_id']) ."'"), 0) != 0) $err .= 'Такое сообщение уже существует<br />';

    if (!isset($err))
    {
        # Сохраняем данные
        mysql_query("INSERT INTO `news_comments` SET `news_id` = '". num($_GET['news_id']) ."', `user_id` = '$user[id]', `text` = '". input($message) ."', `time` = '". time() ."'");

        echo '<div class="title">Добавление комментария</div>
        <div class="menu">
        Ваш комментарий успешно добавлен.
        </div>';

        echo '<div class="block">
        &raquo; <a href="/news/news_comments.php?news_id='. num($_GET['news_id']) .'">К комментариям</a><br />
        &raquo; <a href="/news/index.php?news_id='. num($_GET['news_id']) .'">К новости</a><br />
        &raquo; <a href="/news/index.php">К списку новостей</a><br />
        &raquo; <a href="/">На главную</a>
        </div>
        <div class="block">
  		'. ($user['level'] >= 14?'<div class="block">&raquo; <a href="/news/admin_news.php">Управление новостями</a><br /></div>':NULL);

        # Ноги модуля
        require_once(HOME .'/incfiles/footer.php');
    }
}

/**
 * Удаление сообщения
 */
if (isset($user) && isset($_GET['delete_id']) && isset($_POST['yes']) && ($user['id'] == mysql_result(mysql_query("SELECT `user_id` FROM `news_comments` WHERE `id` = '". num($_GET['delete_id']) ."'"), 0) || $user['level'] >= 14) && mysql_result(mysql_query("SELECT * FROM `news_comments` WHERE `id` = '". num($_GET['delete_id']) ."'"), 0) != 0)
{
  mysql_query("DELETE FROM `news_comments` WHERE `id` = '". num($_GET['delete_id']) ."'");

  echo '<div class="title">Удаление сообщения</div>
  <div class="menu">
  Сообщение успешно удалено.
  </div>';

  echo '<div class="block">
  &raquo; <a href="/news/news_comments.php?news_id='. num($_GET['news_id']) .'">К комментариям</a><br />
  &raquo; <a href="/news/index.php?news_id='. num($_GET['news_id']) .'">К новости</a><br />
  &raquo; <a href="/news/index.php">К списку новостей</a><br />
  &raquo; <a href="/">На главную</a>
  </div>
  <div class="block">
  '. ($user['level'] >= 14?'<div class="block">&raquo; <a href="/news/admin_news.php">Управление новостями</a><br /></div>':NULL);

  # Ноги модуля
  require_once(HOME .'/incfiles/footer.php');
}

# Вывод ошибок
error($err);

/**
 * Удаление сообщения
 */
if (isset($user) && isset($_GET['delete_id']) && ($user['id'] == mysql_result(mysql_query("SELECT `user_id` FROM `news_comments` WHERE `id` = '". num($_GET['delete_id']) ."'"), 0) || $user['level'] >= 14) && mysql_result(mysql_query("SELECT * FROM `news_comments` WHERE `id` = '". num($_GET['delete_id']) ."'"), 0) != 0)
{
  echo '<div class="title">Удаление сообщения</div>
  <form method="post" action="/news/news_comments.php?news_id='. num($_GET['news_id']) .'&amp;delete_id='. num($_GET['delete_id']) .'">
  <div class="menu">
  Подтверждаете удаление сообщения?<br />
  <input type="submit" name="yes" value="Да, удалить" /> <input type="submit" name="no" value="Нет, вернуться назад" />
  </div>
  </form>';

  echo '<div class="block">
  &raquo; <a href="/news/news_comments.php?news_id='. num($_GET['news_id']) .'">Отменить действие</a><br />
  &raquo; <a href="/news/index.php?news_id='. num($_GET['news_id']) .'">К новости</a><br />
  &raquo; <a href="/news/index.php">К списку новостей</a><br />
  &raquo; <a href="/">На главную</a>
  </div>
  <div class="block">
  '. ($user['level'] >= 14?'<div class="block">&raquo; <a href="/news/admin_news.php">Управление новостями</a><br /></div>':NULL);

  # Ноги модуля
  require_once(HOME .'/incfiles/footer.php');
}

echo '<div class="title">Комментарии</div>';

# Кол-во новостей
$k_news_comments = mysql_result(mysql_query("SELECT COUNT(*) FROM `news_comments` WHERE `news_id` = '". num($_GET['news_id']) ."'"), 0);

# Старт навигации
nav_start($k_news_comments, 10);

if ($k_news_comments == 0)
{
	echo '<div class="menu">Комментариев нет</div>';
}
else
{
    $sql_news_comments = mysql_query("SELECT * FROM `news_comments` WHERE `news_id` = '". num($_GET['news_id']) ."' ORDER BY time DESC LIMIT $start, 10");

    while ($comment = mysql_fetch_assoc($sql_news_comments))
    {
        echo '<div class="menu">
        '. icon($comment['user_id']) .' <a href="/user/user.php?user_id='. $comment['user_id'] .'">'. nick($comment['user_id']) .'</a> '. online($comment['user_id']) .' ('. vtime($comment['time']) .')'. (isset($user) && ($comment['user_id'] != $user['id'] || $user['level'] >= 14)?' [<a href="/news/news_comments.php?news_id='. num($_GET['news_id']) .'&amp;reply_id='. $comment['user_id'] .'">отв</a>]':NULL) . (isset($user) && $comment['user_id'] == $user['id']?' [<a href="/news/news_comments.php?news_id='. num($_GET['news_id']) .'&amp;delete_id='. $comment['id'] .'">x</a>]':NULL) .'<br />
        '. output($comment['text']) .'
        </div>';
    }

    # Вывод навигации
    view_nav('?news_id='. num($_GET['news_id']) .'&amp;');
}

if (isset($user)) {
	echo '<form method="post" action="/news/news_comments.php?news_id='. num($_GET['news_id']) .'">
    <div class="block">
    Сообщение (<a href="/pages/bbcode.php">теги</a>/<a href="/pages/smiles.php">смайлы</a>):<br />
    <textarea name="message" rows="4" cols="20">'. (isset($_GET['reply_id'])?mysql_result(mysql_query("SELECT `nick` FROM `users` WHERE `id` = '". num($_GET['reply_id']) ."'"), 0) .', ':NULL) .'</textarea><br />
    <input type="submit" value="Отправить" />
    </div>
    </form>';
}

echo '<div class="block">
&raquo; <a href="/news/index.php?news_id='. num($_GET['news_id']) .'">К новости</a><br />
&raquo; <a href="/news/index.php">К списку новостей</a><br />
&raquo; <a href="/">На главную</a>
</div>
'. ($user['level'] >= 14?'<div class="block">&raquo; <a href="/news/admin_news.php">Управление новостями</a><br /></div>':NULL);

require_once(HOME .'/incfiles/footer.php');

?>