/** * 获得用户的某个好友的分组情况 * @param int $uid * @param int $fuid * @return Ambigous <mixed, multitype:, NULL, unknown> */ public function getGroupsForFriend($uid, $fuid) { $model = new FriendBelongGroup(); $criteria = new CDbCriteria(); $criteria->condition = 't.uid=:uid AND t.fuid=:fuid'; $criteria->params = array(':uid' => $uid, ':fuid' => $fuid); $groups = $model->findAll($criteria); return $groups; }
/** * 好友分组,多选 */ public function actionGroup() { $criteria = new CDbCriteria(); $criteria->condition = 'uid=:uid OR uid = 0'; $criteria->params = array(':uid' => Yii::app()->user->id); $friendGroup = FriendGroup::model()->findAll($criteria); if (empty($friendGroup)) { //没有分组,先添加分组 //$this->redirect(array('group/create')); } $fuid = Yii::app()->request->getParam('id'); //检查是否好友 //尚未 //好友所属的分组 $model = new FriendBelongGroup(); $criteria = new CDbCriteria(); $criteria->condition = 'uid=:uid AND fuid=:fuid'; $criteria->params = array(':uid' => Yii::app()->user->id, ':fuid' => $fuid); $list = $model->findAll($criteria); $frienBelongdGroup = array(); if (!empty($list)) { foreach ($list as $key => $value) { $frienBelongdGroup[$value['gid']] = $value['gid']; } } if (isset($_POST['FriendBelongGroup'])) { foreach ($_POST['FriendBelongGroup'] as $gid) { //已经存在则剔除 if (in_array($gid, $frienBelongdGroup)) { unset($frienBelongdGroup[$gid]); } else { $attributes = array('uid' => Yii::app()->user->id, 'fuid' => $fuid, 'gid' => $gid); $model = new FriendBelongGroup(); $model->attributes = $attributes; $model->save(); } } if (!empty($frienBelongdGroup)) { foreach ($frienBelongdGroup as $gid) { $attributes = array('uid' => Yii::app()->user->id, 'fuid' => $fuid, 'gid' => $gid); $model = new FriendBelongGroup(); $del = $model->deleteAllByAttributes($attributes); } } $this->redirect(array('list')); } $data = array('friendGroup' => $friendGroup, 'model' => $model, 'frienBelongdGroup' => $frienBelongdGroup); if (Yii::app()->request->isAjaxRequest) { $this->renderPartial('group', $data); } else { $this->render('group', $data); } }
/** * 好友分组,多选 */ public function actionGroup() { //检查是否好友 $uid = Yii::app()->user->id; $fuid = Yii::app()->request->getParam('fuid'); $model = new Friend(); $relation = $model->getFriendRelation($uid, $fuid); if (empty($relation)) { //throw new CHttpException(404,'不是好友.'); echo '不是好友'; exit; } $criteria = new CDbCriteria(); $criteria->condition = '(uid=:uid OR uid = 0) AND id != 1'; $criteria->params = array(':uid' => Yii::app()->user->id); $friendGroup = FriendGroup::model()->findAll($criteria); if (empty($friendGroup)) { //没有分组,先添加分组 //$this->redirect(array('group/create')); } //好友所属的分组 $model = new FriendBelongGroup(); $criteria = new CDbCriteria(); $criteria->condition = 'uid=:uid AND fuid=:fuid'; $criteria->params = array(':uid' => Yii::app()->user->id, ':fuid' => $fuid); $list = $model->findAll($criteria); $frienBelongdGroup = array(); if (!empty($list)) { foreach ($list as $key => $value) { $frienBelongdGroup[$value['gid']] = $value['gid']; } } if (!empty($_POST)) { if (!empty($_POST['FriendBelongGroup'])) { foreach ($_POST['FriendBelongGroup'] as $gid => $boolean) { //已经存在则剔除 if (in_array($gid, $frienBelongdGroup)) { unset($frienBelongdGroup[$gid]); } else { $attributes = array('uid' => Yii::app()->user->id, 'fuid' => $fuid, 'gid' => $gid); $model = new FriendBelongGroup(); $model->attributes = $attributes; $model->save(); } } } if (!empty($frienBelongdGroup)) { foreach ($frienBelongdGroup as $gid) { $attributes = array('uid' => Yii::app()->user->id, 'fuid' => $fuid, 'gid' => $gid); $model = new FriendBelongGroup(); $del = $model->deleteAllByAttributes($attributes); } } $this->redirect(array('index')); } $data = array('friendGroup' => $friendGroup, 'model' => $model, 'frienBelongdGroup' => $frienBelongdGroup); if (Yii::app()->request->isAjaxRequest) { $this->renderPartial('group', $data); } else { $this->render('group', $data); } }