Skip to:
Content

BuddyPress.org

Changeset 12450


Ignore:
Timestamp:
08/24/2019 02:53:10 PM (7 years ago)
Author:
imath
Message:

Anticipate the deprecation in WordPress 5.3 of update_user_status()

Introduce bp_core_update_member_status() in order to wrap wp_update_user() with needed argument to spam a user on multisite configurations.

Props espellcaste

Fixes #8123

Location:
trunk
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/bp-members/bp-members-functions.php

    r12393 r12450  
    611611
    612612/**
     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        /**
     628         * The `update_user_status()` function is deprecated since WordPress 5.3.0.
     629         * Continue to use it if WordPress current major version is lower than 5.3.
     630         */
     631        if ( bp_get_major_wp_version() < 5.3 ) {
     632                return update_user_status( $user_id, 'spam', $value );
     633        }
     634
     635        // Otherwise use the replacement function.
     636        $user = wp_update_user( array(
     637                'ID'   => $user_id,
     638                'spam' => $value,
     639        ) );
     640
     641        if ( is_wp_error( $user ) ) {
     642                return false;
     643        }
     644
     645        return true;
     646}
     647
     648/**
    613649 * Process a spammed or unspammed user.
    614650 *
     
    672708
    673709                // Finally, mark this user as a spammer.
    674                 if ( is_multisite() ) {
    675                         update_user_status( $user_id, 'spam', $is_spam );
    676                 }
     710                bp_core_update_member_status( $user_id, $is_spam );
    677711        }
    678712
  • trunk/tests/phpunit/testcases/blogs/functions.php

    r12423 r12450  
    290290                if ( function_exists( 'wp_initialize_site' ) ) {
    291291                        $this->setExpectedDeprecated( 'wpmu_new_blog' );
    292                 }
    293 
    294                 if ( is_multisite() && function_exists( 'wp_get_registered_image_subsizes' ) ) {
    295                         $this->setExpectedDeprecated( 'update_user_status' );
    296292                }
    297293
  • trunk/tests/phpunit/testcases/core/class-bp-user-query.php

    r12423 r12450  
    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();
  • trunk/tests/phpunit/testcases/members/functions.php

    r12423 r12450  
    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;
     
    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 ) );
     
    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;
     
    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 ) );
     
    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
     
    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' ) );
     
    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
     
    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
Note: See TracChangeset for help on using the changeset viewer.