Flarum\Core\EmailToken::generate PHP Méthode

generate() public static méthode

Generate an email token for the specified user.
public static generate ( string $email, integer $userId ) : static
$email string
$userId integer
Résultat static
    public static function generate($email, $userId)
    {
        $token = new static();
        $token->id = str_random(40);
        $token->user_id = $userId;
        $token->email = $email;
        $token->created_at = time();
        return $token;
    }

Usage Example

 /**
  * {@inheritdoc}
  */
 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();
 }
All Usage Examples Of Flarum\Core\EmailToken::generate