private static function _delete_userlabel_from_blog(&$userlabel) { global $wpdb; $post_status_sql = ''; $default_post_status = get_option('wpaa_default_post_status'); if ($default_post_status && in_array($default_post_status, UndisclosedSettings::get_post_stati())) { $post_status_sql = $wpdb->prepare(" , post_status=%s ", $default_post_status); } // delete everything from posts and restore usefull default values $query = $wpdb->query($wpdb->prepare("UPDATE {$wpdb->posts} SET post_view_cap='exist' {$post_status_sql} WHERE post_view_cap=%s", $userlabel->capability)); $query = $wpdb->query($wpdb->prepare("UPDATE {$wpdb->posts} SET post_edit_cap='exist' WHERE post_edit_cap=%s", $userlabel->capability)); // back to default $query = $wpdb->query($wpdb->prepare("UPDATE {$wpdb->posts} SET post_comment_cap='exist',comment_status='closed' WHERE post_comment_cap=%s", $userlabel->capability)); // back to default // set back options if (get_option('wpaa_default_view_cap') == $userlabel->capability) { update_option('wpaa_default_view_cap', 'exist'); } if (get_option('wpaa_default_edit_cap') == $userlabel->capability) { update_option('wpaa_default_edit_cap', 'exist'); } if (get_option('wpaa_default_comment_cap') == $userlabel->capability) { update_option('wpaa_default_comment_cap', 'exist'); } if (is_multisite()) { $current_blog_id = get_current_blog_id(); } // remove all caps from users $users = get_users(); foreach ($users as $user) { if (is_multisite()) { $user->for_blog($current_blog_id); } $user->remove_cap($userlabel->capability); } self::_clear_cache(); }