Flarum\Core\Command\RequestPasswordResetHandler::handle PHP Méthode

handle() public méthode

public handle ( RequestPasswordReset $command ) : User
$command RequestPasswordReset
Résultat Flarum\Core\User
    public function handle(RequestPasswordReset $command)
    {
        $email = $command->email;
        $validation = $this->validatorFactory->make(compact('email'), ['email' => 'required|email']);
        if ($validation->fails()) {
            throw new ValidationException($validation);
        }
        $user = $this->users->findByEmail($email);
        if (!$user) {
            throw new ModelNotFoundException();
        }
        $token = PasswordToken::generate($user->id);
        $token->save();
        $data = ['{username}' => $user->username, '{url}' => $this->url->toRoute('resetPassword', ['token' => $token->id]), '{forum}' => $this->settings->get('forum_title')];
        $body = $this->translator->trans('core.email.reset_password.body', $data);
        $this->mailer->raw($body, function (Message $message) use($user, $data) {
            $message->to($user->email);
            $message->subject('[' . $data['{forum}'] . '] ' . $this->translator->trans('core.email.reset_password.subject'));
        });
        return $user;
    }
RequestPasswordResetHandler