Вход Регистрация
Файл: modules/forum/say.php
Строк: 284
<?php
/****
* @package LiveCMS
* @link livecms.org
* @author MyZik
* @version See attached file VERSION.txt
* @license See attached file LICENSE.txt
* @copyright Copyright (C) LiveCMS Development Team
****/

ob_start();
$lang_forum load_lng('forum'); // Подключаем файл языка

$title $lang_forum['forum']; // Заголовок страницы
$module 'forum'// Модуль

  /**
    * Проверка наличия авторизации
  **/
  
if (!isset($user)) {
    require_once(
HOME .'/incfiles/header.php');
    echo 
'<div class="error">' $lang['only_users'] . '</div>';
    echo 
'<div class="home">' .
    
'<img src="/design/themes/' $set_user['theme'] . '/images/back.png" alt="" /> <a href="/index.php">' $lang['back'] . '</a>' .
    
'</div>';
    require_once(
HOME .'/incfiles/footer.php');
      }

  
/**
    * Проверяем, задан ли параметр
  **/
  
if (!isset($_GET['id']) || empty($_GET['id']) || !is_numeric($_GET['id'])) {
    require_once(
HOME .'/incfiles/header.php');
    echo 
'<div class="error">' $lang['error_parameter'] . '</div>';
    echo 
'<div class="home">' .
    
'<img src="/design/themes/' $set_user['theme'] . '/images/back.png" alt="" /> <a href="/index.php">' $lang['back'] . '</a>' .
    
'</div>';
    require_once(
HOME .'/incfiles/footer.php');
      }

  
/**
    * Проверяем существование темы в которую пишем
  **/
  
if (mysql_result(mysql_query("SELECT COUNT(*) FROM `cms_forum_topics` WHERE `id` = '" num($_GET['id']) . "'"), 0) == 0) {
    require_once(
HOME .'/incfiles/header.php');
    echo 
'<div class="error">' $lang_forum['topic_not_exists'] . '</div>';
    echo 
'<div class="home">' .
    
'<img src="/design/themes/' $set_user['theme'] . '/images/back.png" alt="" /> <a href="index.php">' $lang['back'] . '</a>' .
    
'</div>';
    require_once(
HOME .'/incfiles/footer.php');
      }

  
/**
    * Проверяем, закрыта ли тема
  **/
  
if (mysql_result(mysql_query("SELECT COUNT(*) FROM `cms_forum_topics` WHERE `id` = '" num($_GET['id']) . "' AND `close` = 'yes'"), 0) != 0) {
    require_once(
HOME .'/incfiles/header.php');
    echo 
'<div class="error">' $lang_forum['topic_closed'] . '</div>';
    echo 
'<div class="home">' .
    
'<img src="/design/themes/' $set_user['theme'] . '/images/back.png" alt="" /> <a href="index.php">' $lang['back'] . '</a>' .
    
'</div>';
    require_once(
HOME .'/incfiles/footer.php');
      }

  
$ID num($_GET['id']);
  
$topic mysql_fetch_assoc(mysql_query("SELECT * FROM `cms_forum_topics` WHERE `id` = '$ID' LIMIT 1"));

  
/**
    * Добавление сообщения с ответом
  **/
  
