View file modules/comments/index.php

File size: 4.99Kb
<?php

// проверка наличия авторизации
if (!isset($_GET['module_id']) && !isset($_GET['m']))
{
    # Перенаправляем на главную
    header('Location: /');   
}

# Заголовок модуля
$system['page_title'] = 'Комментарии';

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

# Инициализация переменных
$m = txt($_GET['m']); // название модуля
$m_id = num($_GET['m_id']); // ID раздела модуля

// привязка к email
if (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 `comments` WHERE `text` = '". input($message) ."' AND `m` = '". $m ."' AND `m_id` = '". $m_id ."'"), 0) != 0) $err .= 'Такое сообщение уже существует<br />';
    
    if (!isset($err))
    {
        # Сохраняем данные
        mysql_query("INSERT INTO `comments` SET `user_id` = '$user[id]', `m` = '". input($m) ."', `m_id` = '". num($m_id) ."', `text` = '". input($message) ."', `time` = '". time() ."'");
        
        echo '<div class="title">Добавление комментария</div>
        <div class="menu">
        Ваш комментарий успешно добавлен
        </div>';
        
        echo '<div class="block">
        &raquo; <a href="/comments/index.php?m='. input($m) .'&amp;m_id='. num($m_id) .'">К комментариям</a><br />
        &raquo; <a href="/">На главную</a>
        </div>';
        
        # Ноги модуля
        require_once(HOME .'/incfiles/footer.php');
    }
}

error($err);

# Заголовок
echo '<div class="title">Список комментариев</div>';

# Кол-во комментариев
$k_comments = mysql_result(mysql_query("SELECT COUNT(*) FROM `comments` WHERE `m` = '". input($m) ."' AND `m_id` = '". num($m_id) ."'"), 0);

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

if ($k_comments == 0)
{
    echo '<div class="menu">Комментариев нет</div>';
}
else
{
    # Запрос для вывода массива
    $sql_comments = mysql_query("SELECT * FROM `comments` WHERE `m` = '". input($m) ."' AND `m_id` = '". num($m_id) ."' ORDER BY time LIMIT $start, 15");
    
    # Для зебры
    $i = 1;

    # Цикл с выводом комментариев
    while ($comment = mysql_fetch_assoc($sql_comments))
    {
        # Определяем кратность, для зебры
        if ($i % 2) $zebra = true;
        else $zebra = false;
        
        # Массив с данными пользователя
        $comment_user = mysql_fetch_assoc(mysql_query("SELECT * FROM `users` WHERE `id` = '$comment[user_id]' LIMIT 1"));         
        
        echo '<div class="menu'. ($zebra == false?'_2':NULL) .'">
        '. 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)?' [<a href="/comments/index.php?m='. input($m) .'&amp;m_id='. num($m_id) .'&amp;reply_nick='. $comment_user['nick'] .'">отв</a>]':NULL) .'
        '. (!empty($comment_user['user_motto'])?'<br /><span class="small_info">'. $comment_user['user_motto'] .'</span>':NULL) .'
        <br />
        '. output($comment['text']) .'
        </div>';
        
        # Для зебры
        $i++;   
    }
    
    # Вывод навигации
    view_nav('?m='. $m .'&amp;m_id='. $m_id);
}

# Форма написания сообщения
if (isset($user))
{
    echo '<hr />
    <form method="post" action="/comments/index.php?m='. input($m) .'&amp;m_id='. num($m_id) .'">
    <div class="menu">
    Сообщение:<br />
    <textarea name="message" rows="4" cols="20">'. (isset($_GET['reply_nick'])?output(txt($_GET['reply_nick'])) .', ':NULL) .'</textarea><br />
    <input type="submit" value="Отправить" />
    </div>
    </form>';
}

# Навигация
echo '<div class="block">
'. (isset($user)?'&raquo; <a href="/pages/bbcode.php">Список тегов</a><br />':NULL);

// Вывод обратной ссылки на модуль
if ($m == 'news') echo '&raquo; <a href="/news/news.php?news_id='. num($m_id) .'">Вернуться к новости</a><br />';

echo '&raquo; <a href="/">На главную</a>
</div>';

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

?>