diff options
Diffstat (limited to 'app/Http/Controllers/Auth/ForgotPasswordController.php')
| -rw-r--r-- | app/Http/Controllers/Auth/ForgotPasswordController.php | 130 |
1 files changed, 67 insertions, 63 deletions
diff --git a/app/Http/Controllers/Auth/ForgotPasswordController.php b/app/Http/Controllers/Auth/ForgotPasswordController.php index 9fd1e7e060..b41542311d 100644 --- a/app/Http/Controllers/Auth/ForgotPasswordController.php +++ b/app/Http/Controllers/Auth/ForgotPasswordController.php @@ -31,81 +31,85 @@ use Symfony\Component\HttpFoundation\Response; /** * Controller for requesting password resets. */ -class ForgotPasswordController extends AbstractBaseController { - /** - * Show a password reset page. - * - * @param Request $request - * - * @return Response - */ - public function forgotPasswordPage(Request $request): Response { - $title = I18N::translate('Request a new password'); +class ForgotPasswordController extends AbstractBaseController +{ + /** + * Show a password reset page. + * + * @param Request $request + * + * @return Response + */ + public function forgotPasswordPage(Request $request): Response + { + $title = I18N::translate('Request a new password'); - return $this->viewResponse('forgot-password-page', [ - 'title' => $title, - ]); - } + return $this->viewResponse('forgot-password-page', [ + 'title' => $title, + ]); + } - /** - * Send a password reset email. - * - * @param Request $request - * - * @return RedirectResponse - */ - public function forgotPasswordAction(Request $request): RedirectResponse { - /** @var Tree $tree */ - $tree = $request->attributes->get('tree'); + /** + * Send a password reset email. + * + * @param Request $request + * + * @return RedirectResponse + */ + public function forgotPasswordAction(Request $request): RedirectResponse + { + /** @var Tree $tree */ + $tree = $request->attributes->get('tree'); - $identifier = $request->get('identifier'); + $identifier = $request->get('identifier'); - $user = User::findByIdentifier($identifier); + $user = User::findByIdentifier($identifier); - if ($user !== null) { - $password = $this->createNewPassword(); - $user->setPassword($password); + if ($user !== null) { + $password = $this->createNewPassword(); + $user->setPassword($password); - Log::addAuthenticationLog('Password request was sent to user: ' . $user->getUserName()); + Log::addAuthenticationLog('Password request was sent to user: ' . $user->getUserName()); - $sender = new User((object) [ - 'user_id' => null, - 'user_name' => '', - 'real_name' => $tree->getTitle(), - 'email' => $tree->getPreference('WEBTREES_EMAIL'), - ]); + $sender = new User((object)[ + 'user_id' => null, + 'user_name' => '', + 'real_name' => $tree->getTitle(), + 'email' => $tree->getPreference('WEBTREES_EMAIL'), + ]); - Mail::send($sender, $user, $sender, I18N::translate('Lost password request'), view('emails/password-reset-text', [ - 'user' => $user, - 'new_password' => $password, - ]), view('emails/password-reset-html', [ - 'user' => $user, - 'new_password' => $password, - ])); + Mail::send($sender, $user, $sender, I18N::translate('Lost password request'), view('emails/password-reset-text', [ + 'user' => $user, + 'new_password' => $password, + ]), view('emails/password-reset-html', [ + 'user' => $user, + 'new_password' => $password, + ])); - FlashMessages::addMessage(I18N::translate('A new password has been created and emailed to %s. You can change this password after you sign in.', e($identifier)), 'success'); + FlashMessages::addMessage(I18N::translate('A new password has been created and emailed to %s. You can change this password after you sign in.', e($identifier)), 'success'); - return new RedirectResponse(route('login', ['username' => $user->getUserName()])); - } else { - FlashMessages::addMessage(I18N::translate('There is no account with the username or email ā%sā.', e($identifier)), 'danger'); + return new RedirectResponse(route('login', ['username' => $user->getUserName()])); + } else { + FlashMessages::addMessage(I18N::translate('There is no account with the username or email ā%sā.', e($identifier)), 'danger'); - return new RedirectResponse(route('forgot-password')); - } - } + return new RedirectResponse(route('forgot-password')); + } + } - /** - * @return string - */ - private function createNewPassword(): string { - $passchars = 'abcdefghijklmnopqrstuvqxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'; - $password = ''; - $max = strlen($passchars) - 1; + /** + * @return string + */ + private function createNewPassword(): string + { + $passchars = 'abcdefghijklmnopqrstuvqxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'; + $password = ''; + $max = strlen($passchars) - 1; - for ($i = 0; $i < 8; $i++) { - $index = rand(0, $max); - $password .= $passchars{$index}; - } + for ($i = 0; $i < 8; $i++) { + $index = rand(0, $max); + $password .= $passchars{$index}; + } - return $password; - } + return $password; + } } |
