Вход Регистрация
Файл: modules/forum/section.php
Строк: 149
<?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'// Модуль

  
$icons_dir '/design/icons/forum/'// папка и иконками

  /**
    * Проверяем, задан ли верный параметр
  **/
  
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_sections` WHERE `id` = '" num($_GET['id']) . "'"), 0) == 0) {
    require_once(
HOME .'/incfiles/header.php');
    echo 
'<div class="error">' $lang_forum['section_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');
      }

  
$ID num($_GET['id']);
  
$section mysql_fetch_assoc(mysql_query("SELECT * FROM `cms_forum_sections` WHERE `id` = '$ID' LIMIT 1"));
  
$category mysql_fetch_assoc(mysql_query("SELECT * FROM `cms_forum_categories` WHERE `id` = '" $section['category_id'] . "' LIMIT 1"));

  
/**
    * Добавление темы
  **/
  
if (isset($_GET['new_topic'])) {
    
/**
      * Проверка наличия авторизации
    **/
    
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');
    }

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

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

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

      
/**
        * Проверяем длину названия темы
      **/
      
if (strlen($name) < 2)
        
$err[] = $lang_forum['short_name_topic'];

      
/**
        * Проверяем длину описания темы
      **/
      
if (strlen($text) < 3)
        
$err[] = $lang_forum['short_text_topic'];

      
/**
        * Проверяем, есть ли тема с таким названием в этом разделе
      **/
      
if (mysql_result(mysql_query("SELECT COUNT(*) FROM `cms_forum_topics` WHERE `name` = '$name' AND `section_id` = '$ID'"), 0) != 0)
        
$err[] = $lang_forum['topic_name_exists'];

      
/**
        * Проверяем, есть ли такое сообщение в БД
      **/
      
if (mysql_result(mysql_query("SELECT COUNT(*) FROM `cms_forum_messages` WHERE `text` = '$text' AND `section_id` = '$ID' AND `user_id` = '" $user['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_topics` (`category_id`, `section_id`, `name`, `time_create`, `time_update`, `user_id`, `close`, `up`) VALUES ('" $section['category_id'] . "', '$ID', '$name', '" time() . "', '" time() . "', '" $user['id'] . "', 'no', '0')");
        
$insertID mysql_insert_id();
        
mysql_query("INSERT INTO `cms_forum_messages` (`category_id`, `section_id`, `topic_id`, `text`, `time`, `user_id`) VALUES ('" $section['category_id'] . "', '$ID', '$insertID', '$text', '" time() . "', '" $user['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");
        
header("Location: topic.php?id=$insertID");
          } else {
        echo 
error($err); // показываем ошибки, если они имеются
          
}
            }

    
/**
      * Форма
    **/
    
echo '<div class="main"><form name="message" method="post" action="section.php?id=' $ID '&amp;new_topic">' .
    
$lang_forum['topic_name'] . '<br />' .
    
'<input type="text" name="name" value="" /><br />' .
    
$lang_forum['topic_text'] . '<br />' .
    
bb_panel('message''text') .
    
'<textarea name="text"></textarea><br />' .
    
$lang_forum['topic_text_info'] . '<br />' .
    
'<input type="submit" name="add" value="' $lang['add'] . '" />' .
    
'</form></div>';
    require_once(
HOME .'/incfiles/footer.php'); // подключаем ноги
    
}
    
/**
      * Показываем список тем
    **/
  
else {
    require_once(
HOME .'/incfiles/header.php'); // подключаем шапку

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

    if (isset(
$user))
      echo 
'<div class="home"><img src="/design/themes/' $set_user['theme'] . '/images/act.png" alt="" /> <a href="section.php?id=' $ID '&amp;new_topic">' $lang_forum['start_new_topic'] . '</a></div>';

    
/**
      * Настраиваем пагинацию
    **/
    
$total mysql_result(mysql_query("SELECT COUNT(*) FROM `cms_forum_topics` WHERE `section_id` = '$ID'"), 0);
    
$req mysql_query("SELECT * FROM `cms_forum_topics` WHERE `section_id` = '$ID' ORDER BY `up` DESC, `time_update` DESC LIMIT $start$countMess"); 

    
/**
      * Если нет результатов, выводим уведомление
    **/
    
if ($total 1) {
      echo 
'<div class="error">' $lang_forum['topics_not_found'] . '</div>';
        }

    while (
$res mysql_fetch_assoc($req)) {
      echo (
$i 2) ? '<div class="list1">' '<div class="list2">';
      
$last mysql_fetch_assoc(mysql_query("SELECT * FROM `cms_forum_messages` WHERE `topic_id` = '" $res['id'] . "' ORDER BY `time` DESC LIMIT 1")); // вычисляем пользователя, написавшего последнее сообщение
      
$last_user mysql_fetch_assoc(mysql_query("SELECT * FROM `users` WHERE `id` = '" $last['user_id'] . "'")); // получаем его данные

      
$messages mysql_result(mysql_query("SELECT COUNT(*) FROM `cms_forum_messages` WHERE `topic_id` = '" $res['id'] . "'"), 0); // счетчик сообщений в теме

      
$pagesMess mysql_result(mysql_query("SELECT COUNT(*) FROM `cms_forum_messages` WHERE `topic_id` = '" $res['id'] . "'"), 0);
      
$ceil ceil($pagesMess $countMess);
      
$end_page = ($ceil ' <a href="topic.php?id=' $res['id'] . '&amp;page=' $ceil '">&raquo;&raquo;</a>' '');

      echo (
$res['up'] == '1' '<img src="' $icons_dir 'up.png" alt="[!]" />' '<img src="' $icons_dir 'topic.png" alt="[t]" />') .
(
$res['close'] == 'yes' ' <img src="' $icons_dir 'close.png" alt="[#]" />' '') . ' <a href="topic.php?id=' $res['id'] . '">' txt($res['name']) . '</a> [' $messages ']' $end_page '<br />' .
      
'[<a href="/user/profile.php?id=' $last_user['id'] . '">' $last_user['login'] . '</a> / ' display_time($res['time_update']) . ']</div>';
      
$i++;
         } 

    
/**
      * Пагинация
    **/
    
if ($total $countMess) {
      echo 
'<div class="home">' display_pagination('section.php?id=' $ID '&amp;'$start$total$countMess) . '</div>';
      }

      require_once(
HOME .'/incfiles/footer.php'); // подключаем ноги
        
}
ob_end_flush();
?>
Онлайн: 1
Реклама