View file xmyx.ru/mail/act/func/contact.php

File size: 4.36Kb
<?php defined('ACCESS') OR die('No direct script access...');
/**
 * Author - koder_alex
 * ISQ - 669906617
 * VK - https://vk.com/koder_alex
 * It is forbidden to give, sell, modify.
 */
$data = array();
$contact_id = array();
$time_msg = array();
if(preg_match('/[0-9]\,+/', $_POST['contact_id']) === 1) {
    $contact_id = explode(',', $_POST['contact_id']);
}
if(preg_match('/[0-9]\,+/', $_POST['time_msg']) === 1) {
    $time_msg = explode(',', $_POST['time_msg']);
}
$q = mysql_query("SELECT IF(e.id_user = '" . $user['id'] . "', e.id_kont, e.id_user) AS contact,
                    SUM(IF (e.read = '0' AND e.id_kont = '" . $user['id'] . "', 1, 0)) AS inbox, 
                    SUM(IF (e.read = '0' AND e.id_user = '" . $user['id'] . "', 1, 0)) AS outbox
                    FROM mail AS e
                    WHERE (e.id_kont = '" . $user['id'] . "' OR e.id_user = '" . $user['id'] . "') AND `unlink` != '" . $user['id'] . "'
                    GROUP BY contact");

$dataCount = array();
while ($dC = mysql_fetch_assoc($q))
    $dataCount[$dC['contact']] = $dC;
mysql_free_result($q);
$k_post = count($dataCount);
if ($k_post) {
$set['p_str'] = '20';
    $k_page = k_page($k_post, $set['p_str']);
    $page = pagePostData($k_page);
    $start = $set['p_str'] * $page - $set['p_str'];
    $i = 0;
    $q = mysql_query("SELECT *, IF(m.id_user = '$user[id]', m.id_kont, m.id_user) AS contact,
	 		SUM(IF (m.read = '0' AND m.id_user = '$user[id]', 1, 0)) AS outbox,
	 		(SELECT COUNT(*) FROM mail WHERE `id_kont` = '$user[id]' and `id_user` = contact AND `read` = '0' AND `unlink` != '$user[id]') as inbox FROM `mail` AS m,
	        (SELECT MAX(id) AS id FROM `mail` WHERE `unlink` != '$user[id]'  AND (`id_kont` = '$user[id]' OR `id_user` = '$user[id]') GROUP BY IF(`id_user` = '$user[id]', `id_kont`, `id_user`)) as max
	        WHERE m.id = max.id AND (m.id_kont = '$user[id]' OR m.id_user = '$user[id]') AND m.unlink != '$user[id]'
	        GROUP BY contact ORDER BY m.time DESC, inbox DESC LIMIT $start, $set[p_str]");
    while ($post = mysql_fetch_assoc($q)) {
        if(in_array($post['contact'], $contact_id) === true && in_array($post['time'], $time_msg) === true) {
            continue;
        }
        $d = d_user($post['contact']);
        $d['nick'] = u_nick($d['id']);
        $post = array_merge($post, $dataCount[$post['contact']]);
        ob_start();
        ?>
        <a class="dialog_item<?= ($post['outbox'] >= 1 ? ' di_unread_outbox' : '') . ($post['inbox'] >= 1 ? ' di_unread_inbox' : '') ?>"
           href="/mail?act=show&amp;peer=<?= $post['contact'] ?>" data-contact="<?= $post['contact'] ?>" data-time="<?= $post['time'] ?>">
            <div class="di_iwrap"><?= $d['avatar'] ?></div>
            <div class="di_cont">
                <span class="di_date"><?= vremja($post['time']) ?></span>
                <div class="di_head">
                    <span class="mi_author"><?= $d['nick'] . $d['online'] ?></span><?= ($post['inbox'] >= 1 ? '<span class="di_unread_cnt"><span class="di_hide"> (+</span>' . $post['inbox'] . '<span class="di_hide">)</span></span>' : '') ?>
                </div>
                <div class="di_body">
<?
if($post['gift'] == 1){
?>
<div class="mi_medias_plain">Подарок</div>
<?
}
elseif($post['photo'] == 1){
?>
<div class="mi_medias_plain">Фотография</div>
<?
}
else{
?>
                    <?= ($post['msg'] ? '<div class="di_text">' . hideLink(output_text(short_text($post['msg'], 15))) . '</div>' : '') ?>
                    <?
                    if ($post['attachments']) {
                        $cnt_files = mysql_fetch_assoc(mysql_query("SELECT folder, COUNT(id) as cnt FROM mail_files_vk WHERE `action` = 'sent' AND `id_mail` = '" . $post['id'] . "' LIMIT 1"));
                        echo '<div class="mi_medias_plain">';
                        if ($cnt_files['cnt'] == 1)
                            echo $config['folder'][$cnt_files['folder']];
                        else
                            echo des2num($cnt_files['cnt'], array(' вложение', ' вложения', ' вложений'));
                        echo '</div>';
                    }
}
                    ?>
                </div>
            </div>
        </a>
        <?
        $data['contact'][] = ob_get_contents();
        ob_end_clean();
    }
    if (!empty($data['contact'])) {
        $data['contact'] = array_reverse($data['contact']);
    }
}
setData($data);