HEX
Server: Apache/2
System: Linux s01 6.1.0-34-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.135-1 (2025-04-25) x86_64
User: beestg (1003)
PHP: 8.3.25
Disabled: exec,system,passthru,shell_exec,proc_close,proc_open,dl,popen,show_source,posix_kill,posix_mkfifo,posix_getpwuid,posix_setpgid,posix_setsid,posix_setuid,posix_setgid,posix_seteuid,posix_setegid,posix_uname
Upload Files
File: /home/beestg/public_html/wp-content/plugins/mailpoet/lib/Validator/Schema/StringSchema.php
<?php declare(strict_types = 1);

namespace MailPoet\Validator\Schema;

if (!defined('ABSPATH')) exit;


use MailPoet\Validator\Schema;

// See: https://developer.wordpress.org/rest-api/extending-the-rest-api/schema/#strings
class StringSchema extends Schema {
  protected $schema = [
    'type' => 'string',
  ];

  public function minLength(int $value): self {
    return $this->updateSchemaProperty('minLength', $value);
  }

  public function maxLength(int $value): self {
    return $this->updateSchemaProperty('maxLength', $value);
  }

  /**
   * Parameter $pattern is a regular expression without leading/trailing delimiters.
   * See: https://developer.wordpress.org/rest-api/extending-the-rest-api/schema/#pattern
   */
  public function pattern(string $pattern): self {
    $this->validatePattern($pattern);
    return $this->updateSchemaProperty('pattern', $pattern);
  }

  public function formatDateTime(): self {
    return $this->updateSchemaProperty('format', 'date-time');
  }

  public function formatEmail(): self {
    return $this->updateSchemaProperty('format', 'email');
  }

  public function formatHexColor(): self {
    return $this->updateSchemaProperty('format', 'hex-color');
  }

  public function formatIp(): self {
    return $this->updateSchemaProperty('format', 'ip');
  }

  public function formatUri(): self {
    return $this->updateSchemaProperty('format', 'uri');
  }

  public function formatUuid(): self {
    return $this->updateSchemaProperty('format', 'uuid');
  }
}