$filter['primary_id'] = $_POST['id']; /* 节点移动 */ if ($_POST['updown'] == 'up') { lrtree_umove($filter) ? make_json_ok() : make_json_fail(); } else { lrtree_dmove($filter) ? make_json_ok() : make_json_fail(); } } elseif ($_REQUEST['act'] == 'privtable') { /* 权限检查 */ admin_privilege_valid('role.php', 'list'); /* 上级角色信息 */ $info_p = info_role(array('role_id' => $_GET['prole_id'])); /* 允许获取权限表检查 */ allow_privtable($info_p); /* 角色权限IDS */ $role_priv_ids = all_role_privilege_id(array('role_id' => $info_p['role_id'])); /* 角色权限表 */ if (empty($role_priv_ids)) { exit('<div class="tips-div"><span>' . $_LANG['str_role_nopriv'] . '</span></div>'); } else { exit(html_privilege_table('privilege_ids', '', $role_priv_ids)); } } else { /* 权限检查 */ admin_privilege_valid('role.php', 'list'); /* 取得管理员的非增加、列表操作 */ $m_aa = admin_module_acts('role.php'); $m_ac = filter_module_acts($m_aa, array('add', 'list'), false); array_unshift($m_ac, array('module_act_name' => $_LANG['act_dmove'], 'module_act_code' => 'dmove')); array_unshift($m_ac, array('module_act_name' => $_LANG['act_umove'], 'module_act_code' => 'umove')); /* 角色列表,小于当前管理员角色的角色 */
/** * 比较角色权限的大小 * * @params arr $filter1 条件1 * @params arr $filter2 条件2 * * @return mix '>' 表示$filter1大. '=' 表示一样大. '<' 表示$filter2大. false 表示无法比较 */ function cmp_role_privilege($filter1, $filter2) { $cmp1 = array(); /* 提取条件数据 */ if (is_numeric($filter1['role_id']) && intval($filter1['role_id']) > 0) { $filter1['privilege_ids'] = all_role_privilege_id(array('role_id' => $filter1['role_id'])); } return cmp_privilege($filter1, $filter2); }