diff --git a/src/wp-includes/user.php b/src/wp-includes/user.php index 9f7cf756f9..916fd52bab 100644 --- a/src/wp-includes/user.php +++ b/src/wp-includes/user.php @@ -1175,9 +1175,9 @@ function get_blogs_of_user( $user_id, $all = false ) { 'path' => $blog->path, 'site_id' => $blog->site_id, 'siteurl' => $blog->siteurl, - 'archived' => 0, - 'spam' => 0, - 'deleted' => 0 + 'archived' => $blog->archived, + 'spam' => $blog->spam, + 'deleted' => $blog->deleted, ); } unset( $keys[ $wpdb->base_prefix . 'capabilities' ] ); @@ -1204,9 +1204,9 @@ function get_blogs_of_user( $user_id, $all = false ) { 'path' => $blog->path, 'site_id' => $blog->site_id, 'siteurl' => $blog->siteurl, - 'archived' => 0, - 'spam' => 0, - 'deleted' => 0 + 'archived' => $blog->archived, + 'spam' => $blog->spam, + 'deleted' => $blog->deleted, ); } } diff --git a/tests/phpunit/tests/user/multisite.php b/tests/phpunit/tests/user/multisite.php index 0d7883436a..22a68358b2 100644 --- a/tests/phpunit/tests/user/multisite.php +++ b/tests/phpunit/tests/user/multisite.php @@ -91,9 +91,15 @@ class Tests_Multisite_User extends WP_UnitTestCase { update_blog_details( $blog_ids[2], array( 'deleted' => 1 ) ); // Passing true as the second parameter should retrieve ALL sites, even if marked. - $blog_ids_of_user = array_keys( get_blogs_of_user( $user1_id, true ) ); + $blogs_of_user = get_blogs_of_user( $user1_id, true ); + $blog_ids_of_user = array_keys( $blogs_of_user ); $this->assertEquals( $blog_ids, $blog_ids_of_user ); + // Check if sites are flagged as expected. + $this->assertEquals( 1, $blogs_of_user[ $blog_ids[0] ]->spam ); + $this->assertEquals( 1, $blogs_of_user[ $blog_ids[1] ]->archived ); + $this->assertEquals( 1, $blogs_of_user[ $blog_ids[2] ]->deleted ); + unset( $blog_ids[0] ); unset( $blog_ids[1] ); unset( $blog_ids[2] );