| 1 | Index: wp-includes/user.php |
|---|
| 2 | =================================================================== |
|---|
| 3 | --- wp-includes/user.php (revision 20574) |
|---|
| 4 | +++ wp-includes/user.php (working copy) |
|---|
| 5 | @@ -652,7 +652,7 @@ |
|---|
| 6 | * |
|---|
| 7 | * @param int $user_id User ID |
|---|
| 8 | * @param bool $all Whether to retrieve all blogs, or only blogs that are not marked as deleted, archived, or spam. |
|---|
| 9 | - * @return array A list of the user's blogs. False if the user was not found or an empty array if the user has no blogs. |
|---|
| 10 | + * @return array A list of the user's blogs. An empty array if the user doesn't exist or belongs to no blogs. |
|---|
| 11 | */ |
|---|
| 12 | function get_blogs_of_user( $user_id, $all = false ) { |
|---|
| 13 | global $wpdb; |
|---|
| 14 | @@ -661,11 +661,11 @@ |
|---|
| 15 | |
|---|
| 16 | // Logged out users can't have blogs |
|---|
| 17 | if ( empty( $user_id ) ) |
|---|
| 18 | - return false; |
|---|
| 19 | + return array(); |
|---|
| 20 | |
|---|
| 21 | $keys = get_user_meta( $user_id ); |
|---|
| 22 | if ( empty( $keys ) ) |
|---|
| 23 | - return false; |
|---|
| 24 | + return array(); |
|---|
| 25 | |
|---|
| 26 | if ( ! is_multisite() ) { |
|---|
| 27 | $blog_id = get_current_blog_id(); |
|---|
| 28 | @@ -745,10 +745,7 @@ |
|---|
| 29 | $blog_id = get_current_blog_id(); |
|---|
| 30 | |
|---|
| 31 | $blogs = get_blogs_of_user( $user_id ); |
|---|
| 32 | - if ( is_array( $blogs ) ) |
|---|
| 33 | - return array_key_exists( $blog_id, $blogs ); |
|---|
| 34 | - else |
|---|
| 35 | - return false; |
|---|
| 36 | + return array_key_exists( $blog_id, $blogs ); |
|---|
| 37 | } |
|---|
| 38 | |
|---|
| 39 | /** |
|---|
| 40 | Index: wp-admin/includes/user.php |
|---|
| 41 | =================================================================== |
|---|
| 42 | --- wp-admin/includes/user.php (revision 20574) |
|---|
| 43 | +++ wp-admin/includes/user.php (working copy) |
|---|
| 44 | @@ -264,12 +264,14 @@ |
|---|
| 45 | } |
|---|
| 46 | |
|---|
| 47 | // FINALLY, delete user |
|---|
| 48 | - if ( !is_multisite() ) { |
|---|
| 49 | - $wpdb->delete( $wpdb->usermeta, array( 'user_id' => $id ) ); |
|---|
| 50 | + if ( is_multisite() ) { |
|---|
| 51 | + remove_user_from_blog( $id, get_current_blog_id() ); |
|---|
| 52 | + } else { |
|---|
| 53 | + $meta = $wpdb->get_col( $wpdb->prepare( "SELECT umeta_id FROM $wpdb->usermeta WHERE user_id = %d", $id ) ); |
|---|
| 54 | + foreach ( $meta as $mid ) |
|---|
| 55 | + delete_metadata_by_mid( 'user', $mid ); |
|---|
| 56 | + |
|---|
| 57 | $wpdb->delete( $wpdb->users, array( 'ID' => $id ) ); |
|---|
| 58 | - } else { |
|---|
| 59 | - $level_key = $wpdb->get_blog_prefix() . 'capabilities'; // wpmu site admins don't have user_levels |
|---|
| 60 | - $wpdb->delete( $wpdb->usermeta, array( 'user_id' => $id , 'meta_key' => $level_key ) ); |
|---|
| 61 | } |
|---|
| 62 | |
|---|
| 63 | clean_user_cache( $user ); |
|---|