function privacy() { if (!iscreater($this->mid, $this->gid)) { $this->error('创建者才有的权限'); } //创建者才可以修改配置 if (isset($_POST['editsubmit'])) { $groupinfo = $this->group->create(); if (!$_POST['isInvite']) { $groupinfo['need_invite'] = 0; } $success = $this->group->where('id=' . $this->gid)->save($groupinfo); $this->assign('success', $success); $this->assign('groupinfo', $this->group->where('id=' . $this->gid)->find()); } $this->assign('current', 'privacy'); $this->display(); }
function quitGroup() { if (iscreater($this->mid, $this->gid) || !$this->ismember) { echo '-1'; exit; } // $this->error('你没有权限'); //群组不可以退出 $res = M('group_member')->where("uid={$this->mid} AND gid={$this->gid}")->delete(); // 用户退出 if ($res) { $map['uid'] = $this->mid; $map['gid'] = $this->gid; D('GroupUserCount', 'group')->where($map)->delete(); D('Group', 'group')->setDec('membercount', 'id=' . $this->gid); // 用户数量减少1 model('UserData')->setKeyValue($this->mid, 'group_count', D('group_member')->where('level>0 and uid=' . $this->mid)->count()); // 积分操作 X('Credit')->setUserCredit($this->mid, 'quit_group'); S('Cache_MyGroup_' . $this->mid, null); echo '1'; exit; } else { echo 0; exit; } }
public function memberaction() { $batch = false; $uidArr = explode(',', $_POST['uid']); if (is_array($uidArr)) { $batch = true; } if (!isset($_POST['op']) || !in_array($_POST['op'], array('admin', 'normal', 'out', 'allow'))) { exit; } switch ($_POST['op']) { case 'admin': // 设置成管理员 if (!iscreater($this->mid, $this->gid)) { $this->error('创建者才有的权限'); // 创建者才可以进行此操作 } if ($batch) { $uidStrLog = array(); foreach ($uidArr as $val) { $uidInfo = getUserSpace($val, 'fn', '_blank', '@' . getUserName($val)); array_push($uidStrLog, $uidInfo); } $uidStr = implode(',', $uidStrLog); $content = '将用户 ' . $uidStr . '提升为管理员 '; $res = D('Member')->where('gid=' . $this->gid . ' AND uid IN (' . $_POST['uid'] . ') AND level<>1')->setField('level', 2); //3 普通用户 } else { $content = '将用户 ' . getUserSpace($this->uid, 'fn', '_blank', '@' . getUserName($this->uid)) . '提升为管理员 '; $res = D('Member')->where('gid=' . $this->gid . ' AND uid=' . $this->uid . ' AND level<>1')->setField('level', 2); //3 普通用户 } break; case 'normal': // 降级成为普通会员 if (!iscreater($this->mid, $this->gid)) { $this->error('创建者才有的权限'); // 创建者才可以进行此操作 } $content = '将用户 ' . getUserSpace($this->uid, 'fn', '_blank', '@' . getUserName($this->uid)) . '降为普通会员 '; $res = D('Member')->where('gid=' . $this->gid . ' AND uid=' . $this->uid . ' AND level=2')->setField('level', 3); //3 普通用户 break; case 'out': // 剔除会员 if (iscreater($this->mid, $this->gid)) { $level = ' AND level<>1'; } else { $level = ' AND level<>1 AND level<>2'; } if ($batch) { $current_level = D('Member')->field('uid, level')->where('gid = ' . $this->gid . ' AND uid IN (' . $_POST['uid'] . ')' . $level)->findAll(); $res = D('Member')->where('gid=' . $this->gid . ' AND uid IN (' . $_POST['uid'] . ')' . $level)->delete(); if ($res) { $count = count($current_level); $uidStrLog = array(); foreach ($current_level as $value) { $uidInfo = getUserSpace($value['uid'], 'fn', '_blank', '@' . getUserName($value['uid'])); array_push($uidStrLog, $uidInfo); if ($value['level'] > 0) { D('Group')->setDec('membercount', 'id=' . $this->gid); X('Credit')->setUserCredit($value['uid'], 'quit_group'); } } $uidStr = implode(',', $uidStrLog); $content = '将用户 ' . $uidStr . '踢出群组 '; } } else { $current_level = D('Member')->getField('level', 'gid=' . $this->gid . ' AND uid=' . $this->uid . $level); $res = D('Member')->where('gid=' . $this->gid . ' AND uid=' . $this->uid . $level)->delete(); //剔除用户 if ($res) { $content = '将用户 ' . getUserSpace($this->uid, 'fn', '_blank', '@' . getUserName($this->uid)) . '踢出群组 '; // 被拒绝加入不扣积分 if (intval($current_level) > 0) { D('Group')->setDec('membercount', 'id=' . $this->gid); //用户数量减少1 X('Credit')->setUserCredit($this->uid, 'quit_group'); } } } break; case 'allow': // 批准成为会员 $content = '将用户 ' . getUserSpace($this->uid, 'fn', '_blank', '@' . getUserName($this->uid)) . '批准成为会员 '; $res = D('Member')->where('gid=' . $this->gid . ' AND uid=' . $this->uid . ' AND level=0')->setField('level', 3); //level级别由0 变成 3 if ($res) { D('Group')->setInc('membercount', 'id=' . $this->gid); //增加一个成员 X('Credit')->setUserCredit($this->uid, 'join_group'); } break; } if ($res) { D('Log')->writeLog($this->gid, $this->mid, $content, 'member'); } header('Location:' . $_SERVER['HTTP_REFERER']); //$this->redirect('/Manage/membermanage',array('gid'=>$this->gid)); }
function checkPriv($op, $value, $mid, $gid) { if ($op == 'invite') { //邀请 if ($value == 0 && iscreater($mid, $gid)) { return true; //关闭邀请 } elseif ($value == 1) { if (isadmin($mid, $gid)) { return true; } //管理者邀请 } elseif ($value == 2) { if (isJoinGroup($mid, $gid)) { return true; } } } if ($op == 'review') { //审核 if ($value == 0) { return true; } if ($value == 1) { if (isadmin($mid, $gid)) { return true; } //管理者审核 } } if ($op == 'say') { //什么人可以发言 if ($value == 1 && isJoinGroup($mid, $gid)) { return true; } //成员 if ($value == 0) { return true; } } if ($op == 'browse') { //什么人可以浏览 if ($value == -1) { return true; } if ($value == 1 && isJoinGroup($mid, $gid)) { return true; } if ($value == 0) { return true; } } return false; }
function delGroup() { if (md5(strtoupper($_POST['verify'])) != $_SESSION['verify']) { exit('验证码错误'); } if (!iscreater($this->mid, $this->gid)) { exit('你没有权限'); } D('Group')->remove($this->gid); S('Cache_MyGroup_' . $this->mid, NULL); exit('1'); }
function delgroup() { if (!iscreater($this->mid, $this->gid)) { exit('你没有权限'); } D('Group')->remove($this->gid); //用户数量减少1 }