From b98b1391e90fc2070ec54e78494d6de2aad8443f Mon Sep 17 00:00:00 2001 From: Tim Almdal Date: Fri, 15 Jan 2010 08:58:31 -0800 Subject: [PATCH] A further fix for 977. create the user immediately if the policy is visitor w/o a confirmation email. --- modules/register/controllers/register.php | 4 ++-- modules/register/helpers/register.php | 14 ++++++++++---- 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/modules/register/controllers/register.php b/modules/register/controllers/register.php index 66d420c6..ec50d646 100755 --- a/modules/register/controllers/register.php +++ b/modules/register/controllers/register.php @@ -37,13 +37,13 @@ class register_Controller extends Controller { $policy = module::get_var("registration", "policy"); if ($policy == "visitor") { if ($pending_user->state == 1) { - Session::instance()->set("registration_first_usage"); $user = register::create_new_user($pending_user->id); + Session::instance()->set("registration_first_usage"); auth::login($user); Session::instance()->set("registration_first_usage", true); $pending_user->delete(); } else { - register::send_confirmation($pending_user); + $user = register::create_new_user($pending_user->id, true); message::success(t("A confirmation email has been sent to your email address.")); } } else if ($pending_user->state == 1) { diff --git a/modules/register/helpers/register.php b/modules/register/helpers/register.php index 159f3237..d46b381c 100644 --- a/modules/register/helpers/register.php +++ b/modules/register/helpers/register.php @@ -21,8 +21,13 @@ class register_Core { private static $_states; static function format_registration_state($state) { - if (empty(self::$_state)) { - self::$_states = array(t("Unconfirmed"), t("Confirmed"), t("Activated")); + if (empty(self::$_states)) { + $policy = module::get_var("registration", "policy"); + $email_verification = module::get_var("registration", "email_verification"); + $pending = $policy == "admin_only" || ($policy == "admin_approval" && !$email_verification); + self::$_states = array(t("Unconfirmed"), + $pending ? t("Pending") : t("Confirmed"), + t("Activated")); } return self::$_states[$state]; } @@ -37,10 +42,11 @@ class register_Core { return $user->loaded(); } - static function send_user_created_confirmation($user) { + static function send_user_created_confirmation($user, $requires_first=false) { $message = new View("register_welcome.html"); $message->user = $user; - $message->site_url = url::abs_site("register/first/{$user->hash}"); + $message->site_url = $requires_first ? url::abs_site("register/first/{$user->hash}") : + url::abs_site(""); self::_sendemail($user->email, t("Your userid has been created"), $message); }