/** * Double check that passed email address matches an existing invitation when registration lock bypass is on. * * @since 1.2 * * @param array $results Error results from user signup validation * @return array */ function invite_anyone_check_invitation($results) { if (!invite_anyone_is_accept_invitation_page()) { return $results; } // Check to make sure that it's actually a valid email $ia_obj = invite_anyone_get_invitations_by_invited_email($results['user_email']); if (!$ia_obj->have_posts()) { $errors = new WP_Error(); $errors->add('user_email', __("We couldn't find any invitations associated with this email address.", 'invite-anyone')); $results['errors'] = $errors; } return $results; }
/** * Mark all of an address's invitations as opt_out so that no others are sent * * @package Invite Anyone * @since {@internal Version Unknown} * * @param str $email The email address being checked */ function invite_anyone_mark_as_opt_out($email) { $invites = invite_anyone_get_invitations_by_invited_email($email); if ($invites->have_posts()) { while ($invites->have_posts()) { $invites->the_post(); $invite = new Invite_Anyone_Invitation(get_the_ID()); $invite->mark_opt_out(); } } return true; }
function invite_anyone_bypass_registration_lock() { global $bp; if ($bp->current_component != BP_REGISTER_SLUG || $bp->current_action != 'accept-invitation') { return; } if (!isset($bp->action_variables[0]) || !($email = urldecode($bp->action_variables[0]))) { return; } $options = invite_anyone_options(); if (empty($options['bypass_registration_lock']) || $options['bypass_registration_lock'] != 'yes') { return; } // Check to make sure that it's actually a valid email $ia_obj = invite_anyone_get_invitations_by_invited_email($email); if (!$ia_obj->have_posts()) { bp_core_add_message(__("We couldn't find any invitations associated with this email address.", 'bp-invite-anyone'), 'error'); return; } // This is a royal hack until there is a filter on bp_get_signup_allowed() if (is_multisite()) { if (!empty($bp->site_options['registration']) && $bp->site_options['registration'] == 'blog') { $bp->site_options['registration'] = 'all'; } else { if (!empty($bp->site_options['registration']) && $bp->site_options['registration'] == 'none') { $bp->site_options['registration'] = 'user'; } } } else { add_filter('option_users_can_register', create_function(false, 'return true;')); } }
function invite_anyone_bypass_registration_lock() { global $bp; if ($bp->current_component != BP_REGISTER_SLUG || $bp->current_action != 'accept-invitation') { return; } if (!($email = urldecode($bp->action_variables[0]))) { return; } if (!($options = get_option('invite_anyone'))) { return; } if (empty($options['bypass_registration_lock']) || $options['bypass_registration_lock'] != 'yes') { return; } if (!($invites = invite_anyone_get_invitations_by_invited_email($email))) { return; } // This is a royal hack until there is a filter on bp_get_signup_allowed() if (bp_core_is_multisite()) { if (!empty($bp->site_options['registration']) && $bp->site_options['registration'] == 'blog') { $bp->site_options['registration'] = 'all'; } else { if (!empty($bp->site_options['registration']) && $bp->site_options['registration'] == 'none') { $bp->site_options['registration'] = 'user'; } } } else { add_filter('option_users_can_register', create_function(false, 'return true;')); } }