Файл: moduls/friends.php
Строк: 143
<?php
include_once'../system/xcms_core.php';$title='Друзья';
if($_COOKIE['style']=='web')require_once '../system/web_head.php'; else require_once '../system/head.php';
if($user){
switch($act){
case 'add':
$q=$db->query("select `id` from `user` where `id`='$id'")->fetch(PDO::FETCH_ASSOC);
if($q['id'] and $id!==$user['id']){
$w=$db->query("select * from `friend` where `user1`='$user[id]' and `user2`='$id'")->fetch(PDO::FETCH_ASSOC);
$e=$db->query("select * from `friend` where `user2`='$user[id]' and `user1`='$id'")->fetch(PDO::FETCH_ASSOC);
if(!$w and !$e){
$db->query("insert into `friend` set `user1`='$user[id]', `user2`='$id', `status`='1', `time`='$time'");
$db->query("insert into `friend` set `user2`='$user[id]', `user1`='$id', `status`='2', `time`='$time'");
$db->query("insert into `notice` set `user`='$user[id]', `to`='$id', `text`='Пользователь <a href="/profile$user[id]">$user[login]</a> предложил вам <a href="/friends/in">дружбу</a>', `time`='$time', `status`='1'");
echo '<div class="menu">Отправили заявку → <a href="/profile'.$id.'">Далее</a></div>';
}else{echo'<div class="menu">Ошибка</div>';}
}
echo back('/friends');
break;
case 'in':
$nw1=$db->query("SELECT COUNT(*) as count FROM `friend` where `user2`='$user[id]' and `status`='1'");$nw1->setFetchMode(PDO::FETCH_ASSOC);$nw=$nw1->fetch();
if($nw['count']){
$k_page=k_page($nw['count'],$set[p_str]);$page=page($k_page);$start=$set[p_str]*$page-$set[p_str];
$sql=$db->query("select * from `friend` where `user2`='$user[id]' and `status`='1' order by `id` desc limit $start, $set[p_str]");
while($res=$sql->fetch(PDO::FETCH_ASSOC)){
$q=$db->query("select `visit`,`avatar`,`login` from `user` where `id`='$res[user1]'")->fetch(PDO::FETCH_ASSOC);
echo'<div class="menu">'.avatar($q['avatar']).' <a href="/profile'.$res['user1'].'">'.$q['login'].on($q['visit']).'</a> <a href="/friends/pod/'.$res['id'].'">[Добавить]</a> <a href="/friends/del/'.$res['user1'].'">[Отклонить]</a><br />'.clock($res['time']).'</div>';
}
if ($k_page>1)str('/friends/in/',$k_page,$page);
}else{echo'<div class="menu">Заявок нет</div>';}
echo back('/friends');
break;
case 'out':
$nw1=$db->query("SELECT COUNT(*) as count FROM `friend` where `user1`='$user[id]' and `status`='1'");$nw1->setFetchMode(PDO::FETCH_ASSOC);$nw=$nw1->fetch();
if($nw['count']){
$k_page=k_page($nw['count'],$set['p_str']);$page=page($k_page);$start=$set['p_str']*$page-$set['p_str'];
$sql=$db->query("select * from `friend` where `user1`='$user[id]' and `status`='1' order by `id` desc limit $start, $set[p_str]");
while($res=$sql->fetch(PDO::FETCH_ASSOC)){
$q=$db->query("select `visit`,`avatar`,`login` from `user` where `id`='$res[user2]'")->fetch(PDO::FETCH_ASSOC);
echo'<div class="menu">'.avatar($q['avatar']).' <a href="/profile'.$res['user2'].'">'.$q['login'].on($q['visit']).'</a>
<a href="/friends/del/'.$res['user2'].'">[Отменить заявку]</a><br />'.clock($res['time']).'</div>';
}
if ($k_page>1)str('/friends/out/',$k_page,$page);
}else{echo'<div class="menu">Заявок нет</div>';}
echo back('/friends');
break;
case 'pod':
$q=$db->query("select * from `friend` where `id`='$id'")->fetch(PDO::FETCH_ASSOC);
if($q and $q['status']>0){
if($q['user2']==$user['id']){
$db->query("insert into `notice` set `to`='$q[user1]', `user`='$user[id]', `text`='Пользователь <a href="/profile$user[id]">$user[login]</a> подтвердил вашу заявку в друзья', `time`='$time', `status`='1'");
$w=$db->query("select * from `friend` where `user1`='$q[user1]' and `user2`='$q[user2]'")->fetch(PDO::FETCH_ASSOC);
$e=$db->query("select * from `friend` where `user2`='$q[user1]' and `user1`='$q[user2]'")->fetch(PDO::FETCH_ASSOC);
if($w and $e){
$db->prepare("update `friend` set `status`='0' where `id`='$w[id]'")->execute();
$db->prepare("update `friend` set `status`='0' where `id`='$e[id]'")->execute();
echo'<div class="menu">Подтвердили → <a href="/friends">Далее</a></div>';
}else{echo'<div class="menu">Ошибка</div>';}
}else{echo'<div class="menu">Ошибка</div>';}
}else{echo'<div class="menu">Ошибка</div>';}
echo back('/friends');
break;
case 'my':
$nw1=$db->query("SELECT COUNT(*) as count FROM `friend` where `user1`='$user[id]' and `status`='0'");$nw1->setFetchMode(PDO::FETCH_ASSOC);$nw=$nw1->fetch();
if($nw['count']){
$k_page=k_page($nw['count'],$elem);$page=page($k_page);$start=$elem*$page-$elem;
$sql=$db->query("select * from `friend` where `user1`='$user[id]' and `status`='0'");
while($res=$sql->fetch(PDO::FETCH_ASSOC)){
$q=$db->query("select `visit`,`avatar`,`login`,`visit` from `user` where `id`='$res[user2]'")->fetch(PDO::FETCH_ASSOC);
echo'<div class="menu">'.avatar($q['avatar']).' <a href="/profile'.$res['user2'].'">'.$q['login'].on($q['visit']).'</a> '.right('<a href="/friends/del/'.$res['user2'].'" style="float:right;">[Удалить]</a>').'<br />
<a href="/dialog/'.$res['user2'].'">Написать сообщение</a></div>';
}
if ($k_page>1)str('/friends/list/',$k_page,$page);
}else{echo'<div class="menu">У вас нет друзей</div>';}
echo back('/friends');
break;
case 'del':
$q=$db->query("select * from `user` where `id`='$id'")->fetch(PDO::FETCH_ASSOC);
if($q){
$w=$db->query("select * from `friend` where `user1`='$user[id]' and `user2`='$id'")->fetch(PDO::FETCH_ASSOC);
$e=$db->query("select * from `friend` where `user2`='$user[id]' and `user1`='$id'")->fetch(PDO::FETCH_ASSOC);
if($w and $e){
if($w['status']!==2){
$db->exec("delete from `friend` where `id`='$w[id]'");
$db->exec("delete from `friend` where `id`='$e[id]'");
echo'<div class="menu">Удалили → <a href="/friends">Далее</a></div>';
}else{echo'<div class="menu">Ошибка 1</div>';}
}else{echo'<div class="menu">Ошибка 2</div>';}
}else{echo'<div class="menu">Ошибка 3</div>';}
echo back('/friends');
break;
default:
echo'<div class="touch">
<div class="menu"><a href="/friends/in">Входящие заявки '.right($db->query("select `id` FROM `friend` where `user2`='$user[id]' and `status`='1'")->rowCount()).'</a></div>
<div class="menu"><a href="/friends/out">Исходящие заявки '.right($db->query("select `id` FROM `friend` where `user1`='$user[id]' and `status`='1'")->rowCount()).'</a></div>
<div class="menu"><a href="/friends/list">Мои друзья '.right($db->query("select `id` FROM `friend` where `user1`='$user[id]' and `status`='0'")->rowCount()).'</a></div>
</div>';
echo back('/');
}
}else{echo'<div class="menu">Авторизуйтесь, чтобы просматривать эту страницу</div>';}
if($_COOKIE['style']=='web')require_once '../system/web_foot.php'; else require_once '../system/foot.php';
?>