public function getFriends() { $friends = UsersFriends::model()->approved()->getUserFriends($this->id); $out = []; foreach ($friends as $item) { if ($item->first_user == $this->id) { $out[] = ["id" => $item->second_user]; } else { $out[] = ["id" => $item->first_user]; } } return $out; }
public function actionDecline() { if (!isset($_GET['id'])) { throw new CHttpException(500, "err"); } $friend = Users::model()->findByPk($_GET['id']); if (!$friend) { throw new CHttpException(404, "Друг не найден"); } $friendsip = UsersFriends::model()->getFriendship(Yii::app()->user->id, $friend->id); if (!$friendsip) { throw new CHttpException(404, "Дружба не найдена"); } if ($friendsip->second_user != Yii::app()->user->id) { throw new CHttpException(403, "Не ломай!"); } $friendsip->approved = UsersFriends::DECLINED; $friendsip->since = time(); $friendsip->save(); Yii::app()->user->setFlash("success", "Вы больше не друзья"); $this->redirect($friend->getProfileLink()); }
<div class="col-md-12"> <h2>Друзья</h2> <hr/> <ul class="nav nav-tabs"> <li class="active"><a>Все друзья</a></li> <li class="pull-right"><a href="<?php echo $this->createUrl("denied"); ?> ">Отклоненные</a></li> <li class="pull-right"><a href="<?php echo $this->createUrl("pending"); ?> ">В ожидании</a></li> </ul> <?php $f = UsersFriends::model()->with("u1", "u2")->approved()->getUserFriends(Yii::app()->user->id); $online = []; $offline = []; foreach ($f as $item) { if ($item->first_user == Yii::app()->user->id) { if (Yii::app()->redis->get("online_" . mb_strtolower($item->u2->username))) { $online[] = $item->u2->id; } else { $offline[] = $item->u2->id; } } else { if (Yii::app()->redis->get("online_" . mb_strtolower($item->u1->username))) { $online[] = $item->u1->id; } else { $offline[] = $item->u1->id; }
<hr/> <ul class="nav nav-tabs"> <li><a href="<?php echo $this->createUrl("friends"); ?> ">Все друзья</a></li> <li class="pull-right"><a href="<?php echo $this->createUrl("declined"); ?> ">Отклоненные</a></li> <li class="active pull-right"><a>В ожидании</a></li> </ul> <div class="row"> <div class="col-md-12" style="padding: 20px"> <?php $f = UsersFriends::model()->pending()->getUserFriends(Yii::app()->user->id); if (count($f) > 0) { ?> <table class="table table-bordered table-striped"> <thead> <tr> <th width="40%">Кто</th> <th width="30%">Действие</th> <th width="30%">Отправелено в</th> </tr> </thead> <?php foreach ($f as $item) { ?> <tr> <td><?php
?> <h2><?php echo $model->username; ?> </h2> <?php echo $model->getOnline(); ?> <?php if (!Yii::app()->user->isGuest && Yii::app()->user->getId() != $model->id) { /** * @var $fr UsersFriends */ $fr = UsersFriends::model()->getFriendship(Yii::app()->user->getId(), $model->id); if ($fr) { if ($fr->approved == UsersFriends::APPROVED) { ?> <div class="btn-group actions"> <button type="button" class="btn btn-primary dropdown-toggle" data-toggle="dropdown"> Вы уже друзья <span class="caret"></span> </button> <ul class="dropdown-menu" role="menu"> <li> <a href="<?php echo $this->createUrl("/personal/friends/DeleteFriend", ["id" => $model->id]); ?> " class="text-bold">Удалить из друзей</a></li> </ul>
<hr/> <ul class="nav nav-tabs"> <li><a href="<?php echo $this->createUrl("friends"); ?> ">Все друзья</a></li> <li class="active pull-right"><a>Отклоненные</a></li> <li class="pull-right"><a href="<?php echo $this->createUrl("pending"); ?> ">В ожидании</a></li> </ul> <div class="row"> <div class="col-md-12" style="padding: 20px"> <?php $f = UsersFriends::model()->declined()->getUserFriends(Yii::app()->user->id); if (count($f) > 0) { ?> <table class="table table-bordered table-striped"> <thead> <tr> <th width="40%">Друг</th> <th width="30%">Действие</th> <th width="30%">Отказано в</th> </tr> </thead> <?php foreach ($f as $item) { ?> <tr> <td><?php