getFlash(); $user = $loginTokenRepo->authenticate($token); if (!$user instanceof Entity\User) { $flash->addMessage( sprintf( '%s', __('Invalid token specified.'), ), Flash::ERROR ); return $response->withRedirect($request->getRouter()->named('account:login')); } if ($request->isPost()) { $newPassword = $request->getParsedBodyParam('password'); $user->setNewPassword($newPassword); $em->persist($user); $em->flush(); $request->getAuth()->setUser($user); $loginTokenRepo->revokeForUser($user); $flash->addMessage( sprintf( '%s
%s', __('Logged in using account recovery token'), __('Your password has been updated.') ), Flash::SUCCESS ); return $response->withRedirect($request->getRouter()->named('dashboard')); } return $request->getView()->renderToResponse($response, 'frontend/account/recover'); } }