Вход Регистрация
Файл: user/mail/index.php
Строк: 301
<?php
/* DCMS Special
 * Дата последнего редактирования 21.12.2015
 * Модифицировал densnet
 */

foreach (array('start''compress''sess''settings''db_connect''ipua''fnc''user') as $inc) {
    require_once 
"../../sys/inc/{$inc}.php";
}

only_reg();

$listFlagged = array(
    
'inbox' => 'Активные',
    
'favorite' => 'Избранное',
    
'archive' => 'Архив',
    
'spam' => 'Спам',
    
'deleted' => 'Корзина',
);

if (isset(
$_GET['s']) && array_key_exists($_GET['s'], $listFlagged)) {
    
$listSort[] = " IF(`id_kont` = '$user[id]', `flaggedTo`, `flaggedFrom`) = '" mysql_real_escape_string($_GET['s']) . "' ";
    
$flagged $_GET['s'];
} else {
    
$listSort[] = " IF(`id_kont` = '$user[id]', `flaggedTo`, `flaggedFrom`) = 'inbox' ";
    
$listSort[] = " IF(`id_kont` = '$user[id]', `flaggedTo`, `flaggedFrom`) = 'favorite' ";
    
$flagged 'inbox';
}

if (isset(
$_POST['action'])) {
    foreach (
$_POST AS $key => $value) {
        if (
preg_match('/^cnt/i'$key)) {
            
$contactsTo[] = "`id_kont` = '$value'";
            
$contactsFrom[] = "`id_user` = '$value'";
            
$actionTrue true;
        }
    }

    
$paramsTo '(' implode(' OR '$contactsTo) . ") AND `id_user` = '$user[id]'";
    
$paramsFrom '(' implode(' OR '$contactsFrom) . ") AND `id_kont` = '$user[id]'";

    if (
$_POST['action'] == 'truncate') {
        
mysql_query("UPDATE `mail` SET `deleted` = '-1' WHERE (`id_user` = '$user[id]' OR `id_kont` = '$user[id]') AND (" implode(' OR '$listSort) . ") AND (`deleted` != '0' OR type = 'email')");
        
mysql_query("UPDATE `mail` SET `deleted` = '$user[id]' WHERE (`id_user` = '$user[id]' OR `id_kont` = '$user[id]') AND (" implode(' OR '$listSort) . ") AND `deleted` = '0' AND `type` = 'personal'");
        
msg('Корзина успешно очищена');
    } elseif (
array_key_exists($_POST['action'], $listFlagged) && isset($actionTrue)) {
        
mysql_query("UPDATE `mail` SET `flaggedFrom` = '" mysql_real_escape_string($_POST['action']) . "' WHERE $paramsTo AND (" implode(' OR '$listSort) . ") ");
        
mysql_query("UPDATE `mail` SET `flaggedTo` = '" mysql_real_escape_string($_POST['action']) . "' WHERE $paramsFrom AND (" implode(' OR '$listSort) . ") ");

        
msg("Контакты перенесены в " $listFlagged[$_POST[action]] . "");
    }

    
header('Location: ?s=' $flagged);
    exit;
}

#Поиск контактов по email и нику с id

if (isset($_GET['q'])) {
    
$search $_GET['q'];
    
$sAnk mysql_fetch_assoc(mysql_query("SELECT * FROM `user` WHERE `nick` = '" mysql_real_escape_string($search) . "' OR `id` = '" . (int) $search "' LIMIT 1"));

    if (isset(
$sAnk['id'])) {
        
$querySearch[] = "`id_user` = '$sAnk[id]' AND `id_kont` = '$user[id]'";
        
$querySearch[] = "`id_kont` = '$sAnk[id]' AND `id_kont` = '$sAnk[id]'";
    }

    
$querySearch[] = "`id_user` like '%" mysql_real_escape_string($search) . "%' AND `id_kont` = '$user[id]'";
    
$querySearch[] = "`id_kont` like '%" mysql_real_escape_string($search) . "%' AND `id_user` = '$user[id]'";
    
$querySearch ' AND (' implode(' OR '$querySearch) . ')';
} else {
    
$search null;
    
$querySearch null;
}

