Файл: modules/mini_chat/index.php
Строк: 76
<?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_mchat = load_lng('mini_chat'); // Подключаем файл языка
$title = $lang_mchat['mini_chat']; // Заголовок страницы
$module = 'mini_chat'; // Модуль
require_once(HOME .'/incfiles/header.php'); // Подключаем шапку
/**
* Ответ на сообщение
**/
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_mchat['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['rights'] == 2 || $user['rights'] >= 7)) {
/**
* Проверяем, верен ли введенный параметр
**/
if (!is_numeric($_GET['delete']))
$err[] = $lang['error_parameter'];
/**
* Проверяем, существует ли сообщение
**/
if (mysql_result(mysql_query("SELECT COUNT(*) FROM `mini_chat` WHERE `id` = '" . num($_GET['delete']) . "' LIMIT 1"), 0) == 0)
$err[] = $lang_mchat['undefined_message'];
/**
* Если не было ошибок, удаляем сообщение
**/
if (!isset($err)) {
$del_user = mysql_fetch_assoc(mysql_query("SELECT `id` FROM `mini_chat` WHERE `id` = '" . num($_GET['delete']) . "'"));
mysql_query("UPDATE `users` SET `postsmchat` = `postsmchat` - 1 WHERE `id` = '" . $del_user['user_id'] . "'");
mysql_query("UPDATE `users` SET `balls` = `balls` - 1 WHERE `id` = '" . $del_user['user_id'] . "' LIMIT 1");
mysql_query("DELETE FROM `mini_chat` WHERE `id` = '" . num($_GET['delete']) . "' LIMIT 1");
echo display_message($lang_mchat['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 `mini_chat` (`user_id`, `time`, `message`) VALUES ('" . $user['id'] . "', '" . time() . "', '" . $message . "')");
/**
* Начисление баллов и обновление счетчика сообщений
**/
mysql_query("UPDATE `users` SET `balls` = `balls` + 1 WHERE `id` = '" . $user['id'] . "' LIMIT 1");
mysql_query("UPDATE `users` SET `postsmchat` = `postsmchat` + 1 WHERE `id` = '" . $user['id'] . "' LIMIT 1");
mysql_query("UPDATE `users` SET `lastpost` = '" . time() . "' WHERE `id` = '" . $user['id'] . "' LIMIT 1");
echo display_message($lang_mchat['add_success']);
} else {
echo error($err); // выводим ошибки
}
}
/**
* Форма (для зарегистрированных)
**/
if (isset($user)) {
echo '<div class="main"><form name="message" action="index.php" 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 `mini_chat`"), 0);
$req = mysql_query("SELECT * FROM `mini_chat` ORDER BY `id` DESC LIMIT $start, $countMess");
/**
* Если нет результатов, выводим уведомление
**/
if ($total < 1) {
echo '<div class="error">' . $lang_mchat['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="index.php?reply=' . $res['user_id'] . '">' . $lang_mchat['reply'] . '</a>' : '');
$body = output(txt($res['message']));
$end = ($user['rights'] == 2 || $user['rights'] >= 7 ? '<br />[<a href="index.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('index.php?', $start, $total, $countMess) . '</div>';
}
require_once(HOME .'/incfiles/footer.php'); // Подключаем ноги
?>