public function add($user_follow, $user_followed, $type) { $check = Relationship::model()->findAllByAttributes(array('user_id_1' => $user_follow, 'user_id_2' => $user_followed)); $check_2 = Relationship::model()->findAllByAttributes(array('user_id_2' => $user_follow, 'user_id_1' => $user_followed)); $check_3 = Follow::model()->findByAttributes(array('user_follow' => $user_follow, 'user_followed' => $user_followed)); if ($check || $check_2 || $check_3 || $user_followed == Yii::app()->session['user_id']) { return FALSE; } $model = new Follow(); $model->user_follow = $user_follow; $model->user_followed = $user_followed; $model->created_at = time(); $model->update_at = time(); $model->type = $type; $user_follow_data = User::model()->findByPk($user_follow); $user_followed_data = User::model()->findByPk($user_followed); if ($user_follow != Yii::app()->session['user_id']) { $arr_noti = array('user_id' => $user_follow, 'content' => "{$user_follow_data->username} vừa theo dõi bạn", 'type' => 'follow', 'recipient_id' => $user_followed_data->id, 'url' => Yii::app()->createAbsoulteUrl('user/profile', array('user_id' => $user_follow_data->id, 'ref' => 'noti'))); Notifications::model()->add($arr_noti); } if ($model->save(FALSE)) { return TRUE; } return FALSE; }
public function actionProfile() { try { $is_followed = FALSE; $request = Yii::app()->request; if ($request->getQuery('ref_api') == Yii::app()->params['REF_API']) { $user_id = $request->getQuery('user_id'); } else { if ($request->getQuery('ref_web') == 'ref_web') { $user_id = $request->getQuery('user_id'); } else { $user_id = Yii::app()->session['user_id']; } } $data = User::model()->getProfile($user_id); $posts = Posts::model()->getPostByUserForWeb($user_id); if ($user_id != Yii::app()->session['user_id']) { $check_block = Relationship::model()->findByAttributes(array('user_id_2' => Yii::app()->session['user_id'], 'user_id_1' => $user_id, 'user_type' => 'USER')); $is_followed = User::model()->isFollowedByUser(Yii::app()->session['user_id'], $user_id, 'USER'); if ($check_block) { return; } } $arr = array('profile' => $data, 'posts' => $posts['data'], 'pages' => $posts['pages'], 'is_followed' => $is_followed); if ($request->getQuery('ref_api') == Yii::app()->params['REF_API']) { ResponseHelper::JsonReturnSuccess($arr, 'Success'); } else { $this->render('profile', $arr); } } catch (Exception $ex) { var_dump($ex->getMessage()); } }
public function blockUser($user_block, $user_blocked) { $model = Relationship::model()->findByAttributes(array('user_id_1' => $user_block, 'user_id_2' => $user_blocked)); if ($model) { return 1; } else { $rel = new Relationship(); $rel->user_id_1 = $user_block; $rel->user_id_2 = $user_blocked; $rel->status = 1; $rel->created_at = time(); $rel->updated_at = time(); $rel->type = Yii::app()->params['USER_BLOCK']; if ($rel->save(FALSE)) { return 2; } else { return 0; } } }
<?php echo $form->error($model, 'related_doi'); ?> </div> </div> <div class="control-group"> <?php echo $form->labelEx($model, 'relationship', array('class' => 'control-label')); ?> <div class="controls"> <?php //echo $form->textField($model,'relationship',array('size'=>30,'maxlength'=>30)); ?> <?php echo CHtml::activeDropDownList($model, 'relationship_id', CHtml::listData(Relationship::model()->findAll(), 'id', 'name')); ?> <?php echo $form->error($model, 'relationship_id'); ?> </div> </div> <div class="pull-right"> <a href="/adminRelation/admin" class="btn">Cancel</a> <?php echo CHtml::submitButton($model->isNewRecord ? 'Create' : 'Save', array('class' => 'btn')); ?> </div> <?php
public function getBlockedUserByUser($user_id) { $blocked_user_criteria = new CDbCriteria(); $blocked_user_criteria->select = 'user_id_2'; $blocked_user_criteria->condition = 'user_id_1=:user_id'; $blocked_user_criteria->params = array(':user_id' => $user_id); $blocked_user = Relationship::model()->findAll($blocked_user_criteria); //return implode(',', $blocked_user); $returnArr = array(); foreach ($blocked_user as $item) { $returnArr[] = $item->user_id_2; } return $returnArr; }