$set['title'] = ($flagged != 'inbox' $listFlagged[$flagged] . '/' '') . 'Почта/' $user['nick'];
require_once 
'sys/inc/thead.php';

aut();
err();

echo 
"<link rel='stylesheet' href='/style/css/email.css' type='text/css' />";

#Навигация
echo "<nav class='navbar navbar-light' style='background-color: #607D8B; color: #fff;'>";
echo 
"<ul class='nav navbar-nav'>";
echo 
"<li class='nav-item' style='margin-left: 1px;'><a class='nav-link' href='/'><i class='material-icons'>home</i></a></li>";
echo 
"<li class='nav-item' style='margin-left: 1px;'><a class='nav-link'><i class='material-icons'>keyboard_arrow_right</i></a></li>";
echo 
"<li class='nav-item' style='margin-left: 1px;'><a class='nav-link' href='/info.php?id=$user[id]'>$user[nick]</a></li>";

if (
$search != null) {
    echo 
"<li class='nav-item' style='margin-left: 1px;'><a class='nav-link'><i class='material-icons'>keyboard_arrow_right</i></a></li>";
    echo 
"<li class='nav-item' style='margin-left: 1px;'><a class='nav-link' href='/user/mail/'>Почта</a></li>";

    if (
$flagged != 'inbox') {
        echo 
"<li class='nav-item' style='margin-left: 1px;'><a class='nav-link'><i class='material-icons'>keyboard_arrow_right</i></a></li>";
        echo 
"<li class='nav-item' style='margin-left: 1px;'><a class='nav-link' href='?s=$flagged'>$listFlagged[$flagged]</a></li>";
    }

    echo 
"<li class='nav-item' style='margin-left: 1px;'><a class='nav-link'><i class='material-icons'>keyboard_arrow_right</i></a></li>";
    echo 
"<li class='nav-item' style='margin-left: 1px;'><a class='nav-link'>Поиск</a></li>";
} elseif (
$flagged == 'inbox') {
    echo 
"<li class='nav-item' style='margin-left: 1px;'><a class='nav-link'><i class='material-icons'>keyboard_arrow_right</i></a></li>";
    echo 
"<li class='nav-item' style='margin-left: 1px;'><a class='nav-link'>Почта</a></li>";
} else {
    echo 
"<li class='nav-item' style='margin-left: 1px;'><a class='nav-link'><i class='material-icons'>keyboard_arrow_right</i></a></li>";
    echo 
"<li class='nav-item' style='margin-left: 1px;'><a class='nav-link' href='/user/mail/'>Почта</a></li>";

    echo 
"<li class='nav-item' style='margin-left: 1px;'><a class='nav-link'><i class='material-icons'>keyboard_arrow_right</i></a></li>";
    echo 
"<li class='nav-item' style='margin-left: 1px;'><a class='nav-link'>$listFlagged[$flagged]</a></li>";
}

echo 
"</ul>";
echo 
"</nav>";

$arrContacts mysql_query("SELECT e.id_user, IF(e.id_user = '$user[id]', e.id_kont, e.id_user) AS nick, SUM(IF (e.read = '0' AND e.id_kont = '$user[id]', 1, 0)) AS count_new, SUM(IF (e.read = '0' AND e.id_user = '$user[id]', 1, 0)) AS count_read, SUM(IF (e.id_kont = '$user[id]', 1, 0)) AS count_to, SUM(IF (e.id_user = '$user[id]', 1, 0)) AS count_from FROM mail AS e WHERE (e.id_kont = '$user[id]' OR e.id_user = '$user[id]') AND (" implode(' OR '$listSort) . ") AND `deleted` != '$user[id]' AND `deleted` != '-1' $querySearch GROUP BY IF(e.id_user = '$user[id]', e.id_kont, e.id_user)");
$countArray = array();
while (
$count mysql_fetch_assoc($arrContacts)) {
    
$countArray[strtolower($count['nick'])] = $count;
}

$k_post count($countArray);

