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
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.