File size: 13.23Kb
<?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 . ' контакты';
include_once 'sys/inc/thead.php';
title();
if ( isset( $_GET['id'] ) ) {
$ank = get_user( $_GET['id'] );
if ( $ank ) {
if ( isset( $_GET['act'] ) ) {
switch ( $_GET['act'] ) {
case 'add':
if ( db::count("SELECT COUNT(*) FROM `users_konts` WHERE `id_user` = '$user[id]' AND `id_kont` = '$ank[id]'") == 1 )
$err[] = 'Этот пользователь уже есть в вашем списке контактов';
else {
db::query("INSERT INTO `users_konts` (`id_user`, `id_kont`, `time`) VALUES ('$user[id]', '$ank[id]', '$time')");
$_SESSION['message'] = 'Контакт успешно добавлен';
header( "Location: ?" );
exit;
}
break;
case 'del':
if ( db::count("SELECT COUNT(*) FROM `users_konts` WHERE `id_user` = '$user[id]' AND `id_kont` = '$ank[id]'") == 0 )
$warn[] = 'Этого пользователя нет в вашем списке контактов';
else {
db::query("UPDATE `users_konts` SET `type` = 'deleted', `time` = '$time' WHERE `id_user` = '$user[id]' AND `id_kont` = '$ank[id]' LIMIT 1");
$_SESSION['message'] = 'Контакт перенесен в корзину';
header( "Location: ?" );
exit;
$type = 'deleted';
}
break;
}
}
} else
$err[] = 'Пользователь не найден';
}
if ( isset( $_GET['act'] ) && $_GET['act'] == 'edit_ok' && isset( $_GET['id'] ) && db::count("SELECT COUNT(*) FROM `user` WHERE `id` = '" . intval( $_GET['id'] ) . "' LIMIT 1") == 1 ) {
$ank = get_user( intval( $_GET['id'] ) );
if ( db::count("SELECT COUNT(*) FROM `users_konts` WHERE `id_user` = '$user[id]' AND `id_kont` = '$ank[id]'") == 1 ) {
$kont = db::fetch("SELECT * FROM `users_konts` WHERE `id_user` = '$user[id]' AND `id_kont` = '$ank[id]'", ARRAY_N);
if ( isset( $_POST['name'] ) && $_POST['name'] != ( $kont['name'] != null ? $kont['name'] : $ank['nick'] ) ) {
if ( preg_match( '#[^A-z0-9\-_\.,\[\]\(\) ]#i', $_POST['name'] ) )
$err[] = 'В названии контакта присутствуют запрещенные символы';
if ( strlen( $_POST['name'] ) > 64 )
$err[] = 'Название контакта длиннее 64-х символов';
if ( !isset( $err ) ) {
db::query("UPDATE `users_konts` SET `name` = '" . db::real_escape_string( htmlspecialchars( $_POST['name']) ) . "' WHERE `id_user` = '$user[id]' AND `id_kont` = '$ank[id]' LIMIT 1");
$_SESSION['message'] = 'Контакт успешно переименован';
header( "Location: ?" );
exit;
}
}
if ( isset( $_POST['type'] ) && preg_match( '#^(common|ignor|favorite|deleted)$#', $_POST['type'] ) && $_POST['type'] != $type ) {
db::query("UPDATE `users_konts` SET `type` = '$_POST[type]', `time` = '$time' WHERE `id_user` = '$user[id]' AND `id_kont` = '$ank[id]' LIMIT 1");
$_SESSION['message'] = 'Контакт успешно перенесен';
header( "Location: ?" );
exit;
}
} else
$err[] = 'Контакт не найден';
}
aut();
foreach ( $_POST as $key => $value ) {
if ( preg_match( '#^post_([0-9]*)$#', $key, $postnum ) && $value = '1' ) {
$delpost[] = $postnum[1];
}
}
if ( isset( $_POST['ignor'] ) ) {
if ( isset( $delpost ) && is_array( $delpost ) ) {
echo '<div class="mess">Контакт(ы): ';
for ( $q = 0; $q <= count( $delpost ) - 1; $q++ ) {
if ( db::count("SELECT COUNT(*) FROM `users_konts` WHERE `id_user` = '$user[id]' AND `id_kont` = '$delpost[$q]'") == 0 )
$warn[] = 'Этого пользователя нет в вашем списке контактов';
else {
db::query("UPDATE `users_konts` SET `type` = 'ignor', `time` = '$time' WHERE `id_user` = '$user[id]' AND `id_kont` = '$delpost[$q]' LIMIT 1");
}
$ank_del = get_user( $delpost[$q] );
echo '<font color="#395aff"><b>' . $ank_del['nick'] . '</b></font>, ';
}
echo ' добавлен(ы) в черный список</div>';
} else {
$err[] = 'Не выделено ни одного контакта';
}
}
if ( isset( $_POST['common'] ) ) {
if ( isset( $delpost ) && is_array( $delpost ) ) {
echo '<div class="mess">Контакт(ы): ';
for ( $q = 0; $q <= count( $delpost ) - 1; $q++ ) {
if ( db::count("SELECT COUNT(*) FROM `users_konts` WHERE `id_user` = '$user[id]' AND `id_kont` = '$delpost[$q]'") == 0 )
$warn[] = 'Этого пользователя нет в вашем списке контактов';
else {
db::query("UPDATE `users_konts` SET `type` = 'common', `time` = '$time' WHERE `id_user` = '$user[id]' AND `id_kont` = '$delpost[$q]' LIMIT 1");
}
$ank_del = get_user( $delpost[$q] );
echo '<font color="#395aff"><b>' . $ank_del['nick'] . '</b></font>, ';
}
echo ' успешно перенесен(ы) в активные контакты</div>';
} else {
$err[] = 'Не выделено ни одного контакта';
}
}
if ( isset( $_POST['favorite'] ) ) {
if ( isset( $delpost ) && is_array( $delpost ) ) {
echo '<div class="mess">Контакт(ы): ';
for ( $q = 0; $q <= count( $delpost ) - 1; $q++ ) {
if ( db::count("SELECT COUNT(*) FROM `users_konts` WHERE `id_user` = '$user[id]' AND `id_kont` = '$delpost[$q]'") == 0 )
$warn[] = 'Этого пользователя нет в вашем списке контактов';
else {
db::query("UPDATE `users_konts` SET `type` = 'favorite', `time` = '$time' WHERE `id_user` = '$user[id]' AND `id_kont` = '$delpost[$q]' LIMIT 1");
}
$ank_del = get_user( $delpost[$q] );
echo '<font color="#395aff"><b>' . $ank_del['nick'] . '</b></font>, ';
}
echo ' успешно перенесен(ы) в избранное</div>';
} else {
$err[] = 'Не выделено ни одного контакта';
}
}
if ( isset( $_POST['deleted'] ) ) {
if ( isset( $delpost ) && is_array( $delpost ) ) {
echo '<div class="mess">Контакт(ы): ';
for ( $q = 0; $q <= count( $delpost ) - 1; $q++ ) {
if ( db::count("SELECT COUNT(*) FROM `users_konts` WHERE `id_user` = '$user[id]' AND `id_kont` = '$delpost[$q]'") == 0 )
$warn[] = 'Этого пользователя нет в вашем списке контактов';
else {
db::query("UPDATE `users_konts` SET `type` = 'deleted', `time` = '$time' WHERE `id_user` = '$user[id]' AND `id_kont` = '$delpost[$q]' LIMIT 1");
}
$ank_del = get_user( $delpost[$q] );
echo '<font color="#395aff"><b>' . $ank_del['nick'] . '</b></font>, ';
}
echo ' успешно перенесен(ы) в корзину</div>';
} else {
$err[] = 'Не выделено ни одного контакта';
}
}
err();
$k_post = db::count("SELECT COUNT(*) FROM `users_konts` WHERE `id_user` = '$user[id]' AND `type` = '$type'");
if ( $k_post ) {
$k_page = k_page( $k_post, $set['p_str'] );
$page = page( $k_page );
$start = $set['p_str'] * $page - $set['p_str'];
echo '<table class="post">';
$q = db::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]");
echo '<form method="post" action="">';
while ( $post = $q->fetch_array() ) {
$ank_kont = get_user( $post['id_kont'] );
$k_mess = db::count("SELECT COUNT(*) FROM `mail` WHERE `unlink` != '$user[id]' AND `id_user` = '$ank_kont[id]' AND `id_kont` = '$user[id]'");
$k_mess2 = db::count("SELECT COUNT(*) FROM `mail` WHERE `unlink` != '$user[id]' AND `id_user` = '$user[id]' AND `id_kont` = '$ank_kont[id]'");
$k_mess_to = db::count("SELECT COUNT(*) FROM `mail` WHERE `unlink` != '$user[id]' AND `id_user` = '$user[id]' AND `id_kont` = '$ank_kont[id]' AND `read` = '0'");
$k_new_mess = db::count("SELECT COUNT(*) FROM `mail` WHERE `id_user` = '$ank_kont[id]' AND `id_kont` = '$user[id]' AND `read` = '0'");
if ( $k_mess_to > 0 )
$k_mess_to = ' <font color=red><b>↑</b></font> [<font color=red>' . $k_mess_to . '</font>]';
else
$k_mess_to = null;
if ( $num == 0 ) {
echo " <div class='nav1'>\n";
$num = 1;
} elseif ( $num == 1 ) {
echo " <div class='nav2'>\n";
$num = 0;
}
if ( $set['set_show_icon'] == 2 ) {
avatar( $ank_kont['id'] );
} elseif ( $set['set_show_icon'] == 1 ) {
echo status( $ank_kont['id'] );
}
echo group( $ank_kont['id'] ) . ' <a href="/info.php?id=' . $ank_kont['id'] . '">' . $ank_kont['nick'] . '</a>';
echo online( $ank_kont['id'] ) . medal( $ank_kont['id'] ) . '<br />';
echo '<input type="checkbox" name="post_' . $post['id_kont'] . '" value="1" />';
echo ( $k_new_mess != 0 ? '<img src="/style/icons/new_mess.gif" alt="*" /> ' : '<img src="/style/icons/msg.gif" alt="*" /> ' ) . '<a href="/mail.php?id=' . $ank_kont['id'] . '">' . ( $post['name'] != null ? $post['name'] : 'Сообщения' ) . '</a> ';
echo ( $k_new_mess != 0 ? '<font color="red">' : null ) . ( $k_new_mess != 0 ? '+' . $k_new_mess : '(' . $k_mess . '/' . $k_mess2 . ')' . $k_mess_to ) . ( $k_new_mess != 0 ? '</font> ' : null );
echo '</div>';
}
echo '<div class="mess">';
echo ' Отмеченные контакты<br />';
echo '</div>';
echo '<div class="nav2">';
if ( $type != 'deleted' )
echo '<input value="Удалить" type="submit" name="deleted" /> ';
if ( $type != 'common' )
echo '<input value="Активные" type="submit" name="common" /> ';
if ( $type != 'favorite' )
echo '<input value="Избранное" type="submit" name="favorite" /> ';
if ( $type != 'ignor' )
echo '<input value="Игнор" type="submit" name="ignor" /> ';
echo '</form>';
echo '</div>';
if ( $k_page > 1 )
str( "?type=$type&", $k_page, $page );
} else {
echo '<div class="mess">';
echo 'Ваш список контактов пуст';
echo '</div>';
}
if ( $type == 'deleted' )
echo '<div class="mess">Внимание. Контакты хранятся в корзине не более 1 месяца.<br />После этого они полностью удаляются.</div>';
if ( $type == 'ignor' )
echo '<div class="mess">Уведомления о сообщениях от этих контактов не появляются</div>';
if ( $type == 'favorite' )
echo '<div class="mess">Уведомления о сообщениях от этих контактов выделяются</div>';
echo '<div class="main">';
echo ( $type == 'common' ? '<b>' : null ) . '<img style="padding:2px;" src="/style/icons/activ.gif" alt="*" /> <a href="?type=common">Активные</a>' . ( $type == 'common' ? '</b>' : null ) . ' (' . db::count("SELECT COUNT(*) FROM `users_konts` WHERE `id_user` = '$user[id]' AND `type` = 'common'") . ')<br />';
echo ( $type == 'favorite' ? '<b>' : null ) . '<img style="padding:2px;" src="/style/icons/star_fav.gif" alt="*" /> <a href="?type=favorite">Избранные</a>' . ( $type == 'favorite' ? '</b>' : null ) . ' (' . db::count("SELECT COUNT(*) FROM `users_konts` WHERE `id_user` = '$user[id]' AND `type` = 'favorite'") . ')<br />';
echo ( $type == 'ignor' ? '<b>' : null ) . '<img style="padding:2px;" src="/style/icons/spam.gif" alt="*" /> <a href="?type=ignor">Игнорируемые</a>' . ( $type == 'ignor' ? '</b>' : null ) . ' (' . db::count("SELECT COUNT(*) FROM `users_konts` WHERE `id_user` = '$user[id]' AND `type` = 'ignor'") . ')<br />';
echo ( $type == 'deleted' ? '<b>' : null ) . '<img style="padding:2px;" src="/style/icons/trash.gif" alt="*" /> <a href="?type=deleted">Корзина</a>' . ( $type == 'deleted' ? '</b>' : null ) . ' (' . db::count("SELECT COUNT(*) FROM `users_konts` WHERE `id_user` = '$user[id]' AND `type` = 'deleted'") . ')<br />';
echo '</div>';
include_once 'sys/inc/tfoot.php';
?>