Файл: modules/user/guestbook.php
Строк: 98
<?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
****/
$lang_pg = load_lng('user_guestbook'); // Подключаем файл языка
  /**
    * Проверка наличия авторизации
  **/
  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');
      }
  /**
    * Задаем ID пользователя
  **/
  if (!isset($_GET['id']) || !is_numeric($_GET['id']) || num($_GET['id']) == $user['id'])
    $ID = $user['id'];
      else
    $ID = num($_GET['id']);
  /**
     * Проверяем существование пользователя
  **/
  if (mysql_result(mysql_query("SELECT COUNT(*) FROM `users` WHERE `id` = '$ID'"), 0) == 0) {
    require_once(HOME .'/incfiles/header.php');
    echo '<div class="error">' . $lang_pg['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');
      }
  $profile = mysql_fetch_assoc(mysql_query("SELECT * FROM `users` WHERE `id` = '$ID'")); // массив с данными пользователя
  $title = $profile['login'] . ' - ' . $lang_pg['guestbook']; // Заголовок страницы
  $module = 'users_guestbook'; // Модуль
  require_once(HOME .'/incfiles/header.php'); // Подключаем шапку
  /**
    * Небольшая панель навигации
  **/
  echo '<div class="title"><a href="/user/profile.php?id=' . $ID . '">' . ($ID == $user['id'] ? $lang_pg['my_profile'] : $lang_pg['profile'] . ' "' . $profile['login'] . '"') . '</a></div>';
  /**
    * Ответ на сообщение
  **/
  if (isset($_GET['reply']) && num($_GET['reply']) != $user['id']) {
    /**
      * Проверяем, верен ли введенный параметр
    **/
    if (!is_numeric($_GET['reply']))
      $err[] = $lang['error_parameter'];
    /**
      * Проверяем, существует ли пользователь
    **/
    if (mysql_result(mysql_query("SELECT COUNT(*) FROM `users` WHERE `id` = '" . num($_GET['reply']) . "' LIMIT 1"), 0) == 0)
      $err[] = $lang_pg['undefined_user'];
    /**
      * Если не было ошибок, определяем данные пользователя
    **/
    if (!isset($err)) {
      $reply = mysql_fetch_assoc(mysql_query("SELECT * FROM `users` WHERE `id` = '" . num($_GET['reply']) . "'"));
      $reply_user = '[b]@' . $reply['login'] . ',[/b] ';
        } else {
      $reply_user = '';
      echo error($err);
          }
            }
  /**
    * Удаление сообщения
  **/
  if (isset($_GET['delete']) && ($user['id'] == $ID || $user['rights'] >= 7)) {
    /**
      * Проверяем, верен ли введенный параметр
    **/
    if (!is_numeric($_GET['delete']))
      $err[] = $lang['error_parameter'];
    /**
      * Проверяем, существует ли сообщение
    **/
    if (mysql_result(mysql_query("SELECT COUNT(*) FROM `users_guestbook` WHERE `id` = '" . num($_GET['delete']) . "' LIMIT 1"), 0) == 0)
      $err[] = $lang_pg['undefined_message'];
      /**
        * Если не было ошибок, удаляем сообщение
      **/
      if (!isset($err)) {
        $del_user = mysql_fetch_assoc(mysql_query("SELECT `id` FROM `users_guestbook` WHERE `id` = '" . num($_GET['delete']) . "'"));
        mysql_query("UPDATE `users` SET `balls` = `balls` - 1 WHERE `id` = '" . $del_user['user_id'] . "' LIMIT 1");
      mysql_query("UPDATE `users` SET `postspg` = `postspg` - 1 WHERE `id` = '" . $user['id'] . "' LIMIT 1");
        mysql_query("DELETE FROM `users_guestbook` WHERE `id` = '" . num($_GET['delete']) . "' LIMIT 1");
        echo display_message($lang_pg['delete_message_success']);
          } else {
    echo error($err); // выводим ошибки
    }
        }
  /**
    * Добавление сообщения
  **/
  if (isset($_POST['send']) && isset($user)) {
    $message = input(mb_substr($_POST['message'], 0, 1024));
    /**
      * Проверяем, пустое ли сообщение
    **/
    if (empty($_POST['message']))
      $err[] = $lang_mchat['error_message_length'];
    /**
      * Проверка на флуд
    **/
    if (($user['lastpost'] + $cms_set['antiflood_time']) >= time())
      $err[] = $lang['error_antiflood'];
    /**
      * Если не было ошибок, заносим данные
    **/
    if (!isset($err)) {
      mysql_query("INSERT INTO `users_guestbook` (`user_id`, `guest_id`, `time`, `message`) VALUES ('" . $user['id'] . "', '$ID', '" . time() . "', '$message')");
      /**
        * Начисление баллов и обновление счетчика сообщений
      **/
      mysql_query("UPDATE `users` SET `balls` = `balls` + 1 WHERE `id` = '" . $user['id'] . "' LIMIT 1");
      mysql_query("UPDATE `users` SET `postspg` = `postspg` + 1 WHERE `id` = '" . $user['id'] . "' LIMIT 1");
      mysql_query("UPDATE `users` SET `lastpost` = '" . time() . "' WHERE `id` = '" . $user['id'] . "' LIMIT 1");
      /**
        * Оповещение в журнал
      **/
      if ($user['id'] != $ID) {
        $message = $lang['journal_user'] . ' [url=/user/profile.php?id=' . $user['id'] . ']' . $user['login'] . '[/url] ' . $lang['journal_post_to'] . ' [url=/user/guestbook.php?id=' . $ID . ']' . $lang['journal_guestbook'] . '[/url].';
          journal_add($ID, $message);
        }
      echo display_message($lang_pg['add_success']);
     } else {
        echo error($err); // выводим ошибки
         }
     }
  /**
    * Форма
  **/
    echo '<div class="main"><form name="message" action="guestbook.php' . ($ID != $user['id'] ? '?id=' . $ID : '') . '" method="post">' .
  $lang['enter_message'] . '<br />' . 
  bb_panel('message', 'message') .
  '<textarea name="message">' . $reply_user . '</textarea><br />' .
  '<input type="submit" name="send" value="' . $lang['send'] . '" />' .
  '</form></div>';
  /**
    * Настраиваем пагинацию
  **/
  $total = mysql_result(mysql_query("SELECT COUNT(*) FROM `users_guestbook` WHERE `guest_id` = '$ID'"), 0);
  $req = mysql_query("SELECT * FROM `users_guestbook` WHERE `guest_id` = '$ID' ORDER BY `id` DESC LIMIT $start, $countMess");
  /**
    * Если нет результатов, выводим уведомление
  **/
  if ($total < 1) {
    echo '<div class="error">' . $lang_pg['no_messages'] . '</div>';
    }
  while ($res = mysql_fetch_assoc($req)) {
    echo ($i % 2) ? '<div class="list1">' : '<div class="list2">';
    $info = ' [' . display_time($res['time']) . ']' . (isset($user) && $user['id'] != $res['user_id'] ? ' <a href="guestbook.php?reply=' . $res['user_id'] . '">' . $lang_pg['reply'] . '</a>' : '');
    $body = output(txt($res['message']));
    $end = ($user['id'] == $ID || $user['rights'] >= 7 ? '<br />[<a href="guestbook.php?delete=' . $res['id'] . '">' . $lang['delete'] . '</a>]' : '');
    echo display_user($res['user_id'], $info, $body, $end) . '</div>';
    $i++;
     } 
  /**
    * Пагинация
  **/
  if ($total > $countMess) {
    echo '<div class="home">' . display_pagination('guestbook.php?', $start, $total, $countMess) . '</div>';
    }
  require_once(HOME .'/incfiles/footer.php'); // Подключаем ноги
?>