Example #1
0
    $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'));
    /* 角色列表,小于当前管理员角色的角色 */
Example #2
0
/**
 * 比较角色权限的大小
 *
 * @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);
}