/**
* Validate and create account.
*/
public function createAction()
{
// Validate user
$user = new User($this->userParams());
// Check for errors
if ($user->validate()) {
$user->save();
// Is email validation turned on?
if (setting('email_validation')) {
// Insert validation row
$activationCode = random_hash();
$this->db->insert(PREFIX . 'user_activation_codes', ['user_id' => $user->id, 'activation_code' => $activationCode, 'type' => 'email_validation']);
// Send notification and render login form
Notification::accountActivation($user, $activationCode)->send();
return $this->render("sessions/new.phtml", ['activationRequired' => true]);
}
return $this->redirectTo('session_new');
} else {
$this->title($this->translate('register'));
return $this->render('users/new.phtml', ['user' => $user]);
}
}