13 public function filters()
20 public function accessRules()
24 'users' => array(
'@'),
27 'users' => array(
'?'),
42 throw new CHttpException(400);
45 $friendship =
Friendship::model()->findByPk(array(
'user1_id' => Yii::app()->user->id,
'user2_id' => $_GET[
'user_id']));
48 if ($friendship->status == Friendship::STATUS_NOT_APPROVED) {
50 } elseif ($friendship->status == Friendship::STATUS_APPROVED) {
52 } elseif ($friendship->status == Friendship::STATUS_CANCELED) {
55 Yii::app()->user->setFlash(
'friends-error', $message);
56 $this->redirect($return_url);
60 $friendship->user1_id = Yii::app()->user->id;
61 $friendship->user2_id = $_GET[
'user_id'];
62 $friendship->status = Friendship::STATUS_NOT_APPROVED;
65 Yii::app()->user->setFlash(
'friends-success',
FriendsModule::t(
"Your friend request was sent"));
69 $this->renderMail(
'/mail_templates/add', $title, array(
'friendship' => $friendship)),
70 array(
new EmailRecipient($friendship->friend(Yii::app()->user->id)->email, $this->module->notificationsEmail))
72 Yii::app()->notificationManager->notifyAbout($notification);
74 $this->redirect($return_url);
88 throw new CHttpException(400);
91 $friendship =
Friendship::model()->findByPk(array(
'user1_id' => $_GET[
'user_id'],
'user2_id' => Yii::app()->user->id));
93 Yii::app()->user->setFlash(
'friends-error',
FriendsModule::t(
"Bad request"));
94 $this->redirect(Yii::app()->getModule(
'user')->friendListUrl);
96 if ($friendship->status != Friendship::STATUS_APPROVED) {
97 $friendship->status = Friendship::STATUS_APPROVED;
99 Yii::app()->user->setFlash(
'friends-success',
FriendsModule::t(
"Friend request was approved"));
104 $this->renderMail(
'/mail_templates/approve', $title, array(
'friendship' => $friendship)),
105 array(
new EmailRecipient($friendship->friend(Yii::app()->user->id)->email, $this->module->notificationsEmail))
107 Yii::app()->notificationManager->notifyAbout($notification);
109 Yii::app()->user->setFlash(
'friends-error',
FriendsModule::t(
"Friend request already approved"));
113 $this->redirect($return_url);
115 $this->redirect(Yii::app()->getModule(
'user')->friendListUrl);
129 throw new CHttpException(400);
132 $friendship =
Friendship::model()->findByPk(array(
'user1_id' => $_GET[
'user_id'],
'user2_id' => Yii::app()->user->id));
133 if(!isset($friendship)){
134 $friendship =
Friendship::model()->findByPk(array(
'user2_id' => $_GET[
'user_id'],
'user1_id' => Yii::app()->user->id));
137 $friendship->delete();
138 Yii::app()->user->setFlash(
'friends-success',
FriendsModule::t(
"Friend request was canceled"));
143 $this->renderMail(
'/mail_templates/cancel', $title, array(
'friendship' => $friendship)),
144 array(
new EmailRecipient($friendship->friend(Yii::app()->user->id)->email, $this->module->notificationsEmail))
146 Yii::app()->notificationManager->notifyAbout($notification);
149 $this->redirect($return_url);
151 $this->redirect(Yii::app()->getModule(
'user')->friendListUrl);