friends_get_friends_invite_list( int $user_id, int $group_id )
Get a list of friends that a user can invite into this group.
Description
Excludes friends that are already in the group, and banned friends if the user is not a group admin.
Parameters
- $user_id
-
(Required) User ID whose friends to see can be invited. Default: ID of the logged-in user.
- $group_id
-
(Required) Group to check possible invitations against.
Return
(mixed) False if no friends, array of users if friends.
Source
File: bp-friends/bp-friends-functions.php
556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 | function friends_get_friends_invite_list( $user_id = 0, $group_id = 0 ) { // Default to logged in user id. if ( empty ( $user_id ) ) $user_id = bp_loggedin_user_id(); // Only group admins can invited previously banned users. $user_is_admin = (bool) groups_is_user_admin( $user_id , $group_id ); // Assume no friends. $friends = array (); /** * Filters default arguments for list of friends a user can invite into this group. * * @since BuddyPress 1.5.4 * * @param array $value Array of default parameters for invite list. */ $args = apply_filters( 'bp_friends_pre_get_invite_list' , array ( 'user_id' => $user_id , 'type' => 'alphabetical' , 'per_page' => 0 ) ); // User has friends. if ( bp_has_members( $args ) ) { /** * Loop through all friends and try to add them to the invitation list. * * Exclude friends that: * 1. are already members of the group * 2. are banned from this group if the current user is also not a * group admin. */ while ( bp_members() ) : // Load the member. bp_the_member(); // Get the user ID of the friend. $friend_user_id = bp_get_member_user_id(); // Skip friend if already in the group. if ( groups_is_user_member( $friend_user_id , $group_id ) ) continue ; // Skip friend if not group admin and user banned from group. if ( ( false === $user_is_admin ) && groups_is_user_banned( $friend_user_id , $group_id ) ) continue ; // Friend is safe, so add it to the array of possible friends. $friends [] = array ( 'id' => $friend_user_id , 'full_name' => bp_get_member_name() ); endwhile ; } // If no friends, explicitly set to false. if ( empty ( $friends ) ) $friends = false; /** * Filters the list of potential friends that can be invited to this group. * * @since BuddyPress 1.5.4 * * @param array|bool $friends Array friends available to invite or false for no friends. * @param int $user_id ID of the user checked for who they can invite. * @param int $group_id ID of the group being checked on. */ return apply_filters( 'bp_friends_get_invite_list' , $friends , $user_id , $group_id ); } |
Changelog
Version | Description |
---|---|
BuddyPress 1.0.0 | Introduced. |
Questions?
We're always happy to help with code or other questions you might have! Search our developer docs, contact support, or connect with our sales team.