Вход Регистрация
Файл: public_html/pages/privat.php
Строк: 346
<?php
#-----------------------------------------------------#
#          ********* ROTORCMS *********               #
#              Made by  :  VANTUZ                     #
#               E-mail  :  visavi.net@mail.ru         #
#                 Site  :  http://pizdec.ru           #
#             WAP-Site  :  http://visavi.net          #
#                  ICQ  :  36-44-66                   #
#  Вы не имеете право вносить изменения в код скрипта #
#        для его дальнейшего распространения          #
#-----------------------------------------------------#    
require_once ('../includes/start.php');
require_once (
'../includes/functions.php');
require_once (
'../includes/header.php');
include_once (
'../themes/' $config['themes'] . '/index.php');

if (isset(
$_GET['act'])) {
    
$act check($_GET['act']);
} else {
    
$act 'index';

if (isset(
$_GET['start'])) {
    
$start abs(intval($_GET['start']));
} else {
    
$start 0;

if (isset(
$_GET['uz'])) {
    
$uz check($_GET['uz']);
} elseif (isset(
$_POST['uz'])) {
    
$uz check($_POST['uz']);
} else {
    
$uz '';


show_title('site.png''Приватные сообщения');
$config['newtitle'] = 'Приватные сообщения';

if (
is_user()) {
    switch (
$act):
    
# ###########################################################################################
    # #                                    Главная страница                                    ##
    # ###########################################################################################
    
case "index":

        
$total DB :: $dbh -> querySingle("SELECT count(*) FROM `inbox` WHERE `inbox_user`=?;", array($log));

        
$intotal DB :: $dbh -> query("SELECT count(*) FROM `outbox` WHERE `outbox_author`=? UNION ALL SELECT count(*) FROM `trash` WHERE `trash_user`=?;", array($log$log));
        
$intotal $intotal -> fetchAll(PDO :: FETCH_COLUMN);

        echo 
'<img src="../images/img/mail.gif" alt="image" /> <b>Входящие (' $total ')</b> / ';
        echo 
'<a href="privat.php?act=output&amp;' SID '">Отправленные (' $intotal[0] . ')</a> / ';
        echo 
'<a href="privat.php?act=trash&amp;' SID '">Корзина (' $intotal[1] . ')</a><hr />';

        if (
$udata['users_newprivat'] > 0) {
            echo 
'<div style="text-align:center"><b><span style="color:#ff0000">Получено новых писем: ' . (int)$udata['users_newprivat'] . '</span></b></div>';
            
DB :: $dbh -> query("UPDATE `users` SET `users_newprivat`=? WHERE `users_login`=?", array(0$log));
        } 

        if (
$total > ($config['limitmail']-5) && $total $config['limitmail']) {
            echo 
'<div style="text-align:center"><b><span style="color:#ff0000">Ваш ящик почти заполнен, необходимо очистить или удалить старые сообщения!</span></b></div>';
        } 

        if (
$total >= $config['limitmail']) {
            echo 
'<div style="text-align:center"><b><span style="color:#ff0000">Ваш ящик переполнен, вы не сможете получать письма пока не очистите его!</span></b></div>';
        } 

        if (
$total 0) {
            if (
$start >= $total) {
                
$start 0;
            } 

            
$querypriv DB :: $dbh -> query("SELECT * FROM `inbox` WHERE `inbox_user`=? ORDER BY `inbox_time` DESC LIMIT " $start ", " $config['privatpost'] . ";", array($log));

            echo 
'<form action="privat.php?act=del&amp;start=' $start '&amp;uid=' $_SESSION['token'] . '&amp;' SID '" method="post">';
            echo 
'<div class="form">';
            echo 
'<input type="checkbox" name="all" onchange="for (i in this.form.elements) this.form.elements[i].checked = this.checked" /> <b>Отметить все</b>';
            echo 
'</div>';
            while (
$data $querypriv -> fetch()) {
                echo 
'<div class="b">';
                echo 
'<div class="img">' user_avatars($data['inbox_author']) . '</div>';
                echo 
'<b><a href="anketa.php?uz=' $data['inbox_author'] . '&amp;' SID '">' nickname($data['inbox_author']) . '</a></b>  (' date_fixed($data['inbox_time']) . ')<br />';
                echo 
user_title($data['inbox_author']) . ' ' user_online($data['inbox_author']) . '</div>';

                echo 
'<div>' bb_code($data['inbox_text']) . '<br />';

                echo 
'<input type="checkbox" name="del[]" value="' $data['inbox_id'] . '" /> ';
                echo 
'<a href="privat.php?act=submit&amp;uz=' $data['inbox_author'] . '&amp;' SID '">Ответить</a> / ';
                echo 
'<a href="privat.php?act=history&amp;uz=' $data['inbox_author'] . '&amp;' SID '">История</a> / ';
                echo 
'<a href="contact.php?act=add&amp;uz=' $data['inbox_author'] . '&amp;uid=' $_SESSION['token'] . '&amp;' SID '">В контакт</a> / ';
                echo 
'<a href="ignore.php?act=add&amp;uz=' $data['inbox_author'] . '&amp;uid=' $_SESSION['token'] . '&amp;' SID '">Игнор</a> / ';
                echo 
'<a href="privat.php?act=spam&amp;id=' $data['inbox_id'] . '&amp;start=' $start '&amp;uid=' $_SESSION['token'] . '&amp;' SID '" onclick="return confirm('Вы подтверждаете факт спама?')">Спам</a></div>';
            } 

            echo 
'<br /><input type="submit" value="Удалить выбранное" /></form>';

            
page_strnavigation('privat.php?'$config['privatpost'], $start$total);

            echo 
'Всего писем: <b>' . (int)$total '</b><br />';
            echo 
'Объем ящика: <b>' $config['limitmail'] . '</b><br /><br />';

            echo 
'<img src="../images/img/error.gif" alt="image" /> <a href="privat.php?act=alldel&amp;uid=' $_SESSION['token'] . '&amp;' SID '">Очистить ящик</a><br />';
            echo 
'<img src="../images/img/reload.gif" alt="image" /> <a href="privat.php?rand=' mt_rand(100999) . '&amp;' SID '">Обновить список</a><br />';
        } else {
            
show_error('Входящих писем еще нет!');
        } 
        break;
    
# ###########################################################################################
    # #                                 Исходящие сообщения                                    ##
    # ###########################################################################################
    
case "output":

        
$total DB :: $dbh -> querySingle("SELECT count(*) FROM `outbox` WHERE `outbox_author`=?;", array($log));

        
$intotal DB :: $dbh -> query("SELECT count(*) FROM `inbox` WHERE `inbox_user`=? UNION ALL SELECT count(*) FROM `trash` WHERE `trash_user`=?;", array($log$log));
        
$intotal $intotal -> fetchAll(PDO :: FETCH_COLUMN);

        echo 
'<img src="../images/img/mail.gif" alt="image" /> <a href="privat.php?' SID '">Входящие (' $intotal[0] . ')</a> / ';
        echo 
'<b>Отправленные (' $total ')</b> / ';
        echo 
'<a href="privat.php?act=trash&amp;' SID '">Корзина (' $intotal[1] . ')</a><hr />';

        if (
$total 0) {
            if (
$start >= $total) {
                
$start 0;
            } 

            
$querypriv DB :: $dbh -> query("SELECT * FROM `outbox` WHERE `outbox_author`=? ORDER BY `outbox_time` DESC LIMIT " $start ", " $config['privatpost'] . ";", array($log));

            echo 
'<form action="privat.php?act=outdel&amp;start=' $start '&amp;uid=' $_SESSION['token'] . '&amp;' SID '" method="post">';
            echo 
'<div class="form">';
            echo 
'<input type="checkbox" name="sel_all" onchange="for (i in this.form.elements) this.form.elements[i].checked = this.checked" /> <b>Отметить все</b>';
            echo 
'</div>';
            while (
$data $querypriv -> fetch()) {
                echo 
'<div class="b">';
                echo 
'<div class="img">' user_avatars($data['outbox_user']) . '</div>';
                echo 
'<b><a href="anketa.php?uz=' $data['outbox_user'] . '&amp;' SID '">' nickname($data['outbox_user']) . '</a></b>  (' date_fixed($data['outbox_time']) . ')<br />';
                echo 
user_title($data['outbox_user']) . ' ' user_online($data['outbox_user']) . '</div>';

                echo 
'<div>' bb_code($data['outbox_text']) . '<br />';

                echo 
'<input type="checkbox" name="del[]" value="' $data['outbox_id'] . '" /> ';
                echo 
'<a href="privat.php?act=submit&amp;uz=' $data['outbox_user'] . '&amp;' SID '">Написать еще</a> / ';
                echo 
'<a href="privat.php?act=history&amp;uz=' $data['outbox_user'] . '&amp;' SID '">История</a></div>';
            } 

            echo 
'<br /><input type="submit" value="Удалить выбранное" /></form>';

            
page_strnavigation('privat.php?act=output&amp;'$config['privatpost'], $start$total);

            echo 
'Всего писем: <b>' . (int)$total '</b><br />';
            echo 
'Объем ящика: <b>' $config['limitoutmail'] . '</b><br /><br />';

            echo 
'<img src="../images/img/error.gif" alt="image" /> <a href="privat.php?act=alloutdel&amp;uid=' $_SESSION['token'] . '&amp;' SID '">Очистить ящик</a><br />';
        } else {
            
show_error('Отправленных писем еще нет!');
        } 

        break;
    
# ###########################################################################################
    # #                                       Корзина                                          ##
    # ###########################################################################################
    
case "trash":

        
$total DB :: $dbh -> querySingle("SELECT count(*) FROM `trash` WHERE `trash_user`=?;", array($log));

        
$intotal DB :: $dbh -> query("SELECT count(*) FROM `inbox` WHERE `inbox_user`=? UNION ALL SELECT count(*) FROM `outbox` WHERE `outbox_author`=?;", array($log$log));
        
$intotal $intotal -> fetchAll(PDO :: FETCH_COLUMN);

        echo 
'<img src="../images/img/mail.gif" alt="image" /> <a href="privat.php?' SID '">Входящие (' $intotal[0] . ')</a> / ';
        echo 
'<a href="privat.php?act=output&amp;' SID '">Отправленные (' $intotal[1] . ')</a> / ';

        echo 
'<b>Корзина (' $total ')</b><hr />';
        if (
$total 0) {
            if (
$start >= $total) {
                
$start 0;
            } 

            
$querypriv DB :: $dbh -> query("SELECT * FROM `trash` WHERE `trash_user`=? ORDER BY `trash_time` DESC LIMIT " $start ", " $config['privatpost'] . ";", array($log));

            while (
$data $querypriv -> fetch()) {
                echo 
'<div class="b">';
                echo 
'<div class="img">' user_avatars($data['trash_author']) . '</div>';
                echo 
'<b><a href="anketa.php?uz=' $data['trash_author'] . '&amp;' SID '">' nickname($data['trash_author']) . '</a></b>  (' date_fixed($data['trash_time']) . ')<br />';
                echo 
user_title($data['trash_author']) . ' ' user_online($data['trash_author']) . '</div>';

                echo 
'<div>' bb_code($data['trash_text']) . '<br />';

                echo 
'<a href="privat.php?act=submit&amp;uz=' $data['trash_author'] . '&amp;' SID '">Ответить</a> / ';
                echo 
'<a href="contact.php?act=add&amp;uz=' $data['trash_author'] . '&amp;uid=' $_SESSION['token'] . '&amp;' SID '">В контакт</a> / ';
                echo 
'<a href="ignore.php?act=add&amp;uz=' $data['trash_author'] . '&amp;uid=' $_SESSION['token'] . '&amp;' SID '">Игнор</a></div>';
            } 

            
page_strnavigation('privat.php?act=trash&amp;'$config['privatpost'], $start$total);

            echo 
'Всего писем: <b>' . (int)$total '</b><br />';
            echo 
'Срок хранения: <b>' $config['expiresmail'] . '</b><br /><br />';

            echo 
'<img src="../images/img/error.gif" alt="image" /> <a href="privat.php?act=alltrashdel&amp;uid=' $_SESSION['token'] . '&amp;' SID '">Очистить ящик</a><br />';
        } else {
            
show_error('Удаленных писем еще нет!');
        } 

        break;
    
# ###########################################################################################
    # #                                   Отправка привата                                     ##
    # ###########################################################################################
    
case "submit":

        if (empty(
$uz)) {
            echo 
'<div class="form" id="form">';
            echo 
'<form action="privat.php?act=send&amp;uid=' $_SESSION['token'] . '&amp;' SID '" method="post">';

            echo 
'Введите логин:<br />';
            echo 
'<input type="text" name="uz" maxlength="20" /><br />';

            echo 
'Или выберите из списка:<br />';
            
$querycontact DB :: $dbh -> query("SELECT `contact_name` FROM `contact` WHERE `contact_user`=? ORDER BY `contact_name` DESC;", array($log));
            
$contact $querycontact -> fetchAll();

            if (
count($contact) > 0) {
                echo 
'<select name="uzcon">';
                echo 
'<option value="0">Список контактов</option>';

                foreach(
$contact as $data) {
                    echo 
'<option value="' $data['contact_name'] . '">' nickname($data['contact_name']) . '</option>';
                } 
                echo 
'</select><br />';
            } else {
                echo 
'<select name="uzcon">';
                echo 
'<option value="0">В контактах пусто</option>';
                echo 
'</select><br />';
            } 

            echo 
'Сообщение:<br />';
            echo 
'<textarea cols="25" rows="3" name="msg"></textarea><br />';
            echo 
'<input value="Отправить" type="submit" /></form></div><br />';

            echo 
'Введите логин или выберите пользователя из своего контакт-листа<br />';
        } else {
            echo 
'<img src="../images/img/mail.gif" alt="image" /> Сообщение для <b><a href="anketa.php?uz=' $uz '&amp;' SID '">' nickname($uz) . '</a></b> ' user_visit($uz) . ':<br />';
            echo 
'<img src="../images/img/history.gif" alt="image" /> <a href="privat.php?act=history&amp;uz=' $uz '&amp;' SID '">История переписки</a><br /><br />';

            
$ignorstr DB :: $dbh -> querySingle("SELECT `ignore_id` FROM `ignore` WHERE `ignore_user`=? AND `ignore_name`=? LIMIT 1;", array($log$uz));
            if (!empty(
$ignorstr)) {
                echo 
'<b>Внимание! Данный пользователь внесен в ваш игнор-лист!</b><br />';
            } 

            echo 
'<div class="form" id="form">';
            echo 
'<form action="privat.php?act=send&amp;uz=' $uz '&amp;uid=' $_SESSION['token'] . '&amp;' SID '" method="post">';
            echo 
'Сообщение:<br />';
            echo 
'<textarea cols="25" rows="3" name="msg"></textarea><br />';
            echo 
'<input value="Отправить" type="submit" /></form></div>';
        } 

        echo 
'<br /><img src="../images/img/back.gif" alt="image" /> <a href="privat.php?' SID '">Вернуться</a><br />';

        break;
    
# ###########################################################################################
    # #                                   Отправка сообщений                                   ##
    # ###########################################################################################
    
case "send":

        
$uid check($_GET['uid']);
        
$msg check($_POST['msg']);
        if (!empty(
$_POST['uzcon'])) {
            
$uz check($_POST['uzcon']);
        } 

        if (
$uid == $_SESSION['token']) {
            if (
$uz != $log) {
                if (
utf_strlen($msg) >= && utf_strlen($msg) < 1000) {
                    
$queryuser DB :: $dbh -> querySingle("SELECT `users_id` FROM `users` WHERE `users_login`=? LIMIT 1;", array($uz));
                    if (!empty(
$queryuser)) {
                        
$uztotal DB :: $dbh -> querySingle("SELECT count(*) FROM `inbox` WHERE `inbox_user`=?;", array($uz));
                        if (
$uztotal $config['limitmail']) {
                            
// ----------------------------- Проверка на игнор ----------------------------//
                            
$ignorstr DB :: $dbh -> querySingle("SELECT `ignore_id` FROM `ignore` WHERE `ignore_user`=? AND `ignore_name`=? LIMIT 1;", array($uz$log));
                            if (empty(
$ignorstr)) {
                                if (
is_flood($log)) {
                                    
$msg no_br($msg);
                                    
$msg antimat($msg);
                                    
$msg smiles($msg);

                                    
DB :: $dbh -> query("UPDATE `users` SET `users_newprivat`=`users_newprivat`+1 WHERE `users_login`=?", array($uz));
                                    
DB :: $dbh -> query("INSERT INTO `inbox` (`inbox_user`, `inbox_author`, `inbox_text`, `inbox_time`) VALUES (?, ?, ?, ?);", array($uz$log$msgSITETIME));

                                    
DB :: $dbh -> query("INSERT INTO outbox (`outbox_user`, `outbox_author`, `outbox_text`, `outbox_time`) VALUES (?, ?, ?, ?);", array($uz$log$msgSITETIME));

                                    
DB :: $dbh -> query("DELETE FROM `outbox` WHERE `outbox_author`=? AND `outbox_time` < (SELECT MIN(`outbox_time`) FROM (SELECT `outbox_time` FROM `outbox` WHERE `outbox_author`=? ORDER BY `outbox_time` DESC LIMIT " $config['limitoutmail'] . ") AS del);", array($log$log));

                                    
$_SESSION['note'] = 'Ваше письмо успешно отправлено!';
                                    
header ("Location: privat.php?act=output&" SID);
                                    exit;
                                } else {
                                    
show_error('Антифлуд! Разрешается отправлять сообщения раз в ' flood_period() . ' секунд!');
                                } 
                            } else {
                                
show_error('Ошибка! Вы внесены в игнор-лист получателя!');
                            } 
                        } else {
                            
show_error('Ошибка! Ящик получателя переполнен!');
                        } 
                    } else {
                        
show_error('Ошибка! Данного адресата не существует!');
                    } 
                } else {
                    
show_error('Ошибка! Слишком длинное или короткое сообщение!');
                } 
            } else {
                
show_error('Ошибка! Нельзя отправлять письмо самому себе!');
            } 
        } else {
            
show_error('Ошибка! Неверный идентификатор сессии, повторите действие!');
        } 

        echo 
'<img src="../images/img/back.gif" alt="image" /> <a href="privat.php?act=submit&amp;uz=' $uz '&amp;' SID '">Вернуться</a><br />';
        echo 
'<img src="../images/img/reload.gif" alt="image" /> <a href="privat.php?' SID '">К письмам</a><br />';

        break;
    
# ###########################################################################################
    # #                                    Жалоба на спам                                      ##
    # ###########################################################################################
    
case "spam":

        
$uid check($_GET['uid']);
        
$id abs(intval($_GET['id']));

        if (
$uid == $_SESSION['token']) {
            
$querypriv DB :: $dbh -> query("SELECT * FROM `inbox` WHERE `inbox_user`=? AND `inbox_id`=? LIMIT 1;", array($log$id));
            
$data $querypriv -> fetch();

            if (!empty(
$data)) {
                
$queryspam DB :: $dbh -> querySingle("SELECT `spam_id` FROM `spam` WHERE `spam_key`=? AND `spam_idnum`=? LIMIT 1;", array(3$id));

                if (empty(
$queryspam)) {
                    if (
is_flood($log)) {
                        
DB :: $dbh -> query("INSERT INTO `spam` (`spam_key`, `spam_idnum`, `spam_user`, `spam_login`, `spam_text`, `spam_time`, `spam_addtime`) VALUES (?, ?, ?, ?, ?, ?, ?);", array(3$data['inbox_id'], $log$data['inbox_author'], $data['inbox_text'], $data['inbox_time'], SITETIME));

                        
$_SESSION['note'] = 'Жалоба успешно отправлена!';
                        
header ("Location: privat.php?start=$start&" SID);
                        exit;
                    } else {
                        
show_error('Антифлуд! Разрешается жаловаться на спам не чаще чем раз в ' flood_period() . ' секунд!');
                    } 
                } else {
                    
show_error('Ошибка! Вы уже отправили жалобу на данное сообщение!');
                } 
            } else {
                
show_error('Ошибка! Данное сообщение адресовано не вам!');
            } 
        } else {
            
show_error('Ошибка! Неверный идентификатор сессии, повторите действие!');
        } 

        echo 
'<img src="../images/img/back.gif" alt="image" /> <a href="privat.php?start=' $start '&amp;' SID '">Вернуться</a><br />';
        break;
    
# ###########################################################################################
    # #                                 Удаление сообщений                                     ##
    # ###########################################################################################
    
case "del":

        
$uid check($_GET['uid']);
        if (isset(
$_POST['del'])) {
            
$del intar($_POST['del']);
        } else {
            
$del 0;
        } 

        if (
$uid == $_SESSION['token']) {
            if (!empty(
$del)) {
                
$del implode(','$del);
                
$deltrash SITETIME 86400 $config['expiresmail'];

                
DB :: $dbh -> query("DELETE FROM `trash` WHERE `trash_del`<?;", array(SITETIME));

                
DB :: $dbh -> query("INSERT INTO `trash` (`trash_user`, `trash_author`, `trash_text`, `trash_time`, `trash_del`) SELECT `inbox_user`, `inbox_author`, `inbox_text`, `inbox_time`, ? FROM `inbox` WHERE `inbox_id` IN (" $del ") AND `inbox_user`=?;", array($deltrash$log));

                
DB :: $dbh -> query("DELETE FROM `inbox` WHERE `inbox_id` IN (" $del ") AND `inbox_user`=?;", array($log));

                
$_SESSION['note'] = 'Выбранные сообщения успешно удалены!';
                
header ("Location: privat.php?start=$start&" SID);
                exit;
            } else {
                
show_error('Ошибка удаления! Отсутствуют выбранные сообщения');
            } 
        } else {
            
show_error('Ошибка! Неверный идентификатор сессии, повторите действие!');
        } 

        echo 
'<img src="../images/img/back.gif" alt="image" /> <a href="privat.php?start=' $start '&amp;' SID '">Вернуться</a><br />';

        break;
    
# ###########################################################################################
    # #                           Удаление отправленных сообщений                              ##
    # ###########################################################################################
    
case "outdel":

        
$uid check($_GET['uid']);
        if (isset(
$_POST['del'])) {
            
$del intar($_POST['del']);
        } else {
            
$del 0;
        } 

        if (
$uid == $_SESSION['token']) {
            if (
$del 0) {
                
$del implode(','$del);

                
DB :: $dbh -> query("DELETE FROM `outbox` WHERE `outbox_id` IN (" $del ") AND `outbox_author`=?;", array($log));

                
$_SESSION['note'] = 'Выбранные сообщения успешно удалены!';
                
header ("Location: privat.php?act=output&start=$start&" SID);
                exit;
            } else {
                
show_error('Ошибка удаления! Отсутствуют выбранные сообщения');
            } 
        } else {
            
show_error('Ошибка! Неверный идентификатор сессии, повторите действие!');
        } 

        echo 
'<img src="../images/img/back.gif" alt="image" /> <a href="privat.php?act=output&amp;start=' $start '&amp;' SID '">Вернуться</a><br />';

        break;
    
# ###########################################################################################
    # #                                   Очистка входящих сообщений                           ##
    # ###########################################################################################
    
case "alldel":

        
$uid check($_GET['uid']);

        if (
$uid == $_SESSION['token']) {
            if (empty(
$udata['users_newprivat'])) {
                
$deltrash SITETIME 86400 $config['expiresmail'];

                
DB :: $dbh -> query("DELETE FROM `trash` WHERE `trash_del`<?;", array(SITETIME));

                
DB :: $dbh -> query("INSERT INTO `trash` (`trash_user`, `trash_author`, `trash_text`, `trash_time`, `trash_del`) SELECT `inbox_user`, `inbox_author`, `inbox_text`, `inbox_time`, ? FROM `inbox` WHERE `inbox_user`=?;", array($deltrash$log));

                
DB :: $dbh -> query("DELETE FROM `inbox` WHERE `inbox_user`=?;", array($log));

                
$_SESSION['note'] = 'Ящик успешно очищен!';
                
header ("Location: privat.php?" SID);
                exit;
            } else {
                
show_error('Ошибка! У вас имеются непрочитанные сообщения!');
            } 
        } else {
            
show_error('Ошибка! Неверный идентификатор сессии, повторите действие!');
        } 

        echo 
'<img src="../images/img/back.gif" alt="image" /> <a href="privat.php?' SID '">Вернуться</a><br />';

        break;
    
# ###########################################################################################
    # #                           Очистка отправленных сообщений                               ##
    # ###########################################################################################
    
case "alloutdel":

        
$uid check($_GET['uid']);

        if (
$uid == $_SESSION['token']) {
            
DB :: $dbh -> query("DELETE FROM `outbox` WHERE `outbox_author`=?;", array($log));

            
$_SESSION['note'] = 'Ящик успешно очищен!';
            
header ("Location: privat.php?act=output&" SID);
            exit;
        } else {
            
show_error('Ошибка! Неверный идентификатор сессии, повторите действие!');
        } 

        echo 
'<img src="../images/img/back.gif" alt="image" /> <a href="privat.php?act=output&amp;' SID '">Вернуться</a><br />';
        break;
    
# ###########################################################################################
    # #                              Очистка удаленных сообщений                               ##
    # ###########################################################################################
    
case "alltrashdel":

        
$uid check($_GET['uid']);

        if (
$uid == $_SESSION['token']) {
            
DB :: $dbh -> query("DELETE FROM `trash` WHERE `trash_user`=?;", array($log));

            
$_SESSION['note'] = 'Ящик успешно очищен!';
            
header ("Location: privat.php?act=trash&" SID);
            exit;
        } else {
            
show_error('Ошибка! Неверный идентификатор сессии, повторите действие!');
        } 

        echo 
'<img src="../images/img/back.gif" alt="image" /> <a href="privat.php?act=trash&amp;' SID '">Вернуться</a><br />';
        break;
    
# ###########################################################################################
    # #                                  Просмотр переписки                                    ##
    # ###########################################################################################
    
case "history":

        echo 
'<img src="../images/img/mail.gif" alt="image" /> <a href="privat.php?' SID '">Входящие</a> / ';
        echo 
'<a href="privat.php?act=output&amp;' SID '">Отправленные</a> / ';
        echo 
'<a href="privat.php?act=trash&amp;' SID '">Корзина</a><hr />';

        if (
$uz != $log) {
            
$queryuser DB :: $dbh -> querySingle("SELECT `users_id` FROM `users` WHERE `users_login`=? LIMIT 1;", array($uz));
            if (!empty(
$queryuser)) {
                
$total DB :: $dbh -> query("SELECT count(*) FROM `inbox` WHERE `inbox_user`=? AND `inbox_author`=? UNION ALL SELECT count(*) FROM `outbox` WHERE `outbox_user`=? AND `outbox_author`=?;", array($log$uz$uz$log));

                
$total array_sum($total -> fetchAll(PDO :: FETCH_COLUMN));

                if (
$total 0) {
                    if (
$start >= $total) {
                        
$start 0;
                    } 

                    
$queryhistory DB :: $dbh -> query("SELECT * FROM `inbox` WHERE `inbox_user`=? AND `inbox_author`=? UNION ALL SELECT * FROM `outbox` WHERE `outbox_user`=? AND `outbox_author`=? ORDER BY `inbox_time` DESC LIMIT " $start ", " $config['privatpost'] . ";", array($log$uz$uz$log));

                    while (
$data $queryhistory -> fetch()) {
                        echo 
'<div class="b">';
                        echo 
user_avatars($data['inbox_author']);
                        echo 
'<b><a href="anketa.php?uz=' $data['inbox_author'] . '&amp;' SID '">' nickname($data['inbox_author']) . '</a></b> ' user_online($data['inbox_author']) . ' (' date_fixed($data['inbox_time']) . ')</div>';
                        echo 
'<div>' bb_code($data['inbox_text']) . '</div>';
                    } 

                    echo 
'<br /><div class="form">';
                    echo 
'<form action="privat.php?act=send&amp;uz=' $uz '&amp;uid=' $_SESSION['token'] . '&amp;' SID '" method="post">';
                    echo 
'Сообщение:<br />';
                    echo 
'<textarea cols="25" rows="3" name="msg"></textarea><br />';
                    echo 
'<input value="Быстрый ответ" type="submit" /></form></div>';

                    
page_strnavigation('privat.php?act=history&amp;uz=' $uz '&amp;'$config['privatpost'], $start$total);

                    echo 
'Всего писем: <b>' . (int)$total '</b><br /><br />';

                    echo 
'<img src="../images/img/reload.gif" alt="image" /> <a href="privat.php?act=history&amp;uz=' $uz '&amp;rand=' mt_rand(100999) . '&amp;' SID '">Обновить список</a><br />';
                } else {
                    
show_error('История переписки отсутствует!');
                } 
            } else {
                
show_error('Ошибка! Данного адресата не существует!');
            } 
        } else {
            
show_error('Ошибка! Отсутствует переписка с самим собой!');
        } 
        break;

    default:
        
header("location: privat.php?" SID);
        exit;
        endswitch;
    } else {
    
show_login('Вы не авторизованы, для просмотра писем, необходимо');


echo 
'<img src="../images/img/search.gif" alt="Поиск" /> <a href="searchuser.php?' SID '">Поиск контактов</a><br />';
echo 
'<img src="../images/img/mail.gif" alt="Написать" /> <a href="privat.php?act=submit&amp;' SID '">Написать письмо</a><br />';
echo 
'<img src="../images/img/users.gif" alt="Контакт" /> <a href="contact.php?' SID '">Контакт</a> / <a href="ignore.php?' SID '">Игнор</a><br />';
echo 
'<img src="../images/img/homepage.gif" alt="Главная" /> <a href="../index.php?' SID '">На главную</a>';

include_once (
"../themes/" $config['themes'] . "/foot.php");

?>
Онлайн: 1
Реклама