Файл: user/konts.php
Строк: 204
<?php
/* Мод "Контакты"
 * Версия v0.0.1
 * Дата последнего редактирования 22.11.2014
 * Двиг DCMS Special
 * Модифицировал densnet
 * Файл konts.php
 * Описание: выводит список контактов пользователя
 */
require_once '../sys/inc/start.php';
require_once '../sys/inc/compress.php';
require_once '../sys/inc/sess.php';
require_once '../sys/inc/settings.php';
require_once '../sys/inc/db_connect.php';
require_once '../sys/inc/ipua.php';
require_once '../sys/inc/fnc.php';
require_once '../sys/inc/user.php';
only_reg();
switch (@$_GET['type']) {
    case 'favorite':
        $type = 'favorite';
        $type_name = 'Друзья';
        break;
    case 'ignor':
        $type = 'ignor';
        $type_name = 'Игнор';
        break;
    case 'deleted':
        $type = 'deleted';
        $type_name = 'Корзина';
        break;
    default:
        $type = 'common';
        $type_name = 'Общие';
        break;
}
$set['title'] = $type_name . ' контакты';
require_once '../sys/inc/thead.php';
if (isset($_GET['id'])) {
    $ank = user::get_user($_GET['id']);
    if ($ank) {
        if (isset($_GET['act'])) {
            switch ($_GET['act']) {
                case 'add':
                    if (mysql_result(mysql_query("SELECT COUNT(*) FROM `users_konts` WHERE `id_user` = '$user[id]' AND `id_kont` = '$ank[id]'"), 0) == 1) {
                        $err[] = 'Этот пользователь уже есть в вашем списке контактов';
                    } else {
                        mysql_query("INSERT INTO `users_konts` (`id_user`, `id_kont`, `time`) VALUES ('$user[id]', '$ank[id]', '$time')");
                        msg('Контакт успешно добавлен');
                    }
                    break;
                case 'del':
                    if (mysql_result(mysql_query("SELECT COUNT(*) FROM `users_konts` WHERE `id_user` = '$user[id]' AND `id_kont` = '$ank[id]'"), 0) == 0) {
                        $warn[] = 'Этого пользователя нет в вашем списке контактов';
                    } else {
                        mysql_query("DELETE FROM `users_konts` WHERE `id_user` = '$user[id]' AND `id_kont` = '$ank[id]' LIMIT 1");
                        msg('Контакт успешно удален');
                    }
                    break;
            }
        }
    } else {
        $err[] = 'Пользователь не найден';
    }
}
if (isset($_GET['act']) && $_GET['act'] === 'edit_ok' && isset($_GET['id']) && mysql_result(mysql_query("SELECT COUNT(*) FROM `user` WHERE `id` = '" . intval($_GET['id']) . "' LIMIT 1"), 0) == 1) {
    $ank = user::get_user(intval($_GET['id']));
    if (mysql_result(mysql_query("SELECT COUNT(*) FROM `users_konts` WHERE `id_user` = '$user[id]' AND `id_kont` = '$ank[id]'"), 0) == 1) {
        $kont = mysql_fetch_array(mysql_query("SELECT * FROM `users_konts` WHERE `id_user` = '$user[id]' AND `id_kont` = '$ank[id]'"));
        if (isset($_POST['name']) && $_POST['name'] != ($kont['name'] != null ? $kont['name'] : $ank['nick'])) {
            if (preg_match('#[^A-zА-я0-9-_.,[]() ]#i', $_POST['name'])) {
                $err[] = 'В названии контакта присутствуют запрещенные символы';
            }
            if (utf8_strlen($_POST['name']) > 64) {
                $err[] = 'Название контакта длиннее 64-х символов';
            }
            if (!isset($err)) {
                mysql_query("UPDATE `users_konts` SET `name` = '" . mysql_real_escape_string($_POST['name']) . "' WHERE `id_user` = '$user[id]' AND `id_kont` = '$ank[id]' LIMIT 1");
                msg('Контакт успешно переименован');
            }
        }
        if (isset($_POST['type']) && preg_match('#^(common|ignor|favorite|deleted)$#', $_POST['type']) && $_POST['type'] == $type) {
            mysql_query("UPDATE `users_konts` SET `type` = '$_POST[type]', `time` = '$time' WHERE `id_user` = '$user[id]' AND `id_kont` = '$ank[id]' LIMIT 1");
            msg('Контакт успешно перенесен');
        }
    } else
        $err[] = 'Контакт не найден';
}
title();
aut();
err();
if ($type == 'deleted') {
    echo "<div class = 'razd'>Контакты из этой группы удаляются через 30 дней</div>";
}
if ($type == 'ignor') {
    echo "<div class = 'razd'>Уведомления о сообщениях от этих контактов не появляются</div>";
}
if ($type == 'favorite') {
    echo "<div class = 'razd'>Уведомления о сообщениях от этих контактов выделяются</div>";
}
$k_post = mysql_result(mysql_query("SELECT COUNT(*) FROM `users_konts` WHERE `id_user` = '$user[id]' AND `type` = '$type'"), 0);
echo "<div class = 'razdel'>Контактов: $k_post</div>";
if ($k_post) {
    $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 * FROM `users_konts` WHERE `id_user` = '$user[id]' AND `type` = '$type' ORDER BY `time` DESC, `new_msg` DESC LIMIT $start, $set[p_str]");
    while ($post = mysql_fetch_array($q)) {
        $ank_kont = get_user($post['id_kont']);
        $k_mess = mysql_result(mysql_query("SELECT COUNT(*) FROM `mail` WHERE `id_user` = '$ank_kont[id]' AND `id_kont` = '$user[id]'"), 0);
        $k_new_mess = mysql_result(mysql_query("SELECT COUNT(*) FROM `mail` WHERE `id_user` = '$ank_kont[id]' AND `id_kont` = '$user[id]' AND `read` = '0'"), 0);
        echo "<table class = 'razd'><tr><td class = 'icon14'>";
        avatar($ank_kont['id'], '30');
        echo "</td><td class = 'null'>n";
        echo ($k_new_mess != 0 ? '<span class="off">[new]</span> ' : null) . "<a href="/mail.php?id=$ank_kont[id]">" . ($post['name'] != null ? $post['name'] : $ank_kont['nick']) . "</a>n";
        echo ($k_new_mess != 0 ? '<b>' : null) . "(" . ($k_new_mess != 0 ? '+' . $k_new_mess : $k_mess) . ")" . ($k_new_mess != 0 ? '</b>' : null);
        echo "<br /><a href="/info.php?id=$ank_kont[id]">Профиль</a> | ";
        if (isset($_GET['act']) && $_GET['act'] === 'edit' && isset($_GET['id']) && $_GET['id'] == $ank_kont['id']) {
            echo "<form method='post' action='?type=$type&act=edit_ok&id=$ank_kont[id]&page=$page'>n";
            echo "Отображать как:<br />n";
            echo "<input type='text' maxlenght='64' name='name' value='" . ($post['name'] != null ? $post['name'] : $ank_kont['nick']) . "' /><br />n";
            echo "Группа:<br />n";
            echo "<select name='type'>n";
            echo "<option value='common'" . ($type == 'common' ? " selected='selected'" : null) . ">Общая</option>n";
            echo "<option value='favorite'" . ($type == 'favorite' ? " selected='selected'" : null) . ">Избранные</option>n";
            echo "<option value='ignor'" . ($type == 'ignor' ? " selected='selected'" : null) . ">Игнор</option>n";
            echo "<option value='deleted'" . ($type == 'deleted' ? " selected='selected'" : null) . ">Удаленные</option>n";
            echo "</select><br />n";
            echo "<input type='submit' name='apply' value='Применить' /><br />n";
            echo "</form>n";
            echo "<a href='?type=$type&id=$ank_kont[id]&page=$page'>Отмена</a><br />n";
        } else {
            echo "<a href='?type=$type&act=edit&id=$ank_kont[id]&page=$page'>Редактировать</a><br />n";
        }
        echo "</td></tr></table>n";
    }
    if ($k_page > 1) {
        str("?type=$type&", $k_page, $page);
    } // Вывод страниц
}
echo "<div class='razd'>";
echo "<b>Группа:</b><br />n";
echo ($type == 'common' ? '<b>' : null) . "<a href='?type=common'>Общие</a>" . ($type == 'common' ? '</b>' : null) . " (" . mysql_result(mysql_query("SELECT COUNT(*) FROM `users_konts` WHERE `id_user` = '$user[id]' AND `type` = 'common'"), 0) . ")<br />n";
echo ($type == 'favorite' ? '<b>' : null) . "<a href='?type=favorite'>Избранные</a>" . ($type == 'favorite' ? '</b>' : null) . " (" . mysql_result(mysql_query("SELECT COUNT(*) FROM `users_konts` WHERE `id_user` = '$user[id]' AND `type` = 'favorite'"), 0) . ")<br />n";
echo ($type == 'ignor' ? '<b>' : null) . "<a href='?type=ignor'>Игнорируемые</a>" . ($type == 'ignor' ? '</b>' : null) . "<br />n";
echo ($type == 'deleted' ? '<b>' : null) . "<a href='?type=deleted'>Удаленные</a>" . ($type == 'deleted' ? '</b>' : null) . "<br />n";
echo "</div>n";
if (isset($_SESSION['refer']) && $_SESSION['refer'] != NULL && otkuda($_SESSION['refer'])) {
    echo "<a href='$_SESSION[refer]'><div class='razd'>" . img('left.png') . " " . otkuda($_SESSION['refer']) . "</div></a>";
}
require_once '../sys/inc/tfoot.php';