/** * 获取联系人列表 */ 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); }
/** * * 获取群组管理员 */ 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; }