Skip to:
Content

BuddyPress.org

Changeset 6941


Ignore:
Timestamp:
04/22/2013 11:31:17 PM (12 years ago)
Author:
boonebgorges
Message:

In bp_has_members(), only auto-set user_id if looking at a user friends page

Previously, the 'user_id' param was being pre-filled anytime you were looking
at a user page. As a result, it was impossible to do certain kinds of query
logic while looking at friends pages.

Adds unit tests for the change.

Fixes #4938

Location:
trunk
Files:
1 added
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/bp-members/bp-members-template.php

    r6924 r6941  
    276276
    277277    // User filtering
    278     if ( bp_displayed_user_id() )
     278    if ( bp_is_user_friends() && ! bp_is_user_friend_requests() ) {
    279279        $user_id = bp_displayed_user_id();
     280    }
    280281
    281282    // type: active ( default ) | random | newest | popular | online | alphabetical
  • trunk/tests/testcases/core/classes.php

    r6939 r6941  
    7979        $this->assertEquals( $friend_ids, array() );
    8080    }
    81 
    82     public function test_bp_user_query_include_on_user_page() {
    83         $u1 = $this->create_user();
    84         $u2 = $this->create_user();
    85 
    86         $q = new BP_User_Query( array(
    87             // 'user_id' parameter is passed to emulate a displayed user page
    88             // @see https://buddypress.trac.wordpress.org/browser/tags/1.7/bp-members/bp-members-template.php#L277
    89             'user_id' => $u1,
    90 
    91             // Get all user IDs; we want to return just these IDs
    92             'include' => array( $u1, $u2 ),
    93         ) );
    94 
    95         $users = is_array( $q->results ) ? array_values( $q->results ) : array();
    96         $user_ids = wp_list_pluck( $users, 'ID' );
    97         $this->assertEquals( $user_ids, array( $u2, $u1 ) );
    98     }
    99 
    100     public function test_bp_user_query_friendship_requests() {
    101         $u1 = $this->create_user();
    102         $u2 = $this->create_user();
    103 
    104         friends_add_friend( $u1, $u2 );
    105 
    106         // emulate bp_has_members( 'type=alphabetical&include=' . bp_get_friendship_requests() )
    107         $q = new BP_User_Query( array(
    108             // 'user_id' parameter is passed to emulate a displayed user page
    109             // @see https://buddypress.trac.wordpress.org/browser/tags/1.7/bp-members/bp-members-template.php#L277
    110             'user_id' => $u2,
    111 
    112             // get friendship requests for $u2
    113             'include' => bp_get_friendship_requests( $u2 ),
    114         ) );
    115 
    116         $requests = is_array( $q->results ) ? array_values( $q->results ) : array();
    117         $request_ids = wp_list_pluck( $requests, 'ID' );
    118         $this->assertEquals( $request_ids, array( $u1 ) );
    119     }
    12081}
Note: See TracChangeset for help on using the changeset viewer.