This commit is contained in:
emmymayo
2025-02-05 23:15:46 +01:00
commit 7269c99357
16995 changed files with 3389680 additions and 0 deletions
@@ -0,0 +1,91 @@
<?php
namespace MailPoetVendor\Symfony\Polyfill\Php80;
if (!defined('ABSPATH')) exit;
final class Php80
{
public static function fdiv(float $dividend, float $divisor) : float
{
return @($dividend / $divisor);
}
public static function get_debug_type($value) : string
{
switch (\true) {
case null === $value:
return 'null';
case \is_bool($value):
return 'bool';
case \is_string($value):
return 'string';
case \is_array($value):
return 'array';
case \is_int($value):
return 'int';
case \is_float($value):
return 'float';
case \is_object($value):
break;
case $value instanceof \__PHP_Incomplete_Class:
return '__PHP_Incomplete_Class';
default:
if (null === ($type = @\get_resource_type($value))) {
return 'unknown';
}
if ('Unknown' === $type) {
$type = 'closed';
}
return "resource ({$type})";
}
$class = \get_class($value);
if (\false === \strpos($class, '@')) {
return $class;
}
return ((\get_parent_class($class) ?: \key(\class_implements($class))) ?: 'class') . '@anonymous';
}
public static function get_resource_id($res) : int
{
if (!\is_resource($res) && null === @\get_resource_type($res)) {
throw new \TypeError(\sprintf('Argument 1 passed to get_resource_id() must be of the type resource, %s given', \get_debug_type($res)));
}
return (int) $res;
}
public static function preg_last_error_msg() : string
{
switch (\preg_last_error()) {
case \PREG_INTERNAL_ERROR:
return 'Internal error';
case \PREG_BAD_UTF8_ERROR:
return 'Malformed UTF-8 characters, possibly incorrectly encoded';
case \PREG_BAD_UTF8_OFFSET_ERROR:
return 'The offset did not correspond to the beginning of a valid UTF-8 code point';
case \PREG_BACKTRACK_LIMIT_ERROR:
return 'Backtrack limit exhausted';
case \PREG_RECURSION_LIMIT_ERROR:
return 'Recursion limit exhausted';
case \PREG_JIT_STACKLIMIT_ERROR:
return 'JIT stack limit exhausted';
case \PREG_NO_ERROR:
return 'No error';
default:
return 'Unknown error';
}
}
public static function str_contains(string $haystack, string $needle) : bool
{
return '' === $needle || \false !== \strpos($haystack, $needle);
}
public static function str_starts_with(string $haystack, string $needle) : bool
{
return 0 === \strncmp($haystack, $needle, \strlen($needle));
}
public static function str_ends_with(string $haystack, string $needle) : bool
{
if ('' === $needle || $needle === $haystack) {
return \true;
}
if ('' === $haystack) {
return \false;
}
$needleLength = \strlen($needle);
return $needleLength <= \strlen($haystack) && 0 === \substr_compare($haystack, $needle, -$needleLength);
}
}
@@ -0,0 +1,58 @@
<?php
namespace MailPoetVendor\Symfony\Polyfill\Php80;
if (!defined('ABSPATH')) exit;
class PhpToken implements \Stringable
{
public $id;
public $text;
public $line;
public $pos;
public function __construct(int $id, string $text, int $line = -1, int $position = -1)
{
$this->id = $id;
$this->text = $text;
$this->line = $line;
$this->pos = $position;
}
public function getTokenName() : ?string
{
if ('UNKNOWN' === ($name = \token_name($this->id))) {
$name = \strlen($this->text) > 1 || \ord($this->text) < 32 ? null : $this->text;
}
return $name;
}
public function is($kind) : bool
{
foreach ((array) $kind as $value) {
if (\in_array($value, [$this->id, $this->text], \true)) {
return \true;
}
}
return \false;
}
public function isIgnorable() : bool
{
return \in_array($this->id, [\T_WHITESPACE, \T_COMMENT, \T_DOC_COMMENT, \T_OPEN_TAG], \true);
}
public function __toString() : string
{
return (string) $this->text;
}
public static function tokenize(string $code, int $flags = 0) : array
{
$line = 1;
$position = 0;
$tokens = \token_get_all($code, $flags);
foreach ($tokens as $index => $token) {
if (\is_string($token)) {
$id = \ord($token);
$text = $token;
} else {
[$id, $text, $line] = $token;
}
$tokens[$index] = new static($id, $text, $line, $position);
$position += \strlen($text);
}
return $tokens;
}
}
@@ -0,0 +1,20 @@
<?php
namespace MailPoetVendor;
if (!defined('ABSPATH')) exit;
#[\Attribute(\Attribute::TARGET_CLASS)]
final class Attribute
{
public const TARGET_CLASS = 1;
public const TARGET_FUNCTION = 2;
public const TARGET_METHOD = 4;
public const TARGET_PROPERTY = 8;
public const TARGET_CLASS_CONSTANT = 16;
public const TARGET_PARAMETER = 32;
public const TARGET_ALL = 63;
public const IS_REPEATABLE = 64;
public $flags;
public function __construct(int $flags = self::TARGET_ALL)
{
$this->flags = $flags;
}
}
@@ -0,0 +1,8 @@
<?php
namespace MailPoetVendor;
if (!defined('ABSPATH')) exit;
if (\PHP_VERSION_ID < 80000 && \extension_loaded('tokenizer')) {
class PhpToken extends Symfony\Polyfill\Php80\PhpToken
{
}
}
@@ -0,0 +1,9 @@
<?php
namespace MailPoetVendor;
if (!defined('ABSPATH')) exit;
if (\PHP_VERSION_ID < 80000) {
interface Stringable
{
public function __toString();
}
}
@@ -0,0 +1,8 @@
<?php
namespace MailPoetVendor;
if (!defined('ABSPATH')) exit;
if (\PHP_VERSION_ID < 80000) {
class UnhandledMatchError extends \Error
{
}
}
@@ -0,0 +1,8 @@
<?php
namespace MailPoetVendor;
if (!defined('ABSPATH')) exit;
if (\PHP_VERSION_ID < 80000) {
class ValueError extends \Error
{
}
}
@@ -0,0 +1,51 @@
<?php
if (!defined('ABSPATH')) exit;
use MailPoetVendor\Symfony\Polyfill\Php80 as p;
if (\PHP_VERSION_ID >= 80000) {
return;
}
if (!\defined('FILTER_VALIDATE_BOOL') && \defined('FILTER_VALIDATE_BOOLEAN')) {
\define('FILTER_VALIDATE_BOOL', \FILTER_VALIDATE_BOOLEAN);
}
if (!\function_exists('fdiv')) {
function fdiv(float $num1, float $num2) : float
{
return p\Php80::fdiv($num1, $num2);
}
}
if (!\function_exists('preg_last_error_msg')) {
function preg_last_error_msg() : string
{
return p\Php80::preg_last_error_msg();
}
}
if (!\function_exists('str_contains')) {
function str_contains(?string $haystack, ?string $needle) : bool
{
return p\Php80::str_contains($haystack ?? '', $needle ?? '');
}
}
if (!\function_exists('str_starts_with')) {
function str_starts_with(?string $haystack, ?string $needle) : bool
{
return p\Php80::str_starts_with($haystack ?? '', $needle ?? '');
}
}
if (!\function_exists('str_ends_with')) {
function str_ends_with(?string $haystack, ?string $needle) : bool
{
return p\Php80::str_ends_with($haystack ?? '', $needle ?? '');
}
}
if (!\function_exists('get_debug_type')) {
function get_debug_type($value) : string
{
return p\Php80::get_debug_type($value);
}
}
if (!\function_exists('get_resource_id')) {
function get_resource_id($resource) : int
{
return p\Php80::get_resource_id($resource);
}
}