/** * prepareExecute * * @return void */ protected function prepareExecute() { parent::prepareExecute(); $this->view['email'] = $this->input->getEmail('email'); $this->view['token'] = $this->input->get('token'); // Check email and token $user = User::get(array('email' => $this->view['email'])); if ($user->isNull()) { $this->backToConfirm(Translator::translate($this->langPrefix . 'user.not.found')); return; } if (!UserHelper::verifyPassword($this->view['token'], $user->reset_token)) { $this->backToConfirm('Invalid Token'); return; } }
/** * authenticate * * @param Credential $credential * * @return integer */ public function authenticate(Credential $credential) { $loginName = $this->warder->getLoginName(); if (!$credential->{$loginName} || !$credential->password) { $this->status = Authentication::EMPTY_CREDENTIAL; return false; } /** @var UserData $user */ $user = User::get(array($loginName => $credential->{$loginName})); if ($user->isNull()) { $this->status = Authentication::USER_NOT_FOUND; return false; } if (!UserHelper::verifyPassword($credential->password, $user->password)) { $this->status = Authentication::INVALID_PASSWORD; return false; } $credential->bind($user); $this->status = Authentication::SUCCESS; return true; }
/** * doSave * * @param DataInterface $data * * @return bool * * @throws ValidateFailException */ protected function doSave(DataInterface $data) { $user = User::get(['email' => $this->data['email']]); if (!UserHelper::verifyPassword($this->data['token'], $user->activation)) { throw new ValidateFailException(Translator::translate($this->langPrefix . 'message.activate.fail')); } $user->activation = ''; $user->blocked = 0; User::save($user); return true; }