if (!auth_has_role('invites')) {
    error_404();
}
loadlib("invite_codes");
loadlib("rfc822");
$crumb_key = 'god_generate_invite';
$GLOBALS['smarty']->assign("crumb_key", $crumb_key);
$crumb_ok = crumb_check($crumb_key);
if ($crumb_ok) {
    $email = post_str("email");
    $code = post_str("code");
    if ($code) {
        $ensure_sent = 0;
        if ($invite = invite_codes_get_by_code($code, $ensure_sent)) {
            $template = 'email_invite_user.txt';
            invite_codes_send_invite($invite, $template);
            $invite = invite_codes_get_by_code($code, $ensure_sent);
            $GLOBALS['smarty']->assign_by_ref("invite", $invite);
            $GLOBALS['smarty']->assign("invite_sent", 1);
        } else {
            $GLOBALS['error'] = "Invalid invite code";
        }
    } else {
        if (!$email) {
            $GLOBALS['error'] = "Missing email";
        } else {
            if (!rfc822_is_valid_email_address($email)) {
                $GLOBALS['error'] = "Invalid email ({$email})";
            } else {
                if ($invite = invite_codes_get_by_email($email)) {
                    $GLOBALS['smarty']->assign_by_ref("invite", $invite);
function invite_codes_invite_user($email, $more = array())
{
    $rsp = invite_codes_create($email, $more);
    if ($rsp['ok'] && isset($more['send_email'])) {
        $template = 'email_invite_code.txt';
        if (isset($more['template'])) {
            $template = $more['template'];
        }
        invite_codes_send_invite($rsp['invite'], $template);
    }
    return $rsp;
}
Example #3
0
            invite_codes_signin($invite, $redir);
            exit;
        } else {
            $GLOBALS['error']['invalid_code'] = 1;
        }
    } else {
        if ($email) {
            $email = post_str("email");
            if (!rfc822_is_valid_email_address($email)) {
                $GLOBALS['error']['invalid_email'] = 1;
            } else {
                $rsp = invite_codes_create($email);
                if ($rsp['ok']) {
                    $invite = $rsp['invite'];
                    if ($invite['sent']) {
                        invite_codes_send_invite($invite);
                        $GLOBALS['smarty']->assign("invite_resent", 1);
                    } else {
                        $rsp = invite_codes_register_invite($invite);
                    }
                }
                if (!$rsp['ok']) {
                    $GLOBALS['error']['request_failed'] = 1;
                    $GLOBALS['error']['details'] = $rsp['error'];
                }
                $GLOBALS['smarty']->assign("step", "request_ok");
            }
        } else {
        }
    }
}
function invite_codes_invite_user($email, $more = array())
{
    $rsp = invite_codes_create($email, $more);
    if ($rsp['ok'] && isset($more['send_email'])) {
        invite_codes_send_invite($rsp['invite']);
    }
    return $rsp;
}