Просмотр файла modules/mail/mail.php

Размер файла: 5.64Kb
<?php

// проверяем корректность запроса
if (!isset($user) || !isset($_GET['user_id']) || mysql_result(mysql_query("SELECT COUNT(*) FROM `users` WHERE `id` = '". num($_GET['user_id']) ."' LIMIT 1"), 0) == 0)
{
    # Перенаправляем на главную
    header('Location: /');
}

$to = mysql_fetch_assoc(mysql_query("SELECT * FROM `users` WHERE `id` = '". num($_GET['user_id']) ."' LIMIT 1"));

// проверка наличия переписки
if (isset($_GET['create']) && mysql_result(mysql_query("SELECT COUNT(*) FROM `mail_chat` WHERE (`user_id` = '$user[id]' OR `to_id` = '$user[id]') AND (`to_id` = '". num($_GET['user_id']) ."' OR `user_id` = '". num($_GET['user_id']) ."')"),0) == 0) {
	mysql_query("INSERT INTO `mail_chat` SET `user_id` = '$user[id]', `to_id` = '$to[id]', `time_last_mail` = '". time() ."'");

	header('Location: /mail/mail.php?user_id='. $to['id']);
}

# Заголовок модуля
$system['page_title'] = 'Переписка';

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

// проверка наличия переписки
if (mysql_result(mysql_query("SELECT COUNT(*) FROM `mail_chat` WHERE (`user_id` = '$user[id]' OR `to_id` = '$user[id]') AND (`to_id` = '". num($_GET['user_id']) ."' OR `user_id` = '". num($_GET['user_id']) ."')"),0) == 0) {
	echo '<div class="title">Переписка c '. $to['nick'] .'</div>
	<div class="menu">
	У Вас еще нет переписки с пользователем '. $to['nick'] .'.<br />
	<a href="/mail/mail.php?user_id='. $to['id'] .'&amp;create">Создать переписку</a>
	</div>';

	echo '<div class="block">
	&raquo; <a href="/mail/">Личная почта</a><br />
	&raquo; <a href="/user/cabinet.php">Личный кабинет</a><br />
	&raquo; <a href="/">На главную</a>
	</div>';

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

// определяем чат
if (mysql_result(mysql_query("SELECT COUNT(*) FROM `mail_chat` WHERE `user_id` = '$user[id]' AND `to_id` = '$to[id]'"),0) != 0) $chat_id = mysql_result(mysql_query("SELECT `id` FROM `mail_chat` WHERE `user_id` = '$user[id]' AND `to_id` = '$to[id]'"),0);
else $chat_id = mysql_result(mysql_query("SELECT `id` FROM `mail_chat` WHERE `to_id` = '$user[id]' AND `user_id` = '$to[id]'"),0);

if (isset($_POST['text'])) {
    $text = txt($_POST['text']);

    if (empty($text)) $err .= 'Не введено сообщение<br />';

    if (!empty($text) && (strlen_rus($text) < 3 || strlen_rus($text) > 5000)) $err .= 'Неверная длина сообщения. Допустимо от 3 до 5000 символов<br />';

    # Проверка занятости логина
    if (mysql_result(mysql_query("SELECT COUNT(*) FROM `mail` WHERE `text` = '". input($text) ."' AND `user_id` = '$user[id]' AND `mail_chat_id` = '$chat_id'"), 0) != 0) $err .= 'Такое сообщение уже существует<br />';

    if (!isset($err))
    {
        # Сохраняем данные
        mysql_query("INSERT INTO `mail` SET `mail_chat_id` = '$chat_id', `user_id` = '$user[id]', `to_id` = '$to[id]', `text` = '". input($text) ."', `time` = '". time() ."'");
        mysql_query("UPDATE `mail_chat` SET `time_last_mail` = '". time() ."' WHERE `id` = '$chat_id'");


        echo '<div class="title">Написание сообщения</div>
        <div class="menu">
        Ваше сообщение успешно отправленно.
        </div>';

        echo '<div class="block">
        &raquo; <a href="/mail/mail.php?user_id='. $to['id'] .'">К переписке</a><br />
		&raquo; <a href="/mail/">Личная почта</a><br />
		&raquo; <a href="/user/cabinet.php">Личный кабинет</a><br />
		&raquo; <a href="/">На главную</a>
		</div>';

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

error($err);

echo '<div class="title">Переписка с '. $to['nick'] .'</div>';

# Кол-во пользователей
$k_chats = mysql_result(mysql_query("SELECT COUNT(*) FROM `mail` WHERE `mail_chat_id` = '$chat_id'"), 0);

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

if ($k_chats == 0)
{
    echo '<div class="menu">Сообщений нет</div>';
}
else
{
    $sql_chats = mysql_query("SELECT * FROM `mail` WHERE `mail_chat_id` = '$chat_id' ORDER BY time DESC LIMIT $start, 10");

    while ($chat = mysql_fetch_assoc($sql_chats))
    {
        if ($user['id'] == $chat['to_id']) mysql_query("UPDATE `mail` SET `read` = '1' WHERE `id` = '$chat[id]'");

        echo '<div class="menu">
        '. icon($chat['user_id']) .' <a href="/user/user.php?user_id='. $chat['user_id'] .'">'. nick($chat['user_id']) .'</a> '. online($chat['user_id']) .' ('. vtime($chat['time']) .')<br />
        '. output($chat['text']) .'
        </div>';
    }

    # Вывод навигации
    view_nav('?user_id='. $to['id'] .'&amp;');
}

echo '<form method="post" action="/mail/mail.php?user_id='. $to['id'] .'">
<div class="block">
Сообщение (<a href="/pages/bbcode.php">теги</a>/<a href="/pages/smiles.php">смайлы</a>):<br />
<textarea name="text" rows="4" cols="20"></textarea><br />
<input type="submit" value="Отправить" />
</div>
</form>';

echo '<div class="block">
&raquo; <a href="/mail/">Личная почта</a><br />
&raquo; <a href="/user/cabinet.php">Личный кабинет</a><br />
&raquo; <a href="/">На главную</a>
</div>';

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

?>