/** * 删除管理员 * * @params arr $filter 过滤条件 */ function del_admin($filter) { global $_LANG; /* 根据管理员ID删除 */ if (is_numeric($filter['admin_id']) && intval($filter['admin_id']) > 0) { /* 初始化 */ $admin_id = intval($filter['admin_id']); /* 系统帐号,保留 */ if ($admin_id == 1) { return array('error' => 1, 'message' => $_LANG['lawless_submit']); } /* 删除管理员权限 */ del_admin_privilege(array('admin_id' => $admin_id)); /* 重置管理员日志中的管理员ID */ $GLOBALS['db']->update(tname('admin_log'), array('admin_id' => '0'), 'admin_id=' . $admin_id); /* 删除管理员 */ $GLOBALS['db']->delete(tname('admin'), 'admin_id=' . $admin_id); return array('error' => 0, 'message' => $_LANG['del_ok']); } return array('error' => 1, 'message' => $_LANG['fail_del']); }
$tpl['_body'] = 'edit'; } elseif ($_REQUEST['act'] == 'update') { /* 权限检查 */ admin_privilege_valid('admin.php', 'edit'); /* 管理员信息(连表角色,拥有信任的角色信息) */ $info = info_admin(array('admin_id' => $_POST['admin_id'])); /* 允许编辑检查 */ allow_edit($info); /* 数据提取并初始化$_POST */ $fields = post_admin('edit'); /* 允许写入检查 */ allow_write($fields); /* 数据更新 */ if ($db->update(tname('admin'), $fields, 'admin_id=' . $info['admin_id'])) { /* 更新管理员权限 - 准备 - 删除管理员细粒度权限(仅删除所有在当前管理员的细粒度权限里的权限) */ del_admin_privilege(array('admin_id' => $info['admin_id'], 'privilege_ids' => admin_privilege_ids())); /* 更新管理员权限 */ post_privilege_insert($info['admin_id']); /* 初始化管理员的权限文件 */ init_privilege_sys_pfile($info['username']); /* 写入日志和系统提示 */ admin_log(admin_privilege_name_fk('admin.php', 'edit') . ': ' . $info['name']); make_json_ok(); } } elseif ($_REQUEST['act'] == 'ufield') { /* 权限检查 */ admin_privilege_valid('admin.php', 'edit'); /* 更新字段 - 管理员姓名,管理员帐号 */ if (in_array($_POST['field'], array('name', 'username'))) { /* 数据检查 */ post_admin_check(array($_POST['field'] => $_POST['val']));
/** * 删除权限 * * @params arr $filter 过滤条件 */ function del_privilege($filter) { global $_LANG; /* 根据权限ID删除 */ if (is_numeric($filter['privilege_id']) && intval($filter['privilege_id']) > 0) { /* 删除管理员权限和角色权限 */ del_admin_privilege(array('privilege_id' => $filter['privilege_id'])); del_role_privilege(array('privilege_id' => $filter['privilege_id'])); /* 删除权限 */ $GLOBALS['db']->delete(tname('privilege'), 'privilege_id=' . intval($filter['privilege_id'])); return array('error' => 0, 'message' => $_LANG['del_ok']); } /* 根据模块ID删除 */ if (is_numeric($filter['module_id']) && intval($filter['module_id']) > 0) { /* 取得模块的所有权限 */ $priv_ids = privilege_ids(array('module_id' => $filter['module_id'])); /* 删除管理员权限和角色权限 */ del_admin_privilege(array('privilege_ids' => $priv_ids)); del_role_privilege(array('privilege_ids' => $priv_ids)); /* 删除权限 */ $GLOBALS['db']->delete(tname('privilege'), 'module_id=' . intval($filter['module_id'])); return array('error' => 0, 'message' => $_LANG['del_ok']); } return array('error' => 1, 'message' => $_LANG['fail_del']); }