Example #1
0
/**
 * 删除模块,只能删除叶子模块
 *
 * @params arr  $filter  过滤条件
 */
function del_module($filter)
{
    global $_LANG;
    /* 根据模块信息(信任)删除 */
    if (is_array($filter['info']) && !empty($filter['info'])) {
        /* 虚根模块,保留 */
        if ($filter['info']['module_id'] == 1) {
            return array('error' => 1, 'message' => $_LANG['lawless_submit']);
        }
        /* 非叶子节点不能删除 */
        if ($filter['info']['lft'] != $filter['info']['rht'] - 1) {
            return array('error' => 1, 'message' => $_LANG['lawless_submit']);
        }
        /* 删除模块拥有的权限 */
        del_privilege(array('module_id' => $filter['info']['module_id']));
        /* 删除模块 */
        lrtree_del(array('table' => tname('module'), 'info' => $filter['info']));
        return array('error' => 0, 'message' => $_LANG['del_ok']);
    }
    return array('error' => 1, 'message' => $_LANG['fail_del']);
}
Example #2
0
/**
 * 删除角色
 *
 * @params arr  $filter  过滤条件
 */
function del_role($filter = array())
{
    global $_LANG;
    /* 根据角色信息(信任)删除 */
    if (is_array($filter['info']) && !empty($filter['info'])) {
        /* 系统内置角色,保留 */
        if (intval($filter['info']['role_id']) == 1) {
            return array('error' => 1, 'message' => $_LANG['lawless_submit']);
        }
        /* 子角色IDS(包括自身) */
        $ids = sub_role_id(array('info' => $filter['info']), true);
        /* 删除角色权限 */
        del_role_privilege(array('role_ids' => $ids));
        /* 重置管理员中的角色ID */
        $sql = 'UPDATE ' . tname('admin') . ' SET role_id=0 WHERE role_id IN("' . implode('","', $ids) . '")';
        $GLOBALS['db']->query($sql);
        /* 删除角色 */
        lrtree_del(array('table' => tname('role'), 'info' => $filter['info']));
        return array('error' => 0, 'message' => $_LANG['del_ok']);
    }
    return array('error' => 1, 'message' => $_LANG['fail_del']);
}