public function forgotPassword(Request $request, Application $app) { $usernameOrEmail = $request->request->get('_username'); $user = new UserModel(); if (!$user->readByUsernameOrEmail($usernameOrEmail)) { $app['session']->getFlashBag()->add('errorMessage', 'User not found.'); return $this->view($request, $app, 'forgot_password'); } $identityCheck = UserCommands::checkIdentity($user->username, $user->email, $this->website); if (!$identityCheck->usernameExistsOnThisSite) { $user->siteRole[$this->website->domain] = $this->website->userDefaultSiteRole; } Communicate::sendForgotPasswordVerification($user, $this->website); $app['session']->getFlashBag()->add('infoMessage', 'Password Reset email sent for username "' . $usernameOrEmail . '"'); return $app->redirect('/auth/login'); }