if (isset($_GET['post']) && !isset($_GET['quote'])) {
    
/**
      * Проверяем, задан ли верный параметр
    **/
    
if (empty($_GET['post']) || !is_numeric($_GET['post'])) {
      require_once(
HOME .'/incfiles/header.php');
      echo 
'<div class="error">' $lang['error_parameter'] . '</div>';
    echo 
'<div class="home">' .
    
'<img src="/design/themes/' $set_user['theme'] . '/images/back.png" alt="" /> <a href="index.php">' $lang['back'] . '</a>' .
    
'</div>';
      require_once(
HOME .'/incfiles/footer.php');
        }

    
/**
      * Проверяем, существует ли сообщение
    **/
    
if (mysql_result(mysql_query("SELECT COUNT(*) FROM `cms_forum_messages` WHERE `id` = '" num($_GET['post']) . "'"), 0) == 0) {
      require_once(
HOME .'/incfiles/header.php');
      echo 
'<div class="error">' $lang_forum['message_not_exists'] . '</div>';
    echo 
'<div class="home">' .
    
'<img src="/design/themes/' $set_user['theme'] . '/images/back.png" alt="" /> <a href="index.php">' $lang['back'] . '</a>' .
    
'</div>';
      require_once(
HOME .'/incfiles/footer.php');
        }

      
$answer mysql_fetch_assoc(mysql_query("SELECT * FROM `cms_forum_messages` WHERE `id` = '" num($_GET['post']) . "' LIMIT 1"));

    
/**
      * Проверяем, существует ли пользователь
    **/
    
if (mysql_result(mysql_query("SELECT COUNT(*) FROM `users` WHERE `id` = '" $answer['user_id'] . "'"), 0) == 0) {
      require_once(
HOME .'/incfiles/header.php');
      echo 
'<div class="error">' $lang_forum['user_not_exists'] . '</div>';
    echo 
'<div class="home">' .
    
'<img src="/design/themes/' $set_user['theme'] . '/images/back.png" alt="" /> <a href="index.php">' $lang['back'] . '</a>' .
    
'</div>';
      require_once(
HOME .'/incfiles/footer.php');
        }

    
/**
      * Запрещаем отвечать самому себе
    **/
    
if ($user['id'] == $answer['user_id']) {
      require_once(
HOME .'/incfiles/header.php');
      echo 
'<div class="error">' $lang_forum['answer_yourself'] . '</div>';
      require_once(
HOME .'/incfiles/footer.php');
        }

    
$answer_user mysql_fetch_assoc(mysql_query("SELECT * FROM `users` WHERE `id` = '" $answer['user_id'] . "' LIMIT 1")); // данные пользователя, которому отвечаем
    
$pagesMess mysql_result(mysql_query("SELECT COUNT(*) FROM `cms_forum_messages` WHERE `topic_id` = '$ID'"), 0);
    
$ceil ceil($pagesMess $countMess);
    
$end_page = ($ceil '&page=' $ceil '');

    require_once(
HOME .'/incfiles/header.php'); // подключаем шапку

    /**
      * Небольшая панель навигации
    **/
    
echo '<div class="title"><a href="/forum/">' $lang['forum'] . '</a> | <b>' $lang_forum['write_in_topic'] . '</b></div>';
    echo 
'<div class="main"><b>' txt($topic['name']) . '</b></div>';

    if (isset(
$_POST['add'])) {
      
$text input(mb_substr($_POST['text'], 010000));

      
/**
        * Проверяем, пустое ли сообщение
      **/
      
if (empty($text))
        
$err[] = $lang_forum['empty_text_message'];

      
/**
        * Проверяем, наличие такого же сообщения в теме
      **/
      
if (mysql_result(mysql_query("SELECT COUNT(*) FROM `cms_forum_messages` WHERE `text` = '$text' AND `user_id` = '" $user['id'] . "' AND `topic_id` = '$ID'"), 0) != 0)
        
$err[] = $lang_forum['topic_message_exists'];

      
/**
        * Проверка на флуд
      **/
      
if (($user['lastpost'] + $cms_set['antiflood_time']) >= time())
        
$err[] = $lang['error_antiflood'];

      
/**
        * Если не было ошибок, заносим данные
      **/
      
if (!isset($err)) {
        
mysql_query("INSERT INTO `cms_forum_messages` (`category_id`, `section_id`, `topic_id`, `text`, `time`, `user_id`) VALUES ('" $topic['category_id'] . "', '" $topic['section_id'] . "', '$ID', '$text', '" time() . "', '" $user['id'] . "')");
        
$fid mysql_insert_id();
        
mysql_query("UPDATE `cms_forum_topics` SET `time_update` = '" time() . "' WHERE `id` = '$ID'"); // обновляем время топика
      /**
        * Оповещение в журнал
      **/
        
$message $lang['journal_user'] . ' [url=/user/profile.php?id=' $user['id'] . ']' $user['login'] . '[/url] ' $lang['journal_answer_forum'] . ' [url=/forum/post.php?id=' $fid ']' $topic['name'] . '[/url]';
        
journal_add($answer['user_id'], $message);
        
/**
          * Начисление баллов и обновление счетчика сообщений
        **/
        
mysql_query("UPDATE `users` SET `balls` = `balls` + 1 WHERE `id` = '" $user['id'] . "' LIMIT 1");
        
mysql_query("UPDATE `users` SET `postsforum` = `postsforum` + 1 WHERE `id` = '" $user['id'] . "' LIMIT 1");
        
mysql_query("UPDATE `users` SET `lastpost` = '" time() . "' WHERE `id` = '" $user['id'] . "' LIMIT 1");
        if (
intval($_POST['attach_files']) != 1)
        
header("Location: topic.php?id=$ID$end_page");
        else
        
header("Location: add_files.php?id=$fid");
          } else {
        echo 
error($err); // показываем ошибки, если они имеются
          
}
            }

    
/**
      * Форма
    **/
    
echo '<div class="main"><form name="message" method="post" action="say.php?id=' $ID '&amp;post=' $answer['id'] . '">' .
    
$lang['enter_message'] . '<br />' .
    
bb_panel('message''text') .
    
'<textarea name="text">[b]@' $answer_user['login'] . '[/b], </textarea><br />' .
    
$lang_forum['message_text_info'] . '<br />' .
    
'<input type="checkbox" name="attach_files" value="1" /> ' $lang_forum['attach_to_post'] . '<br />' .
    
'<input type="submit" name="add" value="' $lang['add'] . '" />' .
    
'</form></div>';

    
/**
      * Нижняя панель навигации
    **/
    
echo '<div class="home">' .
    
'<img src="/design/themes/' $set_user['theme'] . '/images/back.png" alt="" /> <a href="topic.php?id=' $ID '">' $lang['back'] . '</a>' .
    
'</div>';
    require_once(
HOME .'/incfiles/footer.php'); // подключаем ноги
      
}
  
