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; }
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; }