예제 #1
0
 /**
  * 好友分组,多选
  */
 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);
     }
 }
예제 #2
0
 /**
  * 好友分组,多选
  */
 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);
     }
 }