circleInfo();
// 圈主和管理信息
$this->manageList();
// 会员信息
$this->memberInfo();
// sidebar相关
$this->sidebar();
$model = Model();
// 话题列表
$where = array();
$where['circle_id'] = $this->c_id;
$thc_id = intval($_GET['thc_id']);
if($thc_id > 0){
$where['thclass_id']= $thc_id;
Tpl::output('thc_id', $thc_id);
}
if(intval($_GET['cream']) == 1){
$where['is_digest'] = 1;
}
$theme_list = $model->table('circle_theme')->where($where)->order('is_stick desc,lastspeak_time desc')->page(20)->select();
$theme_list = array_under_reset($theme_list, 'theme_id');
Tpl::output('show_page', $model->showpage('2'));
Tpl::output('theme_list', $theme_list);
// 附件列表
if(!empty($theme_list)){
$themeid_array = array_keys($theme_list);
$affix_list = $model->table('circle_affix')->where(array('affix_type'=>1,'theme_id'=>array('in', $themeid_array)))->select();
$affix_list = array_under_reset($affix_list, 'theme_id', 2);
Tpl::output('affix_list', $affix_list);
}
// 今日话题数
// 当天时间戳
$year = date("Y");$month = date("m");$day = date("d");
$dayBegin = mktime(0,0,0,$month,$day,$year);
$todaythcount = $model->table('circle_theme')->where(array('theme_addtime'=>array('egt',$dayBegin), 'circle_id'=>$this->c_id))->count();
Tpl::output('todaythcount', $todaythcount);
//展示形式,默认以图文展示 list/preview
if($_GET['type'] != ''){
$display_mode = ($_GET['type'] == 'list')?'list':'preview';
setNcCookie('circleDisplayMode', $display_mode, 30*24*60*60);
}else{
$display_mode = cookie('circleDisplayMode') ? cookie('circleDisplayMode') : 'preview';
}
Tpl::output('display_mode',$display_mode);
// 话题分类
$where = array();
$where['circle_id'] = $this->c_id;
$where['thclass_status']= 1;
$thclass_list = $model->table('circle_thclass')->where($where)->order('thclass_sort asc')->select();
$thclass_list = array_under_reset($thclass_list, 'thclass_id');
Tpl::output('thclass_list', $thclass_list);
// Read Permission
$readperm = $this->readPermissions($this->cm_info);
Tpl::output('readperm', $readperm);
Tpl::output('m_readperm', $this->m_readperm);
$this->circleSEO($this->circle_info['circle_name']);
// breadcrumb navigation
$this->breadcrumd();
Tpl::showpage('group');
}
/**
* 申请加入
*/
public function applyOp(){
// 会员信息
$this->memberInfo();
// 圈子信息
$this->circleInfo();
if(in_array($this->identity, array(1,2,3,4))){
showDialog(L('wrong_argument'), 'reload');
}
if(chksubmit()){
/**
* 验证
*/
$obj_validate = new Validator();
$obj_validate->validateparam = array(
array("input"=>$_POST["apply_content"], "require"=>"true", "message"=>L('circle_apply_content_null')),
array("input"=>$_POST["intro"], "require"=>"true", "message"=>L('circle_introduction_not_null')),
);
$error = $obj_validate->validate();
if($error != ''){
showDialog($error);
}else{
// Membership level information
$data = rkcache('circle_level') ? rkcache('circle_level') : rkcache('circle_level', true);
$model = Model();
$insert = array();
$insert['cm_applycontent'] = $_POST['apply_content'];
$insert['cm_intro'] = $_POST['intro'];
$insert['member_id'] = $_SESSION['member_id'];
$insert['circle_id'] = $this->c_id;
$insert['circle_name'] = $this->circle_info['circle_name'];
$insert['member_name'] = $_SESSION['member_name'];
$insert['cm_applytime'] = $insert['cm_jointime'] = time();
$insert['cm_level'] = $data[1]['mld_id'];
$insert['cm_levelname'] = $data[1]['mld_name'];
$insert['cm_exp'] = 1;
$insert['cm_nextexp'] = $data[2]['mld_exp'];
$insert['cm_state'] = intval($this->circle_info['circle_joinaudit']) == 0 ? 1 : 0;
$insert['is_identity'] = 3;
$model->table('circle_member')->insert($insert, true);
if(intval($this->circle_info['circle_joinaudit']) == 0){
// Update the number of members
$update = array(
'circle_id'=>$this->c_id,
'circle_mcount'=>array('exp', 'circle_mcount+1')
);
$model->table('circle')->update($update);
showDialog(L('nc_common_op_succ'), 'reload', 'succ', 'CUR_DIALOG.close();');
}else{
// Update is applying for membership
$update = array(
'circle_id'=>$this->c_id,
'new_verifycount'=>array('exp', 'new_verifycount+1')
);
$model->table('circle')->update($update);
showDialog(L('nc_apply_op_succ'), 'reload', 'succ', 'CUR_DIALOG.close();');
}
}
}
$this->circleSEO(L('circle_apply_join').$this->circle_info['circle_name']);
Tpl::showpage('group_apply', 'null_layout');
}
/**
* 退出圈子
*/
public function quitOp(){
// 圈子信息
$this->circleInfo();
// 会员信息
$this->memberInfo();
if(in_array($this->identity, array(2,3))){
// 删除会员
Model()->table('circle_member')->where(array('circle_id'=>$this->c_id, 'member_id'=>$_SESSION['member_id']))->delete();
$update = array();
$update['circle_id'] = $this->c_id;
$update['circle_mcount']= array('exp','circle_mcount-1');
// Whether to apply for management
$rs = Model()->table('circle_mapply')->where(array('circle_id'=>$this->c_id, 'member_id'=>$_SESSION['member_id']))->find();
if($rs){
Model()->table('circle_mapply')->where(array('circle_id'=>$this->c_id, 'member_id'=>$_SESSION['member_id']))->delete();
$update['new_mapplycount'] = array('exp', 'new_mapplycount-1');
}
// 更新圈子成员数
Model()->table('circle')->update($update);
}
showDialog(L('nc_common_op_succ'), 'reload', 'succ');
}
/**
* 圈子成员列表
*/
public function group_memberOp(){
// 圈子信息
$this->circleInfo();
// 圈主和管理信息
$this->manageList();
// 会员信息
$this->memberInfo();
// sidebar相关
$this->sidebar();
// 圈子成员列表
$model = Model();
$where = array();
$where['circle_id'] = $this->c_id;
$where['cm_state'] = 1;
if($_SESSION['is_login']) $where['member_id'] = array('neq', $_SESSION['member_id']);
$cm_list = $model->table('circle_member')->where($where)->order('is_identity asc,cm_jointime desc')->page(15)->select();
Tpl::output('show_page', $model->showpage(2));
Tpl::output('cm_list', $cm_list);
$this->circleSEO(L('circle_member_list').$this->circle_info['circle_name']);
// breadcrumb navigation
$this->breadcrumd(L('circle_firend'));
Tpl::showpage('group.member');
}
/**
* 圈子成员编辑
*/
public function group_membereditOp(){
$model = Model();
$where = array();
$where['circle_id'] = $this->c_id;
$where['member_id'] = $_SESSION['member_id'];
if(chksubmit()){
/**
* 验证
*/
$obj_validate = new Validator();
$obj_validate->validateparam = array(
array("input"=>$_POST["intro"], "require"=>"true", "message"=>L('circle_introduction_not_null')),
);
$error = $obj_validate->validate();
if($error != ''){
showDialog($error);
}
// 会员信息
$this->memberInfo();
if(!in_array($this->identity, array(1,2,3,6))){
showDialog(L('circle_member_no_join'), 'reload', 'error', 'CUR_DIALOG.close();');
}
$update = array();
$update['cm_intro'] = $_POST['intro'];
$model->table('circle_member')->where($where)->update($update);
showDialog(L('nc_deit_op_succ'), 'reload', 'succ', 'CUR_DIALOG.close();');
}
$member_info = $model->table('circle_member')->where($where)->find();
Tpl::output('member_info', $member_info);
Tpl::showpage('group.member_edit', 'null_layout');
}
/**
* 圈子商品列表
*/
public function group_goodsOp(){
// 圈子信息
$this->circleInfo();
// 圈主和管理信息
$this->manageList();
// 会员信息
$this->memberInfo();
// sidebar相关
$this->sidebar();
// 成员商品列表
$model = Model();
$cmid_list = $model->table('circle_member')->field('member_id')->where(array('circle_id'=>$this->c_id, 'cm_state'=>1))->select();
$cmid_list = array_under_reset($cmid_list, 'member_id'); $cmid_array = array_keys($cmid_list);
$count = $model->table('sns_sharegoods')->where(array('share_memberid'=>array('in', $cmid_array)))->count();
$goods_list = $model->table('sns_sharegoods,sns_goods')->join('left')->on('sns_sharegoods.share_goodsid=sns_goods.snsgoods_goodsid')
->where(array('sns_sharegoods.share_memberid'=>array('in', $cmid_array), 'share_isshare|share_islike'=>1))->order('share_id desc')->page(20, $count)->select();
if(!empty($goods_list)){
if($_SESSION['is_login'] == '1'){
foreach ($goods_list as $k=>$v){
if (!empty($v['snsgoods_likemember'])){
$v['snsgoods_likemember_arr'] = explode(',',$v['snsgoods_likemember']);
$v['snsgoods_havelike'] = in_array($_SESSION['member_id'],$v['snsgoods_likemember_arr'])?1:0;
}
$goods_list[$k] = $v;
}
}
$goods_list = array_under_reset($goods_list, 'share_id'); $shareid_array = array_keys($goods_list);
Tpl::output('show_page', $model->showpage('2'));
Tpl::output('goods_list', $goods_list);
$pic_list = $model->cls()->table('sns_albumpic')->where(array('item_id'=>array('in', $shareid_array)))->select();
$pic_list = array_under_reset($pic_list, 'item_id', 2);
Tpl::output('pic_list', $pic_list);
}
$this->circleSEO(L('circle_member_like_and_show_goods').$this->circle_info['circle_name']);
// breadcrumb navigation
$this->breadcrumd(L('site_search_goods'));
Tpl::showpage('group.goods');
}
/**
* Applied to be an administrator
*/
public function manage_applyOp(){
$model = Model();
// Circle information
$this->circleInfo();
// Verify membership
$cm_info = $model->table('circle_member')->where(array('circle_id'=>$this->c_id, 'cm_state'=>1, 'is_identity'=>3))->find();
if(empty($cm_info) || $this->circle_info['mapply_open'] == 0 || $this->circle_info['mapply_ml'] > $cm_info['cm_level'] || $cm_info['is_identity'] == 1){
if(chksubmit()){
showDialog(L('circle_apply_error'), '', 'error', 'DialogManager.close(\'manage_apply\')');
}else{
echo '';exit;
}
}
// Ban repeated application
$mapply_info = $model->table('circle_mapply')->where(array('circle_id'=>$this->c_id, 'member_id'=>$_SESSION['member_id']))->find();
if(!empty($mapply_info)){
if(chksubmit()){
showDialog(L('circle_repeat_apply_error'), '', 'error', 'DialogManager.close(\'manage_apply\')');
}else{
echo '';exit;
}
}
if(chksubmit()){
$update = array();
$update['circle_id'] = $this->c_id;
$update['member_id'] = $_SESSION['member_id'];
$update['mapply_reason']= $_POST['apply_reason'];
$update['mapply_time'] = time();
$model->table('circle_mapply')->insert($update);
// Update the application for membership
$model->table('circle')->update(array('circle_id'=>$this->c_id, 'new_mapplycount'=>array('exp', 'new_mapplycount+1')));
showDialog(L('nc_common_op_succ'), 'reload', 'succ', 'DialogManager.close(\'manage_apply\')');
}
Tpl::showpage('group.mapply', 'null_layout');
}
/**
* Level introduction
*/
public function level_intrOp(){
// 圈子信息
$this->circleInfo();
// 圈主和管理信息
$this->manageList();
// 会员信息
$this->memberInfo();
// breadcrumb navigation
$this->breadcrumd(L('level_introduction'));
// member level
$ml_info = Model()->table('circle_ml')->find($this->c_id);
$mld_array = rkcache('circle_level') ? rkcache('circle_level') : rkcache('circle_level', true);
if(empty($ml_info)){
$ml_info['ml_1'] = $mld_array['1']['mld_name'];
$ml_info['ml_2'] = $mld_array['2']['mld_name'];
$ml_info['ml_3'] = $mld_array['3']['mld_name'];
$ml_info['ml_4'] = $mld_array['4']['mld_name'];
$ml_info['ml_5'] = $mld_array['5']['mld_name'];
$ml_info['ml_6'] = $mld_array['6']['mld_name'];
$ml_info['ml_7'] = $mld_array['7']['mld_name'];
$ml_info['ml_8'] = $mld_array['8']['mld_name'];
$ml_info['ml_9'] = $mld_array['9']['mld_name'];
$ml_info['ml_10'] = $mld_array['10']['mld_name'];
$ml_info['ml_11'] = $mld_array['11']['mld_name'];
$ml_info['ml_12'] = $mld_array['12']['mld_name'];
$ml_info['ml_13'] = $mld_array['13']['mld_name'];
$ml_info['ml_14'] = $mld_array['14']['mld_name'];
$ml_info['ml_15'] = $mld_array['15']['mld_name'];
$ml_info['ml_16'] = $mld_array['16']['mld_name'];
}
Tpl::output('ml_info', $ml_info);
Tpl::output('mld_array', $mld_array);
Tpl::showpage('group.level');
}
}