Skip to:
Content

BuddyPress.org

Ticket #8123: 8123.patch

File 8123.patch, 6.3 KB (added by imath, 6 years ago)
  • src/bp-members/bp-members-functions.php

    diff --git src/bp-members/bp-members-functions.php src/bp-members/bp-members-functions.php
    index 58fd1777e..5af62bda2 100644
    function bp_core_get_active_member_count() { 
    609609        return apply_filters( 'bp_core_get_active_member_count', $count );
    610610}
    611611
     612/**
     613 * Update the spam status of the member on multisite configs.
     614 *
     615 * @since 5.0.0
     616 *
     617 * @param int   $user_id The user ID to spam or ham.
     618 * @param int   $value   0 to mark the user as `ham`, 1 to mark as `spam`.
     619 * @return bool          True if the spam status of the member changed.
     620 *                       False otherwise.
     621 */
     622function bp_core_update_member_status( $user_id = 0, $value = 0 ) {
     623        if ( ! is_multisite() || ! $user_id ) {
     624                return false;
     625        }
     626
     627        if ( ! function_exists( 'wp_get_registered_image_subsizes' ) ) {
     628                return update_user_status( $user_id, 'spam', $value );
     629        }
     630
     631        $user = wp_update_user( array(
     632                'ID'   => $user_id,
     633                'spam' => $value,
     634        ) );
     635
     636        if ( is_wp_error( $user ) ) {
     637                return false;
     638        }
     639
     640        return true;
     641}
     642
    612643/**
    613644 * Process a spammed or unspammed user.
    614645 *
    function bp_core_process_spammer_status( $user_id, $status, $do_wp_cleanup = tru 
    671702                }
    672703
    673704                // Finally, mark this user as a spammer.
    674                 if ( is_multisite() ) {
    675                         update_user_status( $user_id, 'spam', $is_spam );
    676                 }
     705                bp_core_update_member_status( $user_id, $is_spam );
    677706        }
    678707
    679708        // Update the user status.
  • tests/phpunit/testcases/blogs/functions.php

    diff --git tests/phpunit/testcases/blogs/functions.php tests/phpunit/testcases/blogs/functions.php
    index 4cd38a897..92804a647 100644
    class BP_Tests_Blogs_Functions extends BP_UnitTestCase { 
    291291                        $this->setExpectedDeprecated( 'wpmu_new_blog' );
    292292                }
    293293
    294                 if ( is_multisite() && function_exists( 'wp_get_registered_image_subsizes' ) ) {
    295                         $this->setExpectedDeprecated( 'update_user_status' );
    296                 }
    297 
    298294                // Create a regular member
    299295                $u = self::factory()->user->create();
    300296
  • tests/phpunit/testcases/core/class-bp-user-query.php

    diff --git tests/phpunit/testcases/core/class-bp-user-query.php tests/phpunit/testcases/core/class-bp-user-query.php
    index d589f5a53..c03ad3076 100644
    class BP_Tests_BP_User_Query_TestCases extends BP_UnitTestCase { 
    389389         * @group spam
    390390         */
    391391        public function test_bp_user_query_type_alphabetical_spam_xprofileoff() {
    392                 if ( is_multisite() && function_exists( 'wp_get_registered_image_subsizes' ) ) {
    393                         $this->setExpectedDeprecated( 'update_user_status' );
    394                 }
    395 
    396392                $u1 = self::factory()->user->create();
    397393                $u2 = self::factory()->user->create();
    398394
  • tests/phpunit/testcases/members/functions.php

    diff --git tests/phpunit/testcases/members/functions.php tests/phpunit/testcases/members/functions.php
    index cd261ae24..e2492116c 100644
    class BP_Tests_Members_Functions extends BP_UnitTestCase { 
    378378                        $this->markTestSkipped();
    379379                }
    380380
    381                 if ( is_multisite() && function_exists( 'wp_get_registered_image_subsizes' ) ) {
    382                         $this->setExpectedDeprecated( 'update_user_status' );
    383                 }
    384 
    385381                $bp = buddypress();
    386382                $displayed_user = $bp->displayed_user;
    387383
    class BP_Tests_Members_Functions extends BP_UnitTestCase { 
    389385                $bp->displayed_user->id = $u1;
    390386
    391387                // Bulk spam in network admin uses update_user_status
    392                 update_user_status( $u1, 'spam', '1' );
     388                bp_core_update_member_status( $u1, '1' );
    393389
    394390                $this->assertTrue( bp_is_user_spammer( $u1 ) );
    395391
    class BP_Tests_Members_Functions extends BP_UnitTestCase { 
    410406                        $this->markTestSkipped();
    411407                }
    412408
    413                 if ( is_multisite() && function_exists( 'wp_get_registered_image_subsizes' ) ) {
    414                         $this->setExpectedDeprecated( 'update_user_status' );
    415                 }
    416 
    417409                $bp = buddypress();
    418410                $displayed_user = $bp->displayed_user;
    419411
    class BP_Tests_Members_Functions extends BP_UnitTestCase { 
    426418                $this->assertTrue( bp_is_user_spammer( $u1 ) );
    427419
    428420                // Bulk unspam in network admin uses update_user_status
    429                 update_user_status( $u1, 'spam', '0' );
     421                bp_core_update_member_status( $u1, '0' );
    430422
    431423                $this->assertFalse( bp_is_user_spammer( $u1 ) );
    432424
    class BP_Tests_Members_Functions extends BP_UnitTestCase { 
    438430         * @group bp_core_process_spammer_status
    439431         */
    440432        public function test_bp_core_process_spammer_status_make_spam_user_filter() {
    441                 if ( is_multisite() && function_exists( 'wp_get_registered_image_subsizes' ) ) {
    442                         $this->setExpectedDeprecated( 'update_user_status' );
    443                 }
    444 
    445433                add_filter( 'make_spam_user', array( $this, 'notification_filter_callback' ) );
    446434
    447435                $u1 = self::factory()->user->create();
    class BP_Tests_Members_Functions extends BP_UnitTestCase { 
    454442        }
    455443
    456444        public function test_bp_core_process_spammer_status_make_ham_user_filter() {
    457                 if ( is_multisite() && function_exists( 'wp_get_registered_image_subsizes' ) ) {
    458                         $this->setExpectedDeprecated( 'update_user_status' );
    459                 }
     445                $u1 = self::factory()->user->create();
     446                $s  = bp_core_process_spammer_status( $u1, 'spam' );
    460447
    461448                add_filter( 'make_ham_user', array( $this, 'notification_filter_callback' ) );
    462449
    463                 $u1 = self::factory()->user->create();
    464                 $n = bp_core_process_spammer_status( $u1, 'ham' );
     450                $h = bp_core_process_spammer_status( $u1, 'ham' );
    465451
    466452                remove_filter( 'make_ham_user', array( $this, 'notification_filter_callback' ) );
    467453
    class BP_Tests_Members_Functions extends BP_UnitTestCase { 
    470456        }
    471457
    472458        public function test_bp_core_process_spammer_status_bp_make_spam_user_filter() {
    473                 if ( is_multisite() && function_exists( 'wp_get_registered_image_subsizes' ) ) {
    474                         $this->setExpectedDeprecated( 'update_user_status' );
    475                 }
    476 
    477459                add_filter( 'bp_make_spam_user', array( $this, 'notification_filter_callback' ) );
    478460
    479461                $u1 = self::factory()->user->create();
    class BP_Tests_Members_Functions extends BP_UnitTestCase { 
    486468        }
    487469
    488470        public function test_bp_core_process_spammer_status_bp_make_ham_user_filter() {
    489                 if ( is_multisite() && function_exists( 'wp_get_registered_image_subsizes' ) ) {
    490                         $this->setExpectedDeprecated( 'update_user_status' );
    491                 }
    492 
    493471                add_filter( 'bp_make_ham_user', array( $this, 'notification_filter_callback' ) );
    494472
    495473                $u1 = self::factory()->user->create();