Changeset 6934
- Timestamp:
- 04/21/2013 05:22:31 PM (12 years ago)
- Location:
- trunk
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/bp-core/bp-core-classes.php
r6924 r6934 297 297 298 298 // 'user_id' - When a user id is passed, limit to the friends of the user 299 // Only parse this if no 'include' param is passed, to account for300 // friend request queries301 299 // @todo remove need for bp_is_active() check 302 if ( empty( $include ) &&! empty( $user_id ) && bp_is_active( 'friends' ) ) {300 if ( ! empty( $user_id ) && bp_is_active( 'friends' ) ) { 303 301 $friend_ids = friends_get_friend_user_ids( $user_id ); 304 302 $friend_ids = $wpdb->escape( implode( ',', (array) $friend_ids ) ); … … 307 305 $sql['where'][] = "u.{$this->uid_name} IN ({$friend_ids})"; 308 306 309 // If the user has no friends, and we're not including specific users, make sure the query returns null 310 } elseif ( empty( $include ) ) { 307 // If the user has no friends, the query should always 308 // return no users 309 } else { 311 310 $sql['where'][] = $this->no_results['where']; 312 311 } -
trunk/tests/testcases/core/classes.php
r6933 r6934 36 36 $this->assertEquals( $friend_ids, array( $u1 ) ); 37 37 } 38 39 /** 40 * @ticket 4938 41 */ 42 public function test_bp_user_query_friends_with_include() { 43 $u1 = $this->create_user(); 44 $u2 = $this->create_user(); 45 $u3 = $this->create_user(); 46 $u4 = $this->create_user(); 47 friends_add_friend( $u1, $u2, true ); 48 friends_add_friend( $u1, $u3, true ); 49 50 $q = new BP_User_Query( array( 51 'user_id' => $u1, 52 53 // Represents an independent filter passed by a plugin 54 // u4 is not a friend of u1 and should not be returned 55 'include' => array( $u2, $u4 ), 56 ) ); 57 58 $friends = is_array( $q->results ) ? array_values( $q->results ) : array(); 59 $friend_ids = wp_list_pluck( $friends, 'ID' ); 60 $this->assertEquals( $friend_ids, array( $u2 ) ); 61 } 62 63 public function test_bp_user_query_friends_with_include_but_zero_friends() { 64 $u1 = $this->create_user(); 65 $u2 = $this->create_user(); 66 $u3 = $this->create_user(); 67 $u4 = $this->create_user(); 68 69 $q = new BP_User_Query( array( 70 'user_id' => $u1, 71 72 // Represents an independent filter passed by a plugin 73 // u4 is not a friend of u1 and should not be returned 74 'include' => array( $u2, $u4 ), 75 ) ); 76 77 $friends = is_array( $q->results ) ? array_values( $q->results ) : array(); 78 $friend_ids = wp_list_pluck( $friends, 'ID' ); 79 $this->assertEquals( $friend_ids, array() ); 80 } 81 38 82 }
Note: See TracChangeset
for help on using the changeset viewer.