public function handler() { access::verify_csrf(); $form = $this->_get_form(); $valid = $form->validate(); $name = $form->register_user->inputs["name"]->value; if (register::check_user_name($name)) { $form->register_user->inputs["name"]->add_error("in_use", 1); $valid = false; } if ($valid) { $pending_user = register::create_pending_request($form); $policy = module::get_var("registration", "policy"); if ($policy == "visitor") { if ($pending_user->state == 1) { $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 { $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) { site_status::warning(t("There are pending user registration. <a href=\"%url\">Review now!</a>", array("url" => html::mark_clean(url::site("admin/register")), "locale" => module::get_var("gallery", "default_locale"))), "pending_user_registrations"); message::success(t("Your registration request is awaiting administrator approval")); // added by Shad Laws, v2 if (module::get_var("registration", "admin_notify") == 1) { register::send_admin_notify($pending_user); } } else { register::send_confirmation($pending_user); message::success(t("A confirmation email has been sent to your email address.")); } } json::reply(array("result" => "success")); } else { json::reply(array("result" => "error", "html" => (string) $form)); } }