Skip to:
Content

BuddyPress.org


Ignore:
Timestamp:
02/05/2016 03:37:27 AM (11 years ago)
Author:
boonebgorges
Message:

Sort activity actions when they're added, instead of when they're fetched.

Sorting activity actions can be an expensive process, so should not be done
any more frequently than necessary. And it's only necessary to sort when a
new action has been added. So instead of sorting in bp_activity_get_actions(),
we now do it in bp_activity_set_action().

Props boonebgorges, imath.
Fixes #6865.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/tests/phpunit/testcases/activity/functions.php

    r10412 r10515  
    870870        }
    871871
    872         /**
    873          * @group activity_action
    874          * @group bp_activity_get_actions
    875          */
    876         public function test_bp_activity_get_actions_should_sort_by_position() {
    877                 $old_actions = bp_activity_get_actions();
    878                 buddypress()->activity->actions = new stdClass;
    879 
    880                 register_post_type( 'foo5', array(
    881                         'public'      => true,
    882                         'supports'    => array( 'buddypress-activity' ),
    883                         'bp_activity' => array(
    884                                 'component_id' => 'foo',
    885                                 'action_id' => 'foo_bar_5',
    886                                 'position' => 5,
    887                         ),
    888                 ) );
    889 
    890                 register_post_type( 'foo50', array(
    891                         'public'      => true,
    892                         'supports'    => array( 'buddypress-activity' ),
    893                         'bp_activity' => array(
    894                                 'component_id' => 'foo',
    895                                 'action_id' => 'foo_bar_50',
    896                                 'position' => 50,
    897                         ),
    898                 ) );
    899 
    900                 register_post_type( 'foo25', array(
    901                         'public'      => true,
    902                         'supports'    => array( 'buddypress-activity' ),
    903                         'bp_activity' => array(
    904                                 'component_id' => 'foo',
    905                                 'action_id' => 'foo_bar_25',
    906                                 'position' => 25,
    907                         ),
    908                 ) );
    909 
    910                 $actions = bp_activity_get_actions();
    911 
    912                 $expected = array(
    913                         'foo_bar_5',
    914                         'foo_bar_25',
    915                         'foo_bar_50',
    916                 );
    917                 $foo_actions = (array) $actions->foo;
    918                 $this->assertEquals( $expected, array_values( wp_list_pluck( $foo_actions, 'key' ) ) );
    919 
    920                 buddypress()->activity->actions = $old_actions;
    921         }
    922872
    923873        /**
Note: See TracChangeset for help on using the changeset viewer.