where("name", "=", $user_name) ->find(); return $user->loaded(); } static function send_user_created_confirmation($user, $requires_first=false) { $message = new View("register_welcome.html"); $message->user = $user; $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); } static function send_confirmation($user) { $message = new View("confirm_registration.html"); $message->confirm_url = url::abs_site("register/confirm/{$user->hash}"); $message->user = $user; self::_sendemail($user->email, t("User registration confirmation"), $message); } static function create_pending_request($form) { $email_verification = module::get_var("registration", "email_verification"); $user = ORM::factory("pending_user"); $user->name = $form->register_user->inputs["name"]->value; $user->full_name = $form->register_user->inputs["full_name"]->value; $user->email = $form->register_user->inputs["email"]->value; $user->url = $form->register_user->inputs["url"]->value; $user->request_date = time(); if (!$email_verification) { $user->state = 1; } $user->hash = md5(rand()); $user->save(); return $user; } static function create_new_user($id) { $user = ORM::factory("pending_user", $id); $password = md5(uniqid(mt_rand(), true)); $new_user = identity::create_user($user->name, $user->full_name, $password, $user->email); $new_user->url = $user->url; $new_user->admin = false; $new_user->guest = false; $new_user->save(); $user->hash = md5(uniqid(mt_rand(), true)); $user->state = 2; $user->save(); self::send_user_created_confirmation($user, $password); return $new_user; } private static function _sendemail($email, $subject, $message) { Sendmail::factory() ->to($email) ->subject($subject) ->header("Mime-Version", "1.0") ->header("Content-type", "text/html; charset=iso-8859-1") ->message($message->render()) ->send(); } }