Skip to:
Content

BuddyPress.org

Ticket #9206: 9206.1.diff

File 9206.1.diff, 1.7 KB (added by dcavins, 10 months ago)

Resolves duplicate email when accepting invite while requests are active.

  • src/bp-members/bp-members-invitations.php

    diff --git src/bp-members/bp-members-invitations.php src/bp-members/bp-members-invitations.php
    index 2559f541e..9d32c2267 100644
    function bp_members_invitations_maybe_bypass_request_approval( $send, $details ) 
    157157                )
    158158        );
    159159
    160         // If pending invitations exist, send the verification mail.
     160        // If pending invitations exist, but we're not currently accepting an invite, send the verification mail.
    161161        if ( $invites ) {
    162                 $send = true;
     162                // Is the current request actually a response to an invitation?
     163                $maybe_inv = bp_get_members_invitation_from_request();
     164
     165                // Not currently accepting a request.
     166                if ( ! $maybe_inv->id ) {
     167                        $send = true;
     168                }
    163169        }
    164170
    165171        return $send;
  • src/bp-members/bp-members-membership-requests.php

    diff --git src/bp-members/bp-members-membership-requests.php src/bp-members/bp-members-membership-requests.php
    index fd31c5f8b..e7d58210a 100644
    function bp_members_membership_requests_cancel_activation_email( $send, $user_id 
    5050         */
    5151        $send = apply_filters( 'bp_members_membership_requests_bypass_manual_approval', false, $details );
    5252
    53         // If the registration process has been interrupted, this is a new membership request.
    54         if ( ! $send ) {
     53        $invites = bp_members_invitations_get_invites(
     54                array(
     55                        'invitee_email' => $user_email,
     56                        'invite_sent'   => 'sent'
     57                )
     58        );
     59
     60        // If the registration process has been interrupted, this is a new membership request or the user was accepting an invitation and we need not send an activation email.
     61        if ( ! $send && ! $invites ) {
    5562                $signup = bp_members_get_signup_by( 'activation_key', $activation_key );
    5663
    5764                /**