diff --git a/wp-content/themes/score/lib/buddypress/functions-buddypress.php b/wp-content/themes/score/lib/buddypress/functions-buddypress.php index 7527018..9b4424f 100644 --- a/wp-content/themes/score/lib/buddypress/functions-buddypress.php +++ b/wp-content/themes/score/lib/buddypress/functions-buddypress.php @@ -543,7 +543,7 @@ function my_friends_by_default( $query_string ) { if ( !$query_string ) $query_string = ''; - + if ( $query_string == '' && $bp->current_component == BP_MEMBERS_SLUG && !strpos($query_string, 'scope=')) { $query_string .= 'type=active&action=active&user_id='.$bp->loggedin_user->id.'&scope=personal&page=1'; } @@ -552,4 +552,57 @@ function my_friends_by_default( $query_string ) { } add_filter( 'bp_dtheme_ajax_querystring', 'my_friends_by_default' ); + +function add_request_to_members( $has_members ) { + global $bp, $members_template; + + if ( empty( $has_members ) ) + return $has_members; + + $query_string = bp_ajax_querystring( 'members' ) ; + + if (bp_is_members_component() && strpos($query_string, 'scope=request') ) { + $has_members = true; + + $request = array(); + + foreach( (array)$members_template->members as $i => $member ) { + if ($member->id == bp_loggedin_user_id()) + continue; + + if ( !isset( $member->is_friend ) || null === $member->is_friend ) + continue; + else { + $friend_status = ( 0 == $member->is_friend ) ? 'pending' : 'is_friend'; + if ($friend_status == 'pending') { + $request[] = $member; + } + } + } + + // Put the members back into the global + $members_template->members = $request; + $members_template->member_count = count($request); + $members_template->total_member_count = count($request); + $members_template->pag_links = paginate_links( array( + 'base' => add_query_arg( 'upage', '%#%' ), + 'format' => '', + 'total' => ceil( (int)$members_template->total_member_count / (int)$members_template->pag_num ), + 'current' => (int) $members_template->pag_page, + 'prev_text' => _x( '←', 'Member pagination previous text', 'buddypress' ), + 'next_text' => _x( '→', 'Member pagination next text', 'buddypress' ), + 'mid_size' => 1 + ) ); + + + } + + + return $has_members; +} + + +add_filter( 'bp_has_members', 'add_request_to_members' ); + + ?> \ No newline at end of file diff --git a/wp-content/themes/score/members/index.php b/wp-content/themes/score/members/index.php index b9e239b..6445419 100644 --- a/wp-content/themes/score/members/index.php +++ b/wp-content/themes/score/members/index.php @@ -42,9 +42,9 @@