/**
    * Добавление сообщения с цитатой
  **/
  
elseif (isset($_GET['post']) && isset($_GET['quote'])) {
    
/**
      * Проверяем, задан ли верный параметр
    **/
    
if (empty($_GET['post']) || !is_numeric($_GET['post'])) {
      require_once(
HOME .'/incfiles/header.php');
      echo 
'<div class="error">' $lang['error_parameter'] . '</div>';
      require_once(
HOME .'/incfiles/footer.php');
        }

    
/**
      * Проверяем, существует ли сообщение
    **/
    
if (mysql_result(mysql_query("SELECT COUNT(*) FROM `cms_forum_messages` WHERE `id` = '" num($_GET['post']) . "'"), 0) == 0) {
      require_once(
HOME .'/incfiles/header.php');
      echo 
'<div class="error">' $lang_forum['message_not_exists'] . '</div>';
      require_once(
HOME .'/incfiles/footer.php');
        }

      
$answer mysql_fetch_assoc(mysql_query("SELECT * FROM `cms_forum_messages` WHERE `id` = '" num($_GET['post']) . "' LIMIT 1"));

    
/**
      * Проверяем, существует ли пользователь
    **/
    
if (mysql_result(mysql_query("SELECT COUNT(*) FROM `users` WHERE `id` = '" $answer['user_id'] . "'"), 0) == 0) {
      require_once(
HOME .'/incfiles/header.php');
      echo 
'<div class="error">' $lang_forum['user_not_exists'] . '</div>';
      require_once(
HOME .'/incfiles/footer.php');
        }

    
/**
      * Запрещаем отвечать самому себе
    **/
    
if ($user['id'] == $answer['user_id']) {
      require_once(
HOME .'/incfiles/header.php');
      echo 
'<div class="error">' $lang_forum['answer_yourself'] . '</div>';
      require_once(
HOME .'/incfiles/footer.php');
        }

    
$answer_user mysql_fetch_assoc(mysql_query("SELECT * FROM `users` WHERE `id` = '" $answer['user_id'] . "' LIMIT 1")); // данные пользователя, которому отвечаем
    
$pagesMess mysql_result(mysql_query("SELECT COUNT(*) FROM `cms_forum_messages` WHERE `topic_id` = '$ID'"), 0);
    
$ceil ceil($pagesMess $countMess);
    
$end_page = ($ceil '&page=' $ceil '');

    require_once(
HOME .'/incfiles/header.php'); // подключаем шапку

    /**
      * Небольшая панель навигации
    **/
    
echo '<div class="title"><a href="/forum/">' $lang['forum'] . '</a> | <b>' $lang_forum['write_in_topic'] . '</b></div>';
    echo 
'<div class="main"><b>' txt($topic['name']) . '</b></div>';

    if (isset(
$_POST['add'])) {
      
$text trim($_POST['text']);
      
$quote trim($_POST['quote']);
      
$quote preg_replace('#[q](.*?)[/q]#si'''$quote);
      
$time_q date("d.m.Y/H:i"$answer['time']);
      
$text '[q]' $answer_user['login'] . ' (' $time_q ")rn" $quote '[/q]' $text;

      
/**
        * Проверяем, пустое ли сообщение
      **/
      
if (empty($_POST['text']) || empty($_POST['quote']))
        
$err[] = $lang_forum['empty_text_message'];

      
/**
        * Проверяем наличие такого же сообщения в теме
      **/
      
if (mysql_result(mysql_query("SELECT COUNT(*) FROM `cms_forum_messages` WHERE `text` = '$text' AND `user_id` = '" $user['id'] . "' AND `topic_id` = '$ID'"), 0) != 0)
        
$err[] = $lang_forum['topic_message_exists'];

      
/**
        * Проверка на флуд
      **/
      
if (($user['lastpost'] + $cms_set['antiflood_time']) >= time())
        
$err[] = $lang['error_antiflood'];

      
/**
        * Если не было ошибок, заносим данные
      **/
      
if (!isset($err)) {
        
mysql_query("INSERT INTO `cms_forum_messages` (`category_id`, `section_id`, `topic_id`, `text`, `time`, `user_id`) VALUES ('" $topic['category_id'] . "', '" $topic['section_id'] . "', '$ID', '" mysql_real_escape_string($text) . "', '" time() . "', '" $user['id'] . "')");
        
$fid mysql_insert_id();
        
mysql_query("UPDATE `cms_forum_topics` SET `time_update` = '" time() . "' WHERE `id` = '$ID'"); // обновляем время топика
      /**
        * Оповещение в журнал
      **/
        
$message $lang['journal_user'] . ' [url=/user/profile.php?id=' $user['id'] . ']' $user['login'] . '[/url] ' $lang['journal_quote_forum'] . ' [url=/forum/post.php?id=' $fid ']' $topic['name'] . '[/url]';
        
journal_add($answer['user_id'], $message);

        
/**
          * Начисление баллов и обновление счетчика сообщений
        **/
        
mysql_query("UPDATE `users` SET `balls` = `balls` + 1 WHERE `id` = '" $user['id'] . "' LIMIT 1");
        
mysql_query("UPDATE `users` SET `postsforum` = `postsforum` + 1 WHERE `id` = '" $user['id'] . "' LIMIT 1");
        
mysql_query("UPDATE `users` SET `lastpost` = '" time() . "' WHERE `id` = '" $user['id'] . "' LIMIT 1");
        if (
intval($_POST['attach_files']) != 1)
        
header("Location: topic.php?id=$ID$end_page");
        else
        
header("Location: add_files.php?id=$fid");
          } else {
        echo 
error($err); // показываем ошибки, если они имеются
          
}
            }

    
$quote_text $answer['text'];
    
$quote_text str_replace("<br/>""rn"$quote_text);
    
$quote_text trim(preg_replace('#[q](.*?)[/q]#si'''$quote_text));

    
/**
      * Форма
    **/
    
echo '<div class="main"><form name="message" method="post" action="say.php?id=' $ID '&amp;post=' $answer['id'] . '&amp;quote">' .
    
$lang_forum['enter_quote'] . '<br />' .
    
'<textarea name="quote">' $quote_text '</textarea><br />' .
    
$lang['enter_message'] . '<br />' .
    
bb_panel('message''text') .
    
'<textarea name="text">[b]@' $answer_user['login'] . '[/b], </textarea><br />' .
    
$lang_forum['message_text_info'] . '<br />' .
    
'<input type="checkbox" name="attach_files" value="1" /> ' $lang_forum['attach_to_post'] . '<br />' .
    
'<input type="submit" name="add" value="' $lang['add'] . '" />' .
    
'</form></div>';

    
/**
      * Нижняя панель навигации
    **/
    
echo '<div class="home">' .
    
'<img src="/design/themes/' $set_user['theme'] . '/images/back.png" alt="" /> <a href="topic.php?id=' $ID '">' $lang['back'] . '</a>' .
    
'</div>';
    require_once(
HOME .'/incfiles/footer.php'); // подключаем ноги
      
}
  
