gid = $gid; $this->auth = $group['auth']; $this->name = $group['name']; }else{ throw new MyException('管理员组不存在', 902); } } } /** * 添加管理员组 * * @param $name 组名 */ static public function add($name){ if(empty($name)) throw new MyException('管理员组名不能为空', 101); //判断组名是否重复 $Table_admingroup = new Table_admingroup(); $g = $Table_admingroup->getInfoByName($name); if($g) throw new MyException('组名已存在', 102); $attr = array( 'name' => $name ); $gid = $Table_admingroup->add($attr); if($gid){ $msg = '添加管理员组('.$gid.':'.$name.')成功!'; Adminlog::add($msg); return action_msg($msg, 1); }else{ throw new MyException('操作失败', 103); } } /** * 修改管理员组 * * @param $id 管理组ID * @param $name */ static public function edit($id, $name){ if($id == 1) throw new MyException('超级管理员组不能被编辑', 100); if(!ParamCheck::is_ID($id)) throw new MyException('管理员组ID不合法', 101); if(empty($name)) throw new MyException('管理员组名不能为空', 102); $attr = array( 'name' => $name ); $Table_admingroup = new Table_admingroup(); $rs = $Table_admingroup->edit($id, $attr); if($rs >= 0){//未做修改也算是修改成功 $msg = '修改管理员组('.$id.')成功'; Adminlog::add($msg); return action_msg($msg, 1); }else{ throw new MyException('操作失败', 103); } } /** * 删除管理员组 * * @param $gid 管理员组ID * */ static public function del($gid){ if($gid == 1) throw new MyException('超级管理员组不能被删除', 100); if(!ParamCheck::is_ID($gid)) throw new MyException('管理员组ID不合法', 101); //判断该组下是否有管理员 if(self::getAdminCount($gid) > 0) throw new MyException('该组有管理员。请先删除或转移管理员。', 102); $Table_admingroup = new Table_admingroup(); $rs = $Table_admingroup->del($gid); if($rs == 1){ $msg = '删除管理员组('.$gid.')成功!'; Adminlog::add($msg); return action_msg($msg, 1);//成功 }else{ throw new MyException('操作失败', 103); } } //获取管理员组中管理员的数量 static public function getAdminCount($gid){ $filter = array( 'group' => $gid ); $Table_admin = new Table_admin(); return $Table_admin->getList($filter, 1); } //获取管理员组列表 static public function getList(){ $filter = array(); $Table_admingroup = new Table_admingroup(); return $Table_admingroup->getList($filter); } /** * 管理员组详细信息 * * @param $gid 管理组ID * */ static public function getInfoById($gid){ if(!ParamCheck::is_ID($gid)) throw new MyException('管理员组ID不合法', 101); $Table_admingroup = new Table_admingroup(); return $Table_admingroup->getInfoById($gid); } /** * 管理员组排序 * * @param $gid 管理员组ID * @param $order 顺序数值 * @return */ static function updateOrder($gid, $order){ if($gid == 1) throw new MyException('超级管理员组不能被操作', 100); if(!ParamCheck::is_ID($gid)) throw new MyException('管理员组ID不合法', 101); if(!ParamCheck::is_ID($order)) throw new MyException('排序值必须为正整数', 103); $Table_admingroup = new Table_admingroup(); $r = $Table_admingroup->updateOrder($gid, $order); if($r >= 0){ return action_msg('排序成功', 1); }else{ throw new MyException('操作失败', 104); } } /** * 修改管理员组权限 * * @param $gid 管理员组ID * @param $auth 权限字符串 */ static public function updateAuth($gid, $auth){ if($gid == 1) throw new MyException('超级管理员组不能被修改权限', 100); if(!ParamCheck::is_ID($gid)) throw new MyException('管理员组ID不合法', 101); //if(empty($auth)) throw new MyException('权限不能为空', 102); $Table_admingroup = new Table_admingroup(); $rs = $Table_admingroup->updateAuth($gid, $auth); if($rs >= 0){ $msg = '修改管理员组('.$gid.')权限成功!'; Adminlog::add($msg); return action_msg($msg, 1); }else{ throw new MyException('操作失败', 103); } } //获得管理员组权限 public function getAuth(){ return $this->auth; } //获得管理员组名称 public function getName(){ return $this->name; } } ?>