/** * Remove all capabilities from user. * * @since 2.1.0 * * @param int $id User ID. */ function nxt_revoke_user($id) { $id = (int) $id; $user = new nxt_User($id); $user->remove_all_caps(); }
/** * Remove a user from a blog. * * Use the 'remove_user_from_blog' action to fire an event when * users are removed from a blog. * * Accepts an optional $reassign parameter, if you want to * reassign the user's blog posts to another user upon removal. * * @since MU 1.0 * * @param int $user_id ID of the user you're removing. * @param int $blog_id ID of the blog you're removing the user from. * @param string $reassign Optional. A user to whom to reassign posts. * @return bool */ function remove_user_from_blog($user_id, $blog_id = '', $reassign = '') { global $nxtdb; switch_to_blog($blog_id); $user_id = (int) $user_id; do_action('remove_user_from_blog', $user_id, $blog_id); // If being removed from the primary blog, set a new primary if the user is assigned // to multiple blogs. $primary_blog = get_user_meta($user_id, 'primary_blog', true); if ($primary_blog == $blog_id) { $new_id = ''; $new_domain = ''; $blogs = get_blogs_of_user($user_id); foreach ((array) $blogs as $blog) { if ($blog->userblog_id == $blog_id) { continue; } $new_id = $blog->userblog_id; $new_domain = $blog->domain; break; } update_user_meta($user_id, 'primary_blog', $new_id); update_user_meta($user_id, 'source_domain', $new_domain); } // nxt_revoke_user($user_id); $user = new nxt_User($user_id); if (empty($user->ID)) { restore_current_blog(); return new nxt_Error('user_does_not_exist', __('That user does not exist.')); } $user->remove_all_caps(); $blogs = get_blogs_of_user($user_id); if (count($blogs) == 0) { update_user_meta($user_id, 'primary_blog', ''); update_user_meta($user_id, 'source_domain', ''); } if ($reassign != '') { $reassign = (int) $reassign; $nxtdb->query($nxtdb->prepare("UPDATE {$nxtdb->posts} SET post_author = %d WHERE post_author = %d", $reassign, $user_id)); $nxtdb->query($nxtdb->prepare("UPDATE {$nxtdb->links} SET link_owner = %d WHERE link_owner = %d", $reassign, $user_id)); } restore_current_blog(); return true; }