You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

51 lines
1.2 KiB
PHP

<?php
/**
* Created by PhpStorm.
* User: eater
* Date: 4/2/16
* Time: 5:37 PM
*/
namespace Eater\Glim\Handler\Register;
use Eater\Glim\Handler\Main;
use Eater\Glim\Service\User;
class Action extends Main
{
public function handle()
{
$invite = $this->post('invite');
$username = $this->post('username');
$password = $this->post('password');
$email = $this->post('email');
/** @var User $user */
$user = $this->get('user');
/* @var \Aura\Session\Session $session */
$session = $this->get('session');
$segment = $session->getSegment('main');
$newUser = null;
try {
$newUser = $user->register($invite, $username, $email, $password);
} catch (\Exception $e) {
$segment->setFlash("error", $e->getMessage());
}
if ($newUser === null) {
$segment->setFlash('username', $username);
$segment->setFlash('email', $email);
$segment->setFlash('invite', $invite);
return $this->redirect('/register');
}
$segment->set('user', $newUser);
return $this->redirect('/panel');
}
}