Example #1
0
 /**
  * This is the default 'index' action that is invoked
  * when an action is not explicitly requested by users.
  */
 public function actionIndex()
 {
     $this->setPageTitle('我的好友');
     $gid = Yii::app()->request->getParam('gid');
     $uid = Yii::app()->request->getParam('uid');
     if (!empty($uid)) {
         $is_me = $this->mid == $uid;
     } else {
         $uid = $this->mid;
         $is_me = true;
     }
     $model = new Friend();
     //初始化
     $criteria = new CDbCriteria();
     $criteria->order = 't.uid';
     $criteria->condition = "t.uid=:uid AND t.status = 1";
     $criteria->params = array(':uid' => $uid);
     if (!empty($gid)) {
         $criteria->join = "left join {{friend_belong_group}} on {{friend_belong_group}}.uid = t.uid and {{friend_belong_group}}.fuid = t.fuid ";
         $criteria->addCondition("{{friend_belong_group}}.gid=" . $gid);
     } else {
         $_GET['gid'] = 0;
     }
     //取得数据总数,分页显示
     $total = $model->count($criteria);
     $pages = new CPagination($total);
     $pages->pageSize = self::PAGE_SIZE;
     $pages->applyLimit($criteria);
     //获取数据集
     $friend_list = $model->inGroup($_GET['gid'])->with('frienBelongdGroup')->together()->findAll($criteria);
     $friendGroup = $model->getFriendGroups($uid);
     //在线人数
     $online = 0;
     $data = array('is_me' => $is_me, 'uid' => $uid, 'gid' => $gid, 'pages' => $pages, 'total' => $total, 'online' => $online, 'friendGroup' => $friendGroup, 'friend_list' => $friend_list);
     $this->render('index', $data);
 }