Файл: soc-set/moduls/friends/index.php
Строк: 103
<?php
require_once('../../core/start.php');
check_auth();
$all = DB::$dbs->querySingle("SELECT COUNT(`id`) FROM ".FRIENDS." WHERE (`id_user` = ? OR `id_friend` = ?) AND (`status` = ?) ", array($user['user_id'],$user['user_id'], 1));
$all2 = DB::$dbs->querySingle("SELECT COUNT(`id`) FROM ".FRIENDS." WHERE (`id_user` = ?) AND (`status` = ?) ", array($user['user_id'], 0));
$all3 = DB::$dbs->querySingle("SELECT COUNT(`id`) FROM ".FRIENDS." WHERE (`id_friend` = ?) AND (`status` = ?) ", array($user['user_id'], 0));
switch ($select) {
default:
if ($_GET['list'] != 'friend') {
head('Друзья');
panel();
echo DIV_LI . '<a href="'.HOME.'/friends/">Мои друзья</a> ['.$all.']' . CLOSE_DIV;
echo DIV_LI . '<a href="'.HOME.'/friends/my_appl/">Исходящие заявки</a> ['.$all2.']' . CLOSE_DIV;
echo DIV_LI . '<a href="'.HOME.'/friends/user_appl/">Заявки дружить</a> ['.$all3.']' . CLOSE_DIV;
}
switch ($_GET['list']) {
/* Мои друзья */
default:
echo DIV_BLOCK . '<b>Мои друзья:</b>' . CLOSE_DIV;
if ($all == 0) {
echo DIV_BLOCK . 'Список друзей пуст.' . CLOSE_DIV;
} else {
$sql = DB::$dbs->query("SELECT `id`, `id_user`, `id_friend` FROM ".FRIENDS." WHERE (`id_user` = ? OR `id_friend` = ?) AND (`status` = ?) ", array($user['user_id'],$user['user_id'], 1));
while($friend = $sql -> fetch()){
if ($friend['id_friend'] == $user['user_id']) {
$a = $friend['id_user'];
} else {
$a = $friend['id_friend'];
}
echo DIV_LI . userLink($a) . ' <a href="'.HOME.'/friends/delete/'.$a.'/">[Удалить из друзей]</a>' . CLOSE_DIV;
}
}
$array = array('Друзья');
nav($array);
break;
/* Мои заявки */
case 'my_appl':
echo DIV_BLOCK . '<b>Мои заявки:</b>' . CLOSE_DIV;
if ($all2 == 0) {
echo DIV_BLOCK . 'Заявок нет.' . CLOSE_DIV;
} else {
$sql = DB::$dbs->query("SELECT `id_friend` FROM ".FRIENDS." WHERE (`id_user` = ?) AND (`status` = ?) ", array($user['user_id'], 0));
while($friend = $sql -> fetch()){
echo DIV_LI . userLink($friend['id_friend']) . ' <a href="'.HOME.'/friends/delete/'.$friend['id_friend'].'>[Отменить]</a>' . CLOSE_DIV;
}
}
$array = array('Друзья', 'Мои заявки');
nav($array);
break;
case 'user_appl':
echo DIV_BLOCK . '<b>Заявки дружить:</b>' . CLOSE_DIV;
if ($all3 == 0) {
echo DIV_BLOCK . 'Заявок нет.' . CLOSE_DIV;
} else {
$sql = DB::$dbs->query("SELECT `id_user` FROM ".FRIENDS." WHERE (`id_friend` = ?) AND (`status` = ?) ", array($user['user_id'], 0));
while($friend = $sql -> fetch()){
echo DIV_LI . userLink($friend['id_user']) . ' <a href="'.HOME.'/friends/add/'.$friend['id_user'].'/">[Принять]</a> <a href="'.HOME.'/friends/otkl/'.$friend['id_user'].'/">[Отклонить]</a>' . CLOSE_DIV;
}
}
$array = array('Друзья', 'Заявки дружить');
nav($array);
break;
}
break;
case 'add':
$id = abs(intval($_GET['friend']));
$ank = DB::$dbs->queryFetch("SELECT * FROM ".USERS." WHERE `user_id` = ?",array($id));
if (empty($ank)) {
head('Пользователь не найден в базе');
echo DIV_TITLE . 'Пользователь не найден в базе' . CLOSE_DIV;
echo 'Ошибка!<br />';
echo DIV_GO . '<a href="'.HOME.'/">Главная</a> / <b>Пользователь не найден в базе</b>' . CLOSE_DIV;
exit();
}
if ($ank['user_id'] == $user['user_id']) {
head('Вы не можете себя добавить в друзья');
echo DIV_TITLE . 'Вы не можете себя добавить в друзья' . CLOSE_DIV;
echo 'Ошибка!<br />';
echo DIV_GO . '<a href="'.HOME.'/">Главная</a> / <b>Вы не можете себя добавить в друзья</b>' . CLOSE_DIV;
exit();
}
$sql = DB::$dbs->queryFetch("SELECT * FROM ".FRIENDS." WHERE (`id_user` = ? AND `id_friend` = ?) OR (`id_friend` = ? AND `id_user` = ?) LIMIT 1 ",array($ank['user_id'], $user['user_id'], $user['user_id'], $ank['user_id']));
if ($sql['id'] && $sql['status'] == 1) {
$err .= 'Пользователь ' . $ank['nick'] . ' уже состоит у вас в друзьях.<br />';
} else {
if (($sql['id'] && $sql['status'] == 0) && $sql['id_friend'] == $user['user_id']) {
DB::$dbs->query("UPDATE ".FRIENDS." SET `status` = ? WHERE (`id_user` = ? AND `id_friend` = ?)",array(1, $sql['id_user'], $user['user_id']));
$ank = DB::$dbs->queryFetch("SELECT * FROM ".USERS." WHERE `user_id` = ?",array($sql['id_user']));
$msg = 'Заявка от ' . $ank['nick'] . ' успешно принята';
$lenta = '<a href="'.HOME.'/id'.$user['user_id'].'"><b>' . $user['nick'] . '</b></a> принял'.(empty($user['gender']) ? 'a' : NULL).' вашу заявку в друзья';
lenta($lenta, $ank['user_id']);
} else {
DB::$dbs->query("INSERT INTO ".FRIENDS." SET `id_user` = ?, `id_friend` = ? ",array($user['user_id'], $ank['user_id']));
$msg = 'Вы успешно выслали заявку на дружбу пользователю ' . $ank['nick'] . '! Ждите подтверждения! =)';
$lenta = '<a href="'.HOME.'/id'.$user['user_id'].'"><b>' . $user['nick'] . '</b></a> предлагает Вам <a href="'.HOME.'/friends/user_appl/"><b>подружиться</b></a>';
lenta($lenta, $ank['user_id']);
}
head('Добавление в друзья');
echo DIV_TITLE . 'Добавление в друзья' . CLOSE_DIV;
echo DIV_BLOCK . $msg . CLOSE_DIV;
echo DIV_GO . '<a href="'.HOME.'/">Главная</a> / <a href="'.HOME.'/friends/">Друзья</a> / <b>Добавление в друзья</b>' . CLOSE_DIV;
}
break;
case 'otkl':
$id = abs(intval($_GET['friend']));
$ank = DB::$dbs->queryFetch("SELECT * FROM ".USERS." WHERE `user_id` = ?",array($id));
if (empty($ank)) {
head('Пользователь не найден в базе');
echo DIV_TITLE . 'Пользователь не найден в базе' . CLOSE_DIV;
echo 'Ошибка!<br />';
echo DIV_GO . '<a href="'.HOME.'/">Главная</a> / <b>Пользователь не найден в базе</b>' . CLOSE_DIV;
exit();
}
if ($ank['user_id'] == $user['user_id']) {
head('Вы не можете себя добавить в друзья');
echo DIV_TITLE . 'Вы не можете себя добавить в друзья' . CLOSE_DIV;
echo 'Ошибка!<br />';
echo DIV_GO . '<a href="'.HOME.'/">Главная</a> / <b>Вы не можете себя добавить в друзья</b>' . CLOSE_DIV;
exit();
}
$sql = DB::$dbs->queryFetch("SELECT `id`, `status` FROM ".FRIENDS." WHERE (`id_user` = ? AND `id_friend` = ? AND `status` = ?) LIMIT 1 ",array($ank['user_id'], $user['user_id'], 0));
if ($sql['id'] && $sql['status'] == 0) {
DB::$dbs->query("DELETE FROM ".FRIENDS." WHERE `id` = ? ",array($sql['id']));
} else {
echo 'Ошибка';
exit();
}
if (isset($_GET['anceta'])) {
header("Location: ".HOME."/id".$ank['user_id']);
} else {
header("Location: ".HOME."/friends/");
}
break;
case 'delete':
$id = abs(intval($_GET['friend']));
$ank = DB::$dbs->queryFetch("SELECT * FROM ".USERS." WHERE `user_id` = ?",array($id));
if (empty($ank)) {
head('Пользователь не найден в базе');
echo DIV_TITLE . 'Пользователь не найден в базе' . CLOSE_DIV;
echo 'Ошибка!<br />';
echo DIV_GO . '<a href="'.HOME.'/">Главная</a> / <b>Пользователь не найден в базе</b>' . CLOSE_DIV;
exit();
}
if ($ank['user_id'] == $user['user_id']) {
head('Вы не можете себя добавить в друзья');
echo DIV_TITLE . 'Вы не можете себя удалить из друзей' . CLOSE_DIV;
echo 'Ошибка!<br />';
echo DIV_GO . '<a href="'.HOME.'/">Главная</a> / <b>Вы не можете себя удалить из друзей</b>' . CLOSE_DIV;
exit();
}
$sql = DB::$dbs->queryFetch("SELECT * FROM ".FRIENDS." WHERE (`id_user` = ? AND `id_friend` = ?) OR (`id_friend` = ? AND `id_user` = ?)LIMIT 1",array($ank['user_id'], $user['user_id'], $ank['user_id'], $user['user_id']));
if($sql['id'] && $sql['status'] == 1) {
DB::$dbs->query("DELETE FROM ".FRIENDS." WHERE `id` = ? ",array($sql['id']));
} else {
$sql2 = DB::$dbs->queryFetch("SELECT * FROM ".FRIENDS." WHERE (`id_user` = ? AND `id_friend` = ?) LIMIT 1",array($user['user_id'], $ank['user_id']));
if($sql2['id'] && $sql2['status'] == 0) {
DB::$dbs->query("DELETE FROM ".FRIENDS." WHERE `id` = ? LIMIT 1",array($sql2['id']));
}
}
if (isset($_GET['anceta'])) {
header("Location: ".HOME."/id".$ank['user_id']);
} else {
header("Location: ".HOME."/friends/");
}
break;
}
require_once('../../core/stop.php');
?>