PluginProbe ʕ •ᴥ•ʔ
Jetpack – WP Security, Backup, Speed, & Growth / 16.1-beta
Jetpack – WP Security, Backup, Speed, & Growth v16.1-beta
16.2-a.3 16.1.2 16.2-a.1 16.1.1 16.1 16.1-beta 16.1-beta.2 16.1-beta.3 16.1-a.5 16.1-a.3 16.0.1 16.1-a.1 16.0 16.0-beta 16.0-a.7 16.0-a.5 15.9.1 16.0-a.3 16.0-a.1 15.9 15.9-beta 15.9-a.7 15.9-a.5 15.9-a.3 15.9-a.1 15.8 15.8-beta 15.8-a.7 15.8-a.5 5.2.5 5.3.4 5.4.4 5.5.5 5.6.5 5.7.5 5.8.4 5.9.4 6.0.4 6.1 6.1.1 6.1.2 6.1.3 6.1.4 6.1.5 6.2 6.2.1 6.2.2 6.2.3 6.2.4 6.2.5 6.3 6.3.1 6.3.2 6.3.3 6.3.4 6.3.5 6.3.6 6.3.7 6.4 6.4.1 6.4.2 6.4.3 6.4.4 6.4.5 6.4.6 6.5 6.5.1 6.5.2 6.5.3 6.5.4 6.6 6.6.1 6.6.2 6.6.3 6.6.4 6.6.5 6.7 6.7.1 6.7.2 6.7.3 6.7.4 6.8 6.8.1 6.8.2 6.8.3 6.8.4 6.8.5 6.9 6.9.1 6.9.2 6.9.3 6.9.4 7.0 7.0.1 7.0.2 7.0.3 7.0.4 7.0.5 7.1 7.1.1 7.1.2 7.1.3 7.1.4 7.1.5 7.2 7.2.1 7.2.1.1 7.2.2 7.2.3 7.2.4 7.2.5 7.3 7.3.0.1 7.3.1 7.3.1.1 7.3.2 7.3.3 7.3.4 7.3.5 7.4 7.4.1 7.4.2 7.4.3 7.4.4 7.4.5 7.5 7.5.0.1 7.5.1 7.5.2 7.5.3 7.5.4 7.5.5 7.5.6 7.5.7 7.6 7.6.1 7.6.2 7.6.3 7.6.4 7.7 7.7.1 7.7.2 7.7.3 7.7.4 7.7.5 7.7.6 7.8 7.8.1 7.8.2 7.8.3 7.8.4 7.9 7.9.1 7.9.2 7.9.3 7.9.4 8.0 8.0.1 8.0.2 8.0.3 8.1 8.1.1 8.1.2 8.1.3 8.1.4 8.2 8.2.0.1 8.2.1 8.2.2 8.2.3 8.2.4 8.2.5 8.2.6 8.3 8.3.1 8.3.2 8.3.3 8.4 8.4.1 8.4.2 8.4.3 8.4.4 8.4.5 8.5 8.5.1 8.5.2 8.5.3 8.6 8.6.1 8.6.2 8.6.3 8.6.4 8.7 8.7.0.1 8.7.1 8.7.2 8.7.3 8.7.4 8.8 8.8.1 8.8.2 8.8.3 8.8.4 8.8.5 8.9 8.9.1 8.9.2 8.9.3 8.9.4 9.0 9.0.1 9.0.2 9.0.3 9.0.4 9.0.5 9.1 9.1.1 9.1.2 9.1.3 9.2 9.2.1 9.2.2 9.2.3 9.2.4 9.3 9.3.1 9.3.2 9.3.3 9.3.4 9.3.5 9.4 9.4.1 9.4.2 9.4.3 9.4.4 9.5 9.5.1 9.5.2 9.5.3 9.5.4 9.5.5 9.6 9.6.1 9.6.2 9.6.3 9.6.4 9.7 9.7.1 9.7.2 15.7-beta.2 9.7.3 15.7.1 9.8 15.8-a.1 9.8.1 15.8-a.3 9.8.2 2.0.9 9.8.3 2.1.7 9.9 2.2.10 9.9.1 2.3.10 9.9.2 2.4.7 9.9.3 2.5.5 2.6.6 2.7.5 2.8.5 2.9.6 3.0.6 3.1.5 3.2.5 3.3.6 3.4.6 3.5.6 3.6.4 3.7.5 3.8.5 3.9.10 4.0.7 4.1.4 4.2.5 4.3.5 4.4.5 4.5.3 4.6.3 4.7.4 4.8.5 4.9.3 5.0.3 5.1.4 trunk 10.0 10.0.1 10.0.2 10.1 10.1.1 10.1.2 10.2 10.2.1 10.2.2 10.2.3 10.3 10.3.1 10.3.2 10.4 10.4.1 10.4.2 10.5 10.5.1 10.5.2 10.5.3 10.6 10.6.1 10.6.2 10.7 10.7.1 10.7.2 10.8 10.8.1 10.8.2 10.9 10.9.1 10.9.2 10.9.3 11.0 11.0.1 11.0.2 11.1 11.1.1 11.1.2 11.1.3 11.1.4 11.2 11.2.1 11.2.2 11.3 11.3.1 11.3.2 11.3.3 11.3.4 11.4 11.4.1 11.4.2 11.5 11.5.1 11.5.2 11.5.3 11.6 11.6.1 11.6.2 11.7 11.7.1 11.7.2 11.7.3 11.8 11.8.3 11.8.4 11.8.5 11.8.6 11.9 11.9.1 11.9.2 11.9.3 12.0 12.0.1 12.0.2 12.1 12.1.1 12.1.2 12.2 12.2.1 12.2.2 12.3 12.3.1 12.4 12.4.1 12.5 12.5.1 12.6 12.6.1 12.6.2 12.6.3 12.7 12.7.1 12.7.2 12.8 12.8.1 12.8.2 12.9 12.9.1 12.9.2 12.9.3 12.9.4 13.0 13.0.1 13.1 13.1.1 13.1.2 13.1.3 13.1.4 13.2 13.2.1 13.2.2 13.2.3 13.3 13.3.1 13.3.2 13.4 13.4.1 13.4.2 13.4.3 13.4.4 13.5 13.5.1 13.6 13.6.1 13.7 13.7.1 13.8 13.8.1 13.8.2 13.9 13.9.1 14.0 14.1 14.2 14.2.1 14.3 14.4 14.4.1 14.5 14.6 14.7 14.8 14.9 14.9.1 15.0 15.0.1 15.0.2 15.1 15.1.1 15.2 15.3 15.3.1 15.4 15.5 15.6 15.7 15.7-a.1 15.7-a.3 15.7-a.5 15.7-a.7 15.7-beta
jetpack / vendor / wp-php-toolkit / data-liberation / vendor-patched / symfony / polyfill-php80 / Php80.php
jetpack / vendor / wp-php-toolkit / data-liberation / vendor-patched / symfony / polyfill-php80 Last commit date
Resources 3 weeks ago LICENSE 3 weeks ago Php80.php 3 weeks ago PhpToken.php 3 weeks ago README.md 3 weeks ago bootstrap.php 3 weeks ago
Php80.php
138 lines
1 <?php
2
3 /*
4 * This file is part of the Symfony package.
5 *
6 * (c) Fabien Potencier <fabien@symfony.com>
7 *
8 * For the full copyright and license information, please view the LICENSE
9 * file that was distributed with this source code.
10 */
11
12 namespace Symfony\Polyfill\Php80;
13
14 use __PHP_Incomplete_Class;
15 use TypeError;
16
17 use function get_class;
18 use function is_array;
19 use function is_bool;
20 use function is_float;
21 use function is_int;
22 use function is_object;
23 use function is_resource;
24 use function is_string;
25 use function strlen;
26
27 use const PREG_BACKTRACK_LIMIT_ERROR;
28 use const PREG_BAD_UTF8_ERROR;
29 use const PREG_BAD_UTF8_OFFSET_ERROR;
30 use const PREG_INTERNAL_ERROR;
31 use const PREG_JIT_STACKLIMIT_ERROR;
32 use const PREG_NO_ERROR;
33 use const PREG_RECURSION_LIMIT_ERROR;
34
35 /**
36 * @author Ion Bazan <ion.bazan@gmail.com>
37 * @author Nico Oelgart <nicoswd@gmail.com>
38 * @author Nicolas Grekas <p@tchwork.com>
39 *
40 * @internal
41 */
42 final class Php80 {
43 public static function fdiv( float $dividend, float $divisor ): float {
44 return @( $dividend / $divisor );
45 }
46
47 public static function get_debug_type( $value ): string {
48 switch ( true ) {
49 case null === $value:
50 return 'null';
51 case is_bool( $value ):
52 return 'bool';
53 case is_string( $value ):
54 return 'string';
55 case is_array( $value ):
56 return 'array';
57 case is_int( $value ):
58 return 'int';
59 case is_float( $value ):
60 return 'float';
61 case is_object( $value ):
62 break;
63 case $value instanceof __PHP_Incomplete_Class:
64 return '__PHP_Incomplete_Class';
65 default:
66 if ( null === $type = @get_resource_type( $value ) ) {
67 return 'unknown';
68 }
69
70 if ( 'Unknown' === $type ) {
71 $type = 'closed';
72 }
73
74 return "resource ($type)";
75 }
76
77 $class = get_class( $value );
78
79 if ( false === strpos( $class, '@' ) ) {
80 return $class;
81 }
82
83 return ( get_parent_class( $class ) ?: key( class_implements( $class ) ) ?: 'class' ) . '@anonymous';
84 }
85
86 public static function get_resource_id( $res ): int {
87 if ( ! is_resource( $res ) && null === @get_resource_type( $res ) ) {
88 throw new TypeError( sprintf( 'Argument 1 passed to get_resource_id() must be of the type resource, %s given',
89 get_debug_type( $res ) ) );
90 }
91
92 return (int) $res;
93 }
94
95 public static function preg_last_error_msg(): string {
96 switch ( preg_last_error() ) {
97 case PREG_INTERNAL_ERROR:
98 return 'Internal error';
99 case PREG_BAD_UTF8_ERROR:
100 return 'Malformed UTF-8 characters, possibly incorrectly encoded';
101 case PREG_BAD_UTF8_OFFSET_ERROR:
102 return 'The offset did not correspond to the beginning of a valid UTF-8 code point';
103 case PREG_BACKTRACK_LIMIT_ERROR:
104 return 'Backtrack limit exhausted';
105 case PREG_RECURSION_LIMIT_ERROR:
106 return 'Recursion limit exhausted';
107 case PREG_JIT_STACKLIMIT_ERROR:
108 return 'JIT stack limit exhausted';
109 case PREG_NO_ERROR:
110 return 'No error';
111 default:
112 return 'Unknown error';
113 }
114 }
115
116 public static function str_contains( string $haystack, string $needle ): bool {
117 return '' === $needle || false !== strpos( $haystack, $needle );
118 }
119
120 public static function str_starts_with( string $haystack, string $needle ): bool {
121 return 0 === strncmp( $haystack, $needle, strlen( $needle ) );
122 }
123
124 public static function str_ends_with( string $haystack, string $needle ): bool {
125 if ( '' === $needle || $needle === $haystack ) {
126 return true;
127 }
128
129 if ( '' === $haystack ) {
130 return false;
131 }
132
133 $needleLength = strlen( $needle );
134
135 return $needleLength <= strlen( $haystack ) && 0 === substr_compare( $haystack, $needle, - $needleLength );
136 }
137 }
138