protected function action() { $token = $this->request->tokenRepository->getByHash($this->request->hash); $user = $this->request->usersRepository->get($token->id->getValue()); $password = Password::generatePassword(); $user->password = $password; $this->request->usersRepository->update($user); $this->request->tokenRepository->delete($token); // $parseData = ['user' => $user->getParseData(), 'password' => $password]; $subject = UParser::parsePHPCode($this->request->subjectTemplate, $parseData); $content = UParser::parsePHPCode($this->request->emailTemplate, $parseData); $this->request->mailer->send([$user->email->getValue()], $subject, $content); $this->request->tokenRepository->delete($token); }