Exemplo n.º 1
0
function ure_removeCapability()
{
    global $wpdb, $wp_roles;
    $mess = '';
    if (isset($_GET['removeusercapability']) && $_GET['removeusercapability']) {
        $capability = $_GET['removeusercapability'];
        $capsToRemove = getCapsToRemove();
        if (!is_array($capsToRemove) || count($capsToRemove) == 0 || !isset($capsToRemove[$capability])) {
            return sprintf(__('Error! You do not have permission to delete this capability: %s!', 'ure'), $capability);
        }
        // process users
        $usersId = $wpdb->get_col($wpdb->prepare("SELECT {$wpdb->users}.ID FROM {$wpdb->users}"));
        foreach ($usersId as $user_id) {
            $user = get_user_to_edit($user_id);
            if (isset($user->roles[0]) && $user->roles[0] == 'administrator') {
                continue;
            }
            if ($user->has_cap($capability)) {
                $user->remove_cap($capability);
            }
        }
        // process roles
        foreach ($wp_roles->role_objects as $wp_role) {
            if ($wp_role->has_cap($capability)) {
                $wp_role->remove_cap($capability);
            }
        }
        $mess = sprintf(__('Capability %s is removed successfully', 'ure'), $capability);
    }
    return $mess;
}
Exemplo n.º 2
0
function ure_removeCapability()
{
    global $wp_roles;
    $mess = '';
    if (isset($_GET['removeusercapability']) && $_GET['removeusercapability']) {
        $capability = $_GET['removeusercapability'];
        $capsToRemove = getCapsToRemove();
        $found = false;
        foreach ($capsToRemove as $cap) {
            if ($cap === $capability) {
                $found = true;
            }
        }
        if (!$found) {
            return sprintf(__('Error! You do not have permission to delete this capability: %s!', 'ure'), $capability);
        }
        foreach ($wp_roles->role_objects as $wp_role) {
            if ($wp_role->has_cap($capability)) {
                $wp_role->remove_cap($capability);
            }
        }
        $mess = sprintf(__('Capability %s is removed successfully', 'ure'), $capability);
    }
    return $mess;
}