/**
    * Добавление простого сообщения
  **/
  
else {
    require_once(
HOME .'/incfiles/header.php'); // подключаем шапку

    
$pagesMess mysql_result(mysql_query("SELECT COUNT(*) FROM `cms_forum_messages` WHERE `topic_id` = '$ID'"), 0);
    
$ceil ceil($pagesMess $countMess);
    
$end_page = ($ceil '&page=' $ceil '');

    
/**
      * Небольшая панель навигации
    **/
    
echo '<div class="title"><a href="/forum/">' $lang['forum'] . '</a> | <b>' $lang_forum['write_in_topic'] . '</b></div>';
    echo 
'<div class="main"><b>' txt($topic['name']) . '</b></div>';

    if (isset(
$_POST['add'])) {
      
$text input(mb_substr($_POST['text'], 010000));

     
/**
       * Проверяем, пустое ли сообщение
     **/
      
if (empty($text))
        
$err[] = $lang_forum['empty_text_message'];

      
/**
        * Проверяем, было ли такое сообщение в теме
      **/
      
if (mysql_result(mysql_query("SELECT COUNT(*) FROM `cms_forum_messages` WHERE `text` = '$text' AND `user_id` = '" $user['id'] . "' AND `topic_id` = '$ID'"), 0) != 0)
        
$err[] = $lang_forum['topic_message_exists'];

      
/**
        * Проверка на флуд
      **/
      
if (($user['lastpost'] + $cms_set['antiflood_time']) >= time())
        
$err[] = $lang['error_antiflood'];

      
/**
        * Если не было ошибок, заносим данные
      **/
      
if (!isset($err)) {
        
mysql_query("INSERT INTO `cms_forum_messages` (`category_id`, `section_id`, `topic_id`, `text`, `time`, `user_id`) VALUES ('" $topic['category_id'] . "', '" $topic['section_id'] . "', '$ID', '$text', '" time() . "', '" $user['id'] . "')");
        
$fid mysql_insert_id();
        
mysql_query("UPDATE `cms_forum_topics` SET `time_update` = '" time() . "' WHERE `id` = '$ID'"); // обновляем время топика
        /**
          * Начисление баллов и обновление счетчика сообщений
        **/
        
mysql_query("UPDATE `users` SET `balls` = `balls` + 1 WHERE `id` = '" $user['id'] . "' LIMIT 1");
        
mysql_query("UPDATE `users` SET `postsforum` = `postsforum` + 1 WHERE `id` = '" $user['id'] . "' LIMIT 1");
        
mysql_query("UPDATE `users` SET `lastpost` = '" time() . "' WHERE `id` = '" $user['id'] . "' LIMIT 1");
        if (
intval($_POST['attach_files']) != 1)
        
header("Location: topic.php?id=$ID$end_page");
        else
        
header("Location: add_files.php?id=$fid");
          } else {
        echo 
error($err); // показываем ошибки, если они имеются
          
}
            }

    
/**
      * Форма
    **/
    
echo '<div class="main"><form name="message" method="post" action="say.php?id=' $ID '" enctype="multipart/form-data">' .
    
$lang['enter_message'] . '<br />' .
    
bb_panel('message''text') .
    
'<textarea name="text"></textarea><br />' .
    
$lang_forum['message_text_info'] . '<br />' .
    
'<input type="checkbox" name="attach_files" value="1" /> ' $lang_forum['attach_to_post'] . '<br />' .
    
'<input type="submit" name="add" value="' $lang['add'] . '" />' .
    
'</form></div>';

    
/**
      * Нижняя панель навигации
    **/
    
echo '<div class="home">' .
    
'<img src="/design/themes/' $set_user['theme'] . '/images/back.png" alt="" /> <a href="topic.php?id=' $ID '">' $lang['back'] . '</a>' .
    
'</div>';
    require_once(
HOME .'/incfiles/footer.php'); // подключаем ноги
      
}
ob_end_flush();
?>
Онлайн: 2
Реклама