/** * 首页右侧数据查询 */ private function _indexRight() { $list = D('Category')->order('pid')->findAll(); $catelist = array(); foreach ($list as $v) { if ($v['pid'] && $catelist[$v['pid']]) { $catelist[$v['pid']]['child'][] = $v; } else { $catelist[$v['id']] = $v; } } $hotlist = D('Group', 'group')->getHotList(); foreach ($hotlist as &$hv) { $hv['short_name'] = getShort($hv['name'], 10); $hv['logo'] = logo_path_to_url($hv['logo']); } $this->assign('hotlist', $hotlist); $this->assign('catelist', $catelist); }
public function _initialize() { parent::_initialize(); $this->member = D("Member"); // 基本配置 $this->config = model('Xdata')->lget('group'); $this->assign('config', $this->config); $this->topic = D('Topic', 'group'); $this->post = D('post'); $this->gid = intval($_REQUEST['gid']); $this->assign('gid', $this->gid); if ($this->gid) { $groupinfo = D('group')->where('id=' . $this->gid . " AND is_del=0")->find(); if (!$groupinfo) { $jumpUrl = U('w3g/Group/index'); $this->error('该微吧不存在,或者被删除', 3, $jumpUrl); } // 关闭群分享时,自动跳转到群帖子页面;如果群帖子也没开启,自动跳转到群成员页面 if ($groupinfo['openWeibo'] == 0 && $groupinfo['openBlog'] == 1 && ACTION_NAME == 'detail') { redirect(U('w3g/Group/topic', array('gid' => $this->gid))); // 如果群帖子也没开启,自动跳转到群成员页面 } elseif ($groupinfo['openWeibo'] == 0 && $groupinfo['openBlog'] == 0) { $jumpUrl = U('w3g/Group/index'); $this->error('该微吧已关闭', 3, $jumpUrl); } $groupinfo['cname0'] = D('Category', 'group')->getField('title', array('id' => $groupinfo['cid0'])); $groupinfo['cname1'] = D('Category', 'group')->getField('title', array('id' => $groupinfo['cid1'])); $groupinfo['type_name'] = $groupinfo['brower_level'] == -1 ? '公开' : '私密'; $groupinfo['tags'] = D('GroupTag', 'group')->getGroupTagList($this->gid); $groupinfo['openUploadFile'] = model('Xdata')->get('group:uploadFile') ? $groupinfo['openUploadFile'] : 0; $groupinfo['path'] = D('Category', 'group')->getPathWithCateId($groupinfo['cid1']); if (!$groupinfo['path']) { $groupinfo['path'] = D('Category', 'group')->getPathWithCateId($groupinfo['cid0']); } $groupinfo['path'] = implode(' - ', $groupinfo['path']); $groupinfo['logourl'] = logo_path_to_url($groupinfo['logo'], 750, 370); // dump ( $groupinfo ); $this->groupinfo = $groupinfo; $this->assign('groupinfo', $groupinfo); if ($this->mid) { // 判读当前用户的成员状态 $member_info = M('group_member')->where("uid={$this->mid} AND gid={$this->gid}")->find(); if ($member_info) { if ($member_info['level'] > 0) { $this->ismember = 1; $this->assign('ismember', $this->ismember); if ($member_info['level'] == 1 || $member_info['level'] == 2) { $this->isadmin = 1; $this->assign('isadmin', $this->isadmin); } // 记录访问时间 M('group_member')->where('gid=' . $this->gid . " AND uid={$this->mid}")->setField('mtime', time()); } else { $need_join_audit; $this->assign('need_join_audit', 1); } } } // 浏览权限 if (!$this->ismember) { // 邀请加入 if (M('group_invite_verify')->where("gid={$this->gid} AND uid={$this->mid} AND is_used=0")->find()) { $this->is_invited = 1; $this->assign('is_invited', $this->is_invited); } if ($groupinfo['brower_level'] == 1) { if (ACTION_NAME == 'PostFeed') { $return = array('status' => 0, 'data' => '抱歉,您不是该圈成员'); exit(json_encode($return)); } if (MODULE_NAME != 'Group' || ACTION_NAME != 'index' && ACTION_NAME != 'joinGroup') { if (ACTION_NAME != 'loadmore') { $this->redirect('w3g/Group/index', array('gid' => $this->gid)); } else { exit; } } } } } $this->assign('groupinfo', $this->groupinfo); $this->assign('ismember', $this->ismember); }
protected function _initialize() { $this->assign('all_my_app', D('Group')->getAllMyGroup($this->mid, 0)); // 圈子id if (isset($_GET['gid']) && intval($_GET['gid']) > 0) { $this->gid = intval($_GET['gid']); } else { if (isset($_POST['gid']) && intval($_POST['gid']) > 0) { $this->gid = intval($_POST['gid']); } else { $this->error('gid 错误'); } } $groupinfo = D('Group')->where('id=' . $this->gid . " AND is_del=0")->find(); if (!$groupinfo) { $this->assign('jumpUrl', U('group/Index/index')); $this->error('该圈子不存在,或者被删除'); } /* + ------ 后台全局限制 START */ $groupinfo['openWeibo'] = model('Xdata')->get('group:weibo') ? $groupinfo['openWeibo'] : 0; $groupinfo['openBlog'] = model('Xdata')->get('group:discussion') ? $groupinfo['openBlog'] : 0; $groupinfo['openUploadFile'] = model('Xdata')->get('group:uploadFile') ? $groupinfo['openUploadFile'] : 0; /* + ------ 后台全局限制 END */ if (0 == $groupinfo['status'] && !in_array(ACTION_NAME, array('delGroupDialog', 'delGroup'))) { // $this->assign('jumpUrl', U('group/Index/Index')); $this->error("该{$GLOBALS['ts']['app']['app_alias']}正在审核中"); } // 判读当前用户的成员状态 $member_info = D('Member')->where("uid={$this->mid} AND gid={$this->gid}")->find(); if ($member_info) { if ($member_info['level'] > 0) { $this->ismember = 1; $this->assign('ismember', $this->ismember); if ($member_info['level'] == 1 || $member_info['level'] == 2) { $this->isadmin = 1; $this->assign('isadmin', $this->isadmin); } // 记录访问时间 D('Member')->where('gid=' . $this->gid . " AND uid={$this->mid}")->setField('mtime', time()); } } $groupinfo['cname0'] = D('Category')->getField('title', array('id' => $groupinfo['cid0'])); $groupinfo['cname1'] = D('Category')->getField('title', array('id' => $groupinfo['cid1'])); $groupinfo['type_name'] = $groupinfo['brower_level'] == -1 ? '公开' : '私密'; $groupinfo['tags'] = D('GroupTag')->getGroupTagList($this->gid); $groupinfo['openUploadFile'] = model('Xdata')->get('group:uploadFile') ? $groupinfo['openUploadFile'] : 0; $groupinfo['path'] = D('Category')->getPathWithCateId($groupinfo['cid1']); if (!$groupinfo['path']) { $groupinfo['path'] = D('Category')->getPathWithCateId($groupinfo['cid0']); } $groupinfo['path'] = implode(' - ', $groupinfo['path']); $groupinfo['logourl'] = logo_path_to_url($groupinfo['logo']); //新增 获取圈子发言总数(群聊) $groupinfo['group_weibo_count'] = D('Group', 'group')->getGroupWeibo($this->gid); $this->groupinfo = $groupinfo; $this->assign('groupinfo', $groupinfo); $this->assign('gid', $this->gid); $this->setTitle($this->groupinfo['name'] . '群'); // 浏览权限 if (!$this->ismember) { // 邀请加入 if (M('group_invite_verify')->where("gid={$this->gid} AND uid={$this->mid} AND is_used=0")->find()) { $this->is_invited = 1; $this->assign('is_invited', $this->is_invited); } if ($groupinfo['brower_level'] == 1) { if (ACTION_NAME == 'PostFeed') { $return = array('status' => 0, 'data' => '抱歉,您不是该群成员'); exit(json_encode($return)); } if (MODULE_NAME != 'Group' || ACTION_NAME != 'index' && ACTION_NAME != 'joinGroup') { if (ACTION_NAME != 'loadmore') { $this->redirect('group/Group/index', array('gid' => $this->gid)); } else { exit; } } else { if ('index' == ACTION_NAME) { $this->display(); exit; } } } } // 右侧部分信息,根据模块需求调用 if (!in_array(MODULE_NAME, array('Manage', 'Log'))) { // 群内热议话题 // $this->assign('hot_weibo_topic_list', D('WeiboTopic')->getHot($this->gid)); // 最新加入 $this->assign('new_member_list', D('Member')->getNewMemberList($this->gid)); } // 基本配置 $this->config = model('Xdata')->lget('group'); $this->assign('config', $this->config); }