post('username'); $password = $this->post('password'); /* @var User $user */ $user = $this->get('user'); /* @var \Aura\Session\Session $session */ $session = $this->get('session'); $segment = $session->getSegment('main'); $loggedUser = $user->login($username, $password); if ($loggedUser === null) { $segment->setFlash("message", "Login failed, username or password are incorrect"); $segment->setFlash('username', $username); return $this->redirect('/login'); } $email = $loggedUser->getEmailAddressRelatedByEmail(); if ($email !== null || !$email->isVerified()) { $segment->setFlash("message", "Please verify your email before logging in"); $segment->setFlash('username', $username); return $this->redirect('/login'); } $segment->set('userId', $loggedUser->getId()); $afterLogin = $segment->get('afterLogin'); $segment->set('afterLogin', null); if ($afterLogin !== null) { return $this->redirect($afterLogin); } return $this->redirect('/panel'); } }