예제 #1
0
 /**
  * 获取联系人列表
  */
 public function index($id = NULL)
 {
     if ($this->get_method() != 'GET') {
         $this->send_response(405, NULL, '请求的方法不存在');
     }
     if (!is_numeric($id) or empty($id)) {
         $this->send_response(400, NULL, '400401:群ID为空');
     }
     $groupModel = new Group_Model();
     $groupInfo = $groupModel->getGroupInfo($id);
     if (!$groupInfo) {
         $this->send_response(400, NULL, '400402:群不存在');
     }
     $result = array();
     $grade = $groupModel->getMemberGrade($id, $this->user_id);
     if ($grade < Kohana::config('group.grade.normal')) {
         $this->send_response(400, NULL, '400411:非群成员,无权限查看联系人列表');
     }
     if ($groupInfo['type'] == Kohana::config('group.type.public')) {
         //公开群无联系人
         $this->send_response(200, $result);
     }
     $groupManager = $groupModel->getGroupManager($id);
     $managerIdList = array();
     foreach ($groupManager as $val) {
         $managerIdList[] = intval($val['uid']);
     }
     $info = $this->input->get('info', 0);
     $info = $info == 1 ? $info : 0;
     $list = $this->model->get($id);
     if (!empty($list)) {
         $friendModel = new Friend_Model();
         foreach ($list as $id => $value) {
             $grade = 0;
             $value['id'] = floatval($value['id']);
             $value['is_friend'] = 0;
             if ($value['momo_user_id'] > 0) {
                 $isFriend = $friendModel->check_isfriend($this->user_id, $value['momo_user_id']);
                 if ($isFriend) {
                     $value['is_friend'] = 1;
                 }
                 if ($value['momo_user_id'] == $groupInfo['creator_id']) {
                     $grade = 3;
                 } else {
                     if (in_array($value['momo_user_id'], $managerIdList)) {
                         $grade = 2;
                     } else {
                         $grade = 1;
                     }
                 }
             }
             $value['grade'] = $grade;
             $result[] = $info == 0 ? array('id' => floatval($id), 'modified_at' => $value['modified_at']) : $value;
         }
     }
     $this->send_response(200, $result);
 }
예제 #2
0
파일: group.php 프로젝트: momoim/momo-api
 /**
  * 
  * 获取群组管理员
  */
 private function _get_group_manager($gid)
 {
     $gm_user = array();
     $gm = $this->model->getGroupManager($gid);
     if ($gm) {
         foreach ($gm as $v) {
             $gm_user[] = array('id' => $v['uid'], 'name' => sns::getrealname($v['uid']), 'avatar' => sns::getavatar($v['uid']));
         }
     }
     return $gm_user;
 }