Flarum\Api\Controller\SendConfirmationEmailController::handle PHP Method

handle() public method

public handle ( Psr\Http\Message\ServerRequestInterface $request )
$request Psr\Http\Message\ServerRequestInterface
    public function handle(ServerRequestInterface $request)
    {
        $id = array_get($request->getQueryParams(), 'id');
        $actor = $request->getAttribute('actor');
        $this->assertRegistered($actor);
        if ($actor->id != $id || $actor->is_activated) {
            throw new PermissionDeniedException();
        }
        $token = EmailToken::generate($actor->email, $actor->id);
        $token->save();
        $data = ['{username}' => $actor->username, '{url}' => $this->url->toRoute('confirmEmail', ['token' => $token->id]), '{forum}' => $this->settings->get('forum_title')];
        $body = $this->translator->trans('core.email.activate_account.body', $data);
        $this->mailer->raw($body, function (Message $message) use($actor, $data) {
            $message->to($actor->email);
            $message->subject('[' . $data['{forum}'] . '] ' . $this->translator->trans('core.email.activate_account.subject'));
        });
        return new EmptyResponse();
    }
SendConfirmationEmailController