/** * 填写时所需的HTML控件 */ function ctl_fill($act) { global $_PRIV, $_LANG, $tpl; /* 小于当前管理员角色的角色下拉框 */ $sub_role = sub_role(array('info' => $_PRIV['role']), false); if (empty($sub_role)) { $tpl['formc_role'] = '<span style="color:#ff0000"> ' . $_LANG['fill_admin_role'] . '</span>'; } else { $tpl['formc_role'] = ddl_role_custom($sub_role, 'role_id', $tpl['admin']['role_id'], array(), array('style' => 'width:153px')); } /* 辅助权限表 */ $privilege_ids = $act == 'add' ? array() : privilege_ids(array('admin_id' => $_GET['admin_id'])); //提交的管理员的细粒度权限IDS $tpl['html_privilege_table'] = html_privilege_table('privilege_ids', $privilege_ids, admin_privilege_ids()); }
require '../../includes/lib_module.php'; require '../../includes/lib_lrtree.php'; /* ------------------------------------------------------ */ // - 异步 - 增加 /* ------------------------------------------------------ */ if ($_REQUEST['act'] == 'add') { /* 权限检查 */ admin_privilege_valid('role.php', 'add'); /* 子角色(包括自身) */ $sub_role = sub_role(array('info' => $_PRIV['role']), true); /* 角色权限IDS */ $role_priv_ids = all_role_privilege_id(array('role_id' => $_PRIV['role']['role_id'])); /* 角色改变JS事件,触发更改角色的权限表 */ $onchange = "Ajax.call('modules/admin/role.php?act=privtable&prole_id='+this.value,'',function(result,text){document.getElementById('div-role-privilegetbl').innerHTML=text})"; /* HTML控件 */ $tpl['formc_role'] = ddl_role_custom($sub_role, 'parent_id', '', array(), array('style' => 'width:130px', 'onchange' => $onchange)); $tpl['html_privilege_table'] = html_privilege_table('privilege_ids', '', $role_priv_ids); /* 初始化页面信息 */ $tpl['_body'] = 'add'; } elseif ($_REQUEST['act'] == 'insert') { /* 权限检查 */ admin_privilege_valid('role.php', 'add'); /* 父角色信息 */ $info_p = info_role(array('role_id' => $_POST['parent_id'])); /* 数据提取并初始化$_POST */ $fields = post_role('add'); /* 允许写入检查 */ allow_write($info_p); /* 参照信息 */ $filter = array(); $filter['table'] = tname('role');