/** * Validates a token, usually from clicking on a link in an email * * @throws \Exception */ public function validateToken() { $f3 = \Base::instance(); $token = $this->inputfilter->clean($f3->get('PARAMS.token'), 'alnum'); try { $user = \Users\Models\Users::validateLoginToken($token); \Dsc\System::addMessage('Thank you for validating your email address. You may now login.'); if (!empty($this->getIdentity()->id)) { \Dsc\System::instance()->get('auth')->logout(); } $f3->reroute('/login'); } catch (\Exception $e) { \Dsc\System::addMessage('Email validation failed. Please confirm the token and try again.', 'error'); \Dsc\System::addMessage($e->getMessage(), 'error'); if (!empty($this->getIdentity()->id)) { \Dsc\System::instance()->get('auth')->logout(); } $f3->reroute('/login/validate'); } }