Esempio n. 1
0
/**
 * 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;
}
Esempio n. 2
0
/**
 * 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;
}
Esempio n. 3
0
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;'));
    }
}
Esempio n. 4
0
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;'));
    }
}