Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /**
- * Invites a friend to join a group via a POST request.
- *
- * @since BuddyPress (1.2)
- * @todo Audit return types
- */
- function bp_legacy_theme_ajax_invite_user() {
- // Bail if not a POST action
- if ( 'POST' !== strtoupper( $_SERVER['REQUEST_METHOD'] ) )
- return;
- check_ajax_referer( 'groups_invite_uninvite_user' );
- if ( ! $_POST['friend_id'] || ! $_POST['friend_action'] || ! $_POST['group_id'] )
- return;
- if ( ! bp_groups_user_can_send_invites( $_POST['group_id'] ) )
- return;
- if ( ! friends_check_friendship( bp_loggedin_user_id(), $_POST['friend_id'] ) )
- return;
- $group_id = (int) $_POST['group_id'];
- $friend_id = (int) $_POST['friend_id'];
- if ( 'invite' == $_POST['friend_action'] ) {
- $group = groups_get_group( $group_id );
- // Users who have previously requested membership do not need
- // another invitation created for them
- if ( BP_Groups_Member::check_for_membership_request( $friend_id, $group_id ) ) {
- $user_status = 'is_pending';
- // Create the user invitation
- } elseif ( groups_invite_user( array( 'user_id' => $friend_id, 'group_id' => $group_id ) ) ) {
- $user_status = 'is_invited';
- // Miscellaneous failure
- } else {
- return;
- }
- $user = new BP_Core_User( $_POST['friend_id'] );
- echo '<li id="uid-' . esc_attr( $user->id ) . '">';
- echo $user->avatar_thumb;
- echo '<h4>' . $user->user_link . '</h4>';
- echo '<span class="activity">' . esc_attr( $user->last_active ) . '</span>';
- echo '<div class="action">
- <a class="button remove" href="' . wp_nonce_url( bp_loggedin_user_domain() . bp_get_groups_slug() . '/' . $_POST['group_id'] . '/invites/remove/' . $user->id, 'groups_invite_uninvite_user' ) . '" id="uid-' . esc_attr( $user->id ) . '">' . __( 'Remove Invite', 'buddypress' ) . '</a>
- </div>';
- if ( 'is_pending' == $user_status ) {
- echo '<p class="description">' . sprintf( __( '%s has previously requested to join this group. Sending an invitation will automatically add the member to the group.', 'buddypress' ), $user->user_link ) . '</p>';
- }
- echo '</li>';
- exit;
- } elseif ( 'uninvite' == $_POST['friend_action'] ) {
- // Users who have previously requested membership should not
- // have their requests deleted on the "uninvite" action
- if ( BP_Groups_Member::check_for_membership_request( $friend_id, $group_id ) ) {
- return;
- }
- // Remove the unsent invitation
- if ( ! groups_uninvite_user( $friend_id, $group_id ) ) {
- return;
- }
- exit;
- } else {
- return;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement