Вход Регистрация
Файл: clik.online/mail.php
Строк: 137
<?php
/**
* @author: Egor Smolyakov, 2012.
* @e-mail: mr.stelhammer@gmail.com
*/
defined('ROOT') or define('ROOT'str_replace('\', '/', realpath(dirname (__FILE__))));
require_once ROOT . '
/system/init.php'; // инициализация ядра
if(!$is_user) redir(HOST.'
/login/');
page_head('
Моя почта'); // название страницы
switch ($act) {
default:
echo '
<div class="menu">Входящие письма</div>';
include_once ROOT . '
/system/inc/classes/Navigator.class.php'; // класс навигации
$nav = new Navigator(HOST.'
/mail/?',$set['count_pages']);
 $querypost = DB :: run() -> query("SELECT * FROM `mail` WHERE `user_to` = '".
$user['login']."' ORDER BY `id` DESC LIMIT ".$nav->start().", ".$nav->pnumber.";");
 $total = DB :: run() -> querySingle("SELECT count(*) FROM `mail` WHERE `user_to` = '".
$user['login']."';");
 if ($total > 0) {
 $total_new = DB :: run() -> querySingle("SELECT count(*) FROM `mail` WHERE `user_to` = '".
$user['login']."' AND `new` = '1';");
 if($total_new > 0) DB :: run() -> query("UPDATE `mail` SET `new` = '
0' WHERE `user_to` = '".$user['login']."';");
 while ($read = $querypost -> fetch()) {
 echo '
<div class="menu"><a href="'.HOST.'/mail/?act=send&login='.$read['user_send'].'">'.$read['user_send'].'</a> ['.view_date($read['time_send']).']<br />
 
'.nl2br($read['message']).'
 
</div>';
 }
} else {
echo '
<div class="menu">Сообщений нет.</div>';
}
echo $nav->navi($total,0);
echo '
<div class="menu"><a href="'.HOST.'/mail/?act=send">Написать письмо</a><br />
<
a href="'.HOST.'/mail/?act=out">Исходящие письма</a> ['.DB :: run() -> querySingle("SELECT COUNT(*) FROM `mail` WHERE `user_send` = '".$user['login']."';").']</div>';
break;
case '
send':
  echo '
<div class="menu">Отправить письмо</div>';
$login = '';
if (isset($_GET['
login'])) {
  $queryread = DB :: run() -> query("SELECT * FROM `users` WHERE `login`=? LIMIT 1;", array(protect($_GET['
login'])));
  $data = $queryread -> fetch();
  if ($data > 0) {
  $login = $data['
login'];
  }
}
if(!empty($_POST['
login']) && !empty($_POST['message']))
{
$login = protect($_POST['
login']);
$message = protect($_POST['
message']);
    if(strlenx($message) < 2 || strlenx($message) > 10000) {
    $error = '
Слишком короткое или длинное сообщениеДопустимо от 2 до 10000 символов.';
    $_SESSION['
message'] = $message;
    }elseif(DB :: run() -> querySingle("SELECT COUNT(*) FROM `users` WHERE lower(`login`)=? LIMIT 1;", array(strtolower($login))) == 0) {
    $error = '
Пользователь не найден.';
    }
    elseif($login == $user['
login']) {
    $error = '
Отправлять себе сообщения нельзя.';
    }
  else {
    $flood = DB :: run() -> queryFetch("SELECT `time_send` FROM `mail` WHERE `user_send` = ? AND `user_to` = ? ORDER BY `time_send` DESC LIMIT 1", array($user['
login'], $login));
    if($flood['
time_send'] < ( TIME-$set['anti_flood']))
    {
 $ban = DB :: run() -> queryFetch("SELECT `banned` FROM `users` WHERE lower(`login`)=? LIMIT 1;", array(strtolower($login)));
    if($ban['
banned'] == 1) {
    echo '
<div class="menu">Пользователь заблокирован.</div>';
    page_foot();
    }else{
    DB :: run() -> query("INSERT INTO `mail` SET `user_send` = '".
$user['login']."', `user_to` = '".$login."', `time_send` = '".TIME."',`message` = '".$message."';");
    echo '
<div class="menu">Сообщение успешно отправлено.</div>';
    echo '
<div class="menu"><a href="'.HOST.'/mail/">Личные сообщения</a><br /><a href="'.HOST.'/">Личный кабинет</a></div>';
    }
    unset($_SESSION['
message']);
page_foot(); // низ сайта
    }else{
     $error = '
Не пишите так частоАнтифлуд '.$set['anti_flood'].' секунд.';
     }
    }
}
if (!empty($error)) {
echo '
<div class="menu">'.$error.'</div>';
}
$ses_mess = isset($_SESSION['
message']) ? $_SESSION['message'] : '';
echo '
<div class="menu">
<
form action="'.HOST.'/mail/?act=send" method="POST">
Кому:<br />
<
input type="text" name="login" value="'.$login.'"/><br />
Текст сообщения:<br />
<
textarea name="message" type="text" cols="30" rows="5">'.$ses_mess.'</textarea><br />
<
input type="submit" value="Отправить" /><br />
</
form></div>';
break;
case '
out':
include_once ROOT . '
/system/inc/classes/Navigator.class.php'; // класс навигации
$nav = new Navigator(HOST.'
/mail/?act=out&',$set['count_pages']);
 $querypost = DB :: run() -> query("SELECT * FROM `mail` WHERE `user_send` = '".
$user['login']."' ORDER BY `id` DESC LIMIT ".$nav->start().", ".$nav->pnumber.";");
 $total = DB :: run() -> querySingle("SELECT count(*) FROM `mail` WHERE `user_send` = '".
$user['login']."';");
 if ($total > 0) {
 while ($read = $querypost -> fetch()) {
 echo '
<div class="menu">Я &raquo; <a href="'.HOST.'/mail/?act=send&login='.$read['user_to'].'">'.$read['user_to'].'</a> ['.view_date($read['time_send']).']<br />
 
'.nl2br($read['message']).'
 
</div>';
 }
} else {
echo '
<div class="menu">Исходящих сообщений нет.</div>';
}
echo $nav->navi($total,0);
echo '
<div class="menu"><a href="'.HOST.'/mail/?act=send">Написать письмо</a><br />
<
a href="'.HOST.'/mail/">Входящие письма</a> ['.DB :: run() -> querySingle("SELECT COUNT(*) FROM `mail` WHERE `user_to` = '".$user['login']."';").']</div>';
break;
}
echo '
<div class="menu"><a href="'.HOST.'/">Личный кабинет</a></div>';
page_foot(); // низ сайта
?>
Онлайн: 0
Реклама