Файл: 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';
user::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 (text::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 = user::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';