1
0

A further fix for 977. create the user immediately if the policy is visitor w/o a confirmation email.

This commit is contained in:
Tim Almdal 2010-01-15 08:58:31 -08:00
parent 4309f8822c
commit b98b1391e9
2 changed files with 12 additions and 6 deletions

View File

@ -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) {

View File

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