Файл: modules/mail/index.php
Строк: 145
<?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_mail = load_lng('mail'); // Подключаем файл языка
$title = $lang_mail['dialogs']; // Заголовок страницы
$module = 'mail'; // Модуль
/**
Проверка наличия авторизации
**/
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'); // Выводим шапку
$type = isset($_GET['act']) && $_GET['act'] == 'ignor' ? 'ignor' : 'common'; // определяем тип запроса
/**
Небольшая панель навигации
**/
echo '<div class="title"><a href="/user/cabinet.php">' . $lang['my_cabinet'] . '</a> | <b>' . $lang_mail['dialogs'] . '</b></div>';
/**
Переключатель между списками
**/
echo '<div class="main">' . ($type == 'common' ? '<b>' . $lang_mail['common_contacts'] . '</b> | <a href="index.php?act=ignor">' . $lang_mail['ignor_contacts'] . '</a>' : '<a href="index.php">' . $lang_mail['common_contacts'] . '</a> | <b>' . $lang_mail['ignor_contacts'] . '</b>') . '</div>';
/**
Добавление в игнор-лист
**/
if (isset($_GET['add_ignor'])) {
/**
Проверяем, верен ли введенный параметр
**/
if (empty($_GET['add_ignor']) || !is_numeric($_GET['add_ignor']))
$err[] = $lang['error_parameter'];
/**
Проверяем наличие пользователя
**/
if (mysql_result(mysql_query("SELECT COUNT(*) FROM `users` WHERE `id` = '" . num($_GET['add_ignor']) . "'"), 0) == 0)
$err[] = $lang_mail['undefined_user'];
/**
Если пользователь уже находится в игнор-листе, напоминаем
**/
if (mysql_result(mysql_query("SELECT COUNT(*) FROM `cms_contacts` WHERE `user_id` = '" . $user['id'] . "' AND `cont_id` = '" . num($_GET['add_ignor']) . "' AND `type` = 'ignor'"), 0) != 0)
$err[] = $lang_mail['ignor_exists'];
/**
Запрещаем добавление самого себя в игнор-лист
**/
if (num($_GET['add_ignor']) == $user['id'])
$err[] = $lang_mail['ignor_yourself'];
/**
Если не было ошибок, заносим данные
**/
if (!isset($err)) {
/**
Прежде чем перенести контакт в игнор-лист, проверяем, есть ли он вообще
**/
if (mysql_result(mysql_query("SELECT COUNT(*) FROM `cms_contacts` WHERE `user_id` = '" . $user['id'] . "' AND `cont_id` = '" . num($_GET['add_ignor']) . "'"), 0) == 0) {
mysql_query("INSERT INTO `cms_contacts` (`user_id`, `cont_id`, `time`, `type`) VALUES ('" . $user['id'] . "', '" . num($_GET['add_ignor']) . "', '" . time() . "', 'ignor')");
}
mysql_query("UPDATE `cms_contacts` SET `type` = 'ignor' WHERE `cont_id` = '" . num($_GET['add_ignor']) . "' AND `user_id` = '" . $user['id'] . "'");
echo display_message($lang_mail['ignor_success']);
} else {
echo error($err); // выводим ошибки, если они есть
}
}
/**
Удаление с игнор-листа
**/
if (isset($_GET['delete_ignor']) && is_numeric($_GET['delete_ignor'])) {
/**
Проверяем, существует ли пользователь
**/
if (mysql_result(mysql_query("SELECT COUNT(*) FROM `users` WHERE `id` = '" . num($_GET['delete_ignor']) . "'"), 0) == 0)
$err[] = $lang_mail['undefined_user'];
/**
Проверяем, есть ли пользователь в игнор-листе
**/
if (mysql_result(mysql_query("SELECT COUNT(*) FROM `cms_contacts` WHERE `user_id` = '" . $user['id'] . "' AND `cont_id` = '" . num($_GET['delete_ignor']) . "' AND `type` = 'common'"), 0) != 0)
$err[] = $lang_mail['common_exists'];
/**
Запрещаем добавление в контакты самого себя
**/
if (num($_GET['delete_ignor']) == $user['id'])
$err[] = $lang_mail['common_yourself'];
/**
Если не было ошибок, заносим данные
**/
if (!isset($err)) {
mysql_query("UPDATE `cms_contacts` SET `type` = 'common' WHERE `cont_id` = '" . num($_GET['delete_ignor']) . "' AND `user_id` = '" . $user['id'] . "'");
echo display_message($lang_mail['common_success']);
} else {
echo error($err); // выводим ошибки
}
}
/**
Список диалогов
**/
/**
Настраиваем пагинацию
**/
$total = mysql_result(mysql_query("SELECT COUNT(*) FROM `cms_contacts` WHERE `user_id` = '" . $user['id'] . "' AND `type` = '$type'"), 0);
$req = mysql_query("SELECT * FROM `cms_contacts` WHERE `user_id` = '" . $user['id'] . "' AND `type` = '$type' ORDER BY `time` DESC LIMIT $start, $countMess");
/**
Если нет результатов, выводим уведомление
**/
if ($total < 1) {
echo '<div class="error">' . $lang_mail['no_dialogs'] . '</div>';
}
while ($res = mysql_fetch_assoc($req)) {
echo ($i % 2) ? '<div class="list1">' : '<div class="list2">';
$new_messages = mysql_result(mysql_query("SELECT COUNT(*) FROM `cms_mail` WHERE `to_id` = '" . $user['id'] . "' AND `user_id` = '" . $res['cont_id'] . "' AND `read` = 'no'"), 0); // новые сообщения
$info = ' [' . ($new_messages > 0 ? '<b><span class="red">+' . $new_messages . '</span></b> | ' : '') . display_time($res['time']) . '] [<a href="dialogue.php?id=' . $res['cont_id'] . '">' . $lang_mail['dialog'] . '</a> | ' . ($res['type'] == 'common' ? '<a href="index.php?add_ignor=' . $res['cont_id'] . '">' . $lang_mail['add_ignor'] . '</a>' : '<a href="index.php?delete_ignor=' . $res['cont_id'] . '">' . $lang_mail['delete_ignor'] . '</a>') . ']';
echo _display_user($res['cont_id'], $info);
echo '</div>';
$i++;
}
/**
Пагинация
**/
if ($total > $countMess) {
echo '<div class="home">' . display_pagination('index.php' . (isset($_GET['act']) && $_GET['act'] == 'ignor' ? '&' : '?'), $start, $total, $countMess) . '</div>';
}
require_once(HOME .'/incfiles/footer.php'); // Подключаем ноги
?>