if (
$k_post || $querySearch != null) {
    echo 
"<div class='list-group-item' style='margin-top: 5px;margin-bottom: 5px;'>n";
    echo 
"<form action='?' method='GET'>";

    echo 
"<input type='hidden' name='s' value='$flagged' />";
    echo 
"<input placeholder='Поиск контакта' name='q' type='text' value='" stripcslashes(htmlspecialchars($search)) . "' style='width: 80%;'>";
    echo 
"<button type='submit' class='waves-effect waves-light btn'> <i class='material-icons'>search</i></button>";

    echo 
"</form>";
    echo 
"</div>";
}

echo 
"<div class='list-group-item' style='margin-top: 5px;margin-bottom: 5px;'>n";
echo 
"<a href='messageList.php'><i class='material-icons'>email</i> Новое сообщение</a>";
echo 
"</div>";

if (
$k_post == 0) {
    echo 
"<div class='list-group-item'><i class='material-icons'>feedback</i> Список контактов пуст</div>";
} else {
    
$k_page k_page($k_post$set['p_str']);
    
$page page($k_page);
    
$start $set['p_str'] * $page $set['p_str'];
    
$q mysql_query("SELECT *, IF(`id_user` = '$user[id]', `id_kont`, `id_user`) AS contact FROM `mail` AS e , (SELECT MAX(id) AS id FROM `mail` WHERE `deleted` != '$user[id]' AND `deleted` != '-1' AND (" implode(' OR '$listSort) . ") AND (`id_kont` = '$user[id]' OR `id_user` = '$user[id]') GROUP BY IF(`id_user` = '$user[id]', `id_kont`, `id_user`))t WHERE e.id = t.id AND (`id_kont` = '$user[id]' OR `id_user` = '$user[id]') AND (" implode(' OR '$listSort) . ") AND `deleted` != '$user[id]' AND `deleted` != '-1' $querySearch GROUP BY IF(`id_user` = '$user[id]', `id_kont`, `id_user`) ORDER BY e.id DESC LIMIT $start$set[p_str]");

    echo 
"<form action='?s=$flagged' method='POST'>";

    while (
$post mysql_fetch_assoc($q)) {
        
$EmailUser = new EmailUser($post['contact']);
        
$ank $EmailUser->getUser();

        echo 
"<a href='messageList.php?s=$flagged&amp;contact=" urlencode($post['contact']) . "'><table class='list-group-item " . ($post['read'] == && $post['id_user'] != $user['id'] ? 'dialogs_new_msg' 'dialogs') . "' style='margin-top: 5px;margin-bottom: 5px;'><tr><td class='icon14'>";
        
avatar($ank['id'], '40''border-radius: 2px;');
        echo 
"</td><td class='null'>";
        
?>

        <?php
        
if ($countArray[$post['contact']]['count_new'] == 0) {
            
$new null;
        } else {
            
$new "+{$countArray[$post['contact']]['count_new']}";
        }
        echo 
"<span class='badge'>{$countArray[$post['contact']]['count_from']}/{$countArray[$post['contact']]['count_to']}</span> <span class='" . ($post['read'] == && $post['id_user'] != $user['id'] ? 'badge' '') . "'>$new</span>";

        echo 
user($ank['id']);

        echo 
" <span style='color:grey;'>" date::times($post['time']) . "</span><br />";
        echo 
"<div class='" . ($post['read'] == && $post['id_kont'] != $user['id'] ? 'dialogs_new_msg' 'dialogs') . "' style='border-radius: 3px;'>";
        echo 
"<span style='float:right;'><input type='checkbox' name='cnt$post[id]' value='" stripcslashes(htmlspecialchars($post['contact'])) . "' id='test$post[id]' />";
        echo 
"<label for='test$post[id]'></label></span>";
        echo 
"" . ($post['attachments'] == '<i class="material-icons">attach_file</i>' '') . " " toOutput(preg_replace('/([^s]{30})[^s]+/''$1...'$post['msg']));
        echo 
"</div>";
        echo 
"</td></tr></table></a>";
    }

    echo 
"<div class='list-group-item'>n";
    if (
$flagged != 'deleted') {
        if (
$flagged != 'spam') {
            echo 
"<button class='waves-effect waves-light btn' type='submit' name='action' value='spam'>спам</button> ";
        }

        if (
$flagged != 'archive') {
            echo 
"<button class='waves-effect waves-light btn' type='submit' name='action' value='archive'>архив</button> ";
        } else {
            echo 
"<button class='waves-effect waves-light btn' type='submit' name='action' value='inbox'>из архива</button> ";
        }
    }

    if (
$flagged == 'deleted') {
        echo 
"<button class='waves-effect waves-light btn' type='submit' name='action' value='inbox'>восстановить</button> ";
        echo 
"<button class='waves-effect waves-light btn' type='submit' name='action' value='truncate'>очистить корзину</button> ";
    } else {
        echo 
"<button class='waves-effect waves-light btn' type='submit' name='action' value='deleted'>удалить</button>";
    }

    echo 
"</div>";
    echo 
"</form>";

    if (
$k_page 1) {
        echo 
"<div class='list-group-item'>";
        
str('?s=' $flagged '&amp;'$k_page$page);
        echo 
"</div>";
    }
}

$listInbox mysql_fetch_assoc(mysql_query("SELECT SUM(IF(IF (e.id_kont = '$user[id]', flaggedTo, flaggedFrom) = 'favorite', 1, 0)) AS favorite, SUM(IF(IF (e.id_kont = '$user[id]', flaggedTo, flaggedFrom) = 'archive', 1, 0)) AS archive, SUM(IF(IF (e.id_kont = '$user[id]', flaggedTo, flaggedFrom) = 'spam', 1, 0)) AS spam, SUM(IF(IF (e.id_kont = '$user[id]', flaggedTo, flaggedFrom) = 'deleted', 1, 0)) AS deleted FROM `mail` AS e WHERE (e.id_kont = '$user[id]' OR e.id_user = '$user[id]') AND `deleted` != '$user[id]' AND `deleted` != '-1' LIMIT 1"));

if (
$flagged == 'inbox' && $search == null) {
    echo 
"<div class='collection'>";
    foreach (
$listInbox AS $key => $value) {
        if (
$key == 'favorite') {
            
$img 'star';
        } elseif (
$key == 'archive') {
            
$img 'archive';
        } elseif (
$key == 'spam') {
            
$img 'block';
        } elseif (
$key == 'deleted') {
            
$img 'delete';
        }

        echo 
"<a class='list-group-item' href='?s=$key'><i class='material-icons'>$img</i> $listFlagged[$key] <span class='badge'>" . ($value $value 0) . "</span></a>";
    }

    echo 
"<a class='list-group-item' href='settings.php'><i class='material-icons'>settings</i> Настройки почты</a>";

    echo 
"</div>";
} else {
    echo 
"<div class='list-group-item'>";
    echo 
"<a href='?'><i class='material-icons'>keyboard_backspace</i> Назад</a>";
    echo 
"</div>";
}



if (
$flagged == 'deleted' && isset($set['mail_clear_time'])) {
    
$setnamed = array(
        
'86400' => '1 дня',
        
'604800' => '1 недели',
        
'2419200' => '1 месяца',
        
'7257600' => '3 месяцев',
        
'14515200' => '6 месяцев',
        
'29030400' => '1 года',
    );
    
?>
    <div class="list-group-item">
        Внимание. Контакты хранятся в корзине не более <?= $setnamed[$set['mail_clear_time']] ?>. После этого они полностью удаляются.
    </div>
    <?php
}
?>

<script>
    $(document).ready(function () {
        var select_all = 0;
        $('#select_all').click(function () {
            if (select_all == 0) {
                $('.check_box').prop('checked', true);
                select_all = 1;
            } else {
                $('.check_box').prop('checked', false);
                select_all = 0;
            }
        });

        $('.js_not').css({'display': 'inline-block'});
    });
</script>
<?php
require_once 'sys/inc/tfoot.php';
Онлайн: 0
Реклама