Changeset 3427970
- Timestamp:
- 12/26/2025 08:23:32 PM (8 weeks ago)
- Location:
- force-reinstall/trunk
- Files:
-
- 75 added
- 92 edited
-
bump-version.php (added)
-
composer.json (modified) (4 diffs)
-
docker-compose.yml (added)
-
force-reinstall.php (modified) (2 diffs)
-
readme.md (modified) (2 diffs)
-
readme.txt (modified) (2 diffs)
-
src/Views/js/admin-rating.js (modified) (1 diff)
-
tests/src/ControllerLoaderTest.php (modified) (1 diff)
-
tests/src/bootstrap.php (modified) (2 diffs)
-
vendor/autoload.php (modified) (1 diff)
-
vendor/composer/InstalledVersions.php (modified) (5 diffs)
-
vendor/composer/autoload_classmap.php (modified) (1 diff)
-
vendor/composer/autoload_real.php (modified) (2 diffs)
-
vendor/composer/autoload_static.php (modified) (4 diffs)
-
vendor/composer/installed.json (modified) (36 diffs)
-
vendor/composer/installed.php (modified) (13 diffs)
-
vendor/composer/platform_check.php (modified) (1 diff)
-
vendor/force-reinstall/classes/symfony/polyfill-php81/Resources/stubs/CURLStringFile.php (added)
-
vendor/force-reinstall/classes/symfony/polyfill-php83 (added)
-
vendor/force-reinstall/classes/symfony/polyfill-php83/Resources (added)
-
vendor/force-reinstall/classes/symfony/polyfill-php83/Resources/stubs (added)
-
vendor/force-reinstall/classes/symfony/polyfill-php83/Resources/stubs/DateError.php (added)
-
vendor/force-reinstall/classes/symfony/polyfill-php83/Resources/stubs/DateException.php (added)
-
vendor/force-reinstall/classes/symfony/polyfill-php83/Resources/stubs/DateInvalidOperationException.php (added)
-
vendor/force-reinstall/classes/symfony/polyfill-php83/Resources/stubs/DateInvalidTimeZoneException.php (added)
-
vendor/force-reinstall/classes/symfony/polyfill-php83/Resources/stubs/DateMalformedIntervalStringException.php (added)
-
vendor/force-reinstall/classes/symfony/polyfill-php83/Resources/stubs/DateMalformedPeriodStringException.php (added)
-
vendor/force-reinstall/classes/symfony/polyfill-php83/Resources/stubs/DateMalformedStringException.php (added)
-
vendor/force-reinstall/classes/symfony/polyfill-php83/Resources/stubs/DateObjectError.php (added)
-
vendor/force-reinstall/classes/symfony/polyfill-php83/Resources/stubs/DateRangeError.php (added)
-
vendor/force-reinstall/classes/symfony/polyfill-php83/Resources/stubs/Override.php (added)
-
vendor/force-reinstall/classes/symfony/polyfill-php83/Resources/stubs/SQLite3Exception.php (added)
-
vendor/force-reinstall/classes/symfony/polyfill-php84 (added)
-
vendor/force-reinstall/classes/symfony/polyfill-php84/Resources (added)
-
vendor/force-reinstall/classes/symfony/polyfill-php84/Resources/stubs (added)
-
vendor/force-reinstall/classes/symfony/polyfill-php84/Resources/stubs/Deprecated.php (added)
-
vendor/force-reinstall/classes/symfony/polyfill-php84/Resources/stubs/ReflectionConstant.php (added)
-
vendor/force-reinstall/classes/symfony/polyfill-php85 (added)
-
vendor/force-reinstall/classes/symfony/polyfill-php85/Resources (added)
-
vendor/force-reinstall/classes/symfony/polyfill-php85/Resources/stubs (added)
-
vendor/force-reinstall/classes/symfony/polyfill-php85/Resources/stubs/NoDiscard.php (added)
-
vendor/force-reinstall/psr-4/Br33f/Ga4/MeasurementProtocol/Dto/Common/ConsentProperty.php (added)
-
vendor/force-reinstall/psr-4/Br33f/Ga4/MeasurementProtocol/Dto/Common/UserAddress.php (added)
-
vendor/force-reinstall/psr-4/Br33f/Ga4/MeasurementProtocol/Dto/Common/UserData.php (added)
-
vendor/force-reinstall/psr-4/Br33f/Ga4/MeasurementProtocol/Dto/Common/UserDataItem.php (added)
-
vendor/force-reinstall/psr-4/Br33f/Ga4/MeasurementProtocol/Dto/Common/UserProperties.php (modified) (1 diff)
-
vendor/force-reinstall/psr-4/Br33f/Ga4/MeasurementProtocol/Dto/Event/AddToWishlistEvent.php (added)
-
vendor/force-reinstall/psr-4/Br33f/Ga4/MeasurementProtocol/Dto/Request/BaseRequest.php (modified) (6 diffs)
-
vendor/force-reinstall/psr-4/Br33f/Ga4/MeasurementProtocol/Dto/Response/AbstractResponse.php (modified) (1 diff)
-
vendor/force-reinstall/psr-4/Br33f/Ga4/MeasurementProtocol/Dto/Response/StreamResponse.php (added)
-
vendor/force-reinstall/psr-4/Br33f/Ga4/MeasurementProtocol/Enum/ConsentCode.php (added)
-
vendor/force-reinstall/psr-4/Br33f/Ga4/MeasurementProtocol/Exception/ValidationException.php (modified) (1 diff)
-
vendor/force-reinstall/psr-4/Br33f/Ga4/MeasurementProtocol/HttpClient.php (modified) (1 diff)
-
vendor/force-reinstall/psr-4/Br33f/Ga4/MeasurementProtocol/Service.php (modified) (12 diffs)
-
vendor/force-reinstall/psr-4/GuzzleHttp/BodySummarizer.php (modified) (2 diffs)
-
vendor/force-reinstall/psr-4/GuzzleHttp/Client.php (modified) (1 diff)
-
vendor/force-reinstall/psr-4/GuzzleHttp/Cookie/CookieJar.php (modified) (9 diffs)
-
vendor/force-reinstall/psr-4/GuzzleHttp/Cookie/CookieJarInterface.php (modified) (1 diff)
-
vendor/force-reinstall/psr-4/GuzzleHttp/Cookie/SetCookie.php (modified) (3 diffs)
-
vendor/force-reinstall/psr-4/GuzzleHttp/Exception/BadResponseException.php (modified) (1 diff)
-
vendor/force-reinstall/psr-4/GuzzleHttp/Exception/ConnectException.php (modified) (1 diff)
-
vendor/force-reinstall/psr-4/GuzzleHttp/Exception/RequestException.php (modified) (5 diffs)
-
vendor/force-reinstall/psr-4/GuzzleHttp/Handler/CurlFactory.php (modified) (14 diffs)
-
vendor/force-reinstall/psr-4/GuzzleHttp/Handler/CurlMultiHandler.php (modified) (7 diffs)
-
vendor/force-reinstall/psr-4/GuzzleHttp/Handler/MockHandler.php (modified) (4 diffs)
-
vendor/force-reinstall/psr-4/GuzzleHttp/Handler/Proxy.php (modified) (2 diffs)
-
vendor/force-reinstall/psr-4/GuzzleHttp/Handler/StreamHandler.php (modified) (5 diffs)
-
vendor/force-reinstall/psr-4/GuzzleHttp/HandlerStack.php (modified) (1 diff)
-
vendor/force-reinstall/psr-4/GuzzleHttp/Middleware.php (modified) (4 diffs)
-
vendor/force-reinstall/psr-4/GuzzleHttp/Pool.php (modified) (1 diff)
-
vendor/force-reinstall/psr-4/GuzzleHttp/PrepareBodyMiddleware.php (modified) (1 diff)
-
vendor/force-reinstall/psr-4/GuzzleHttp/Promise/Coroutine.php (modified) (1 diff)
-
vendor/force-reinstall/psr-4/GuzzleHttp/Promise/Each.php (modified) (3 diffs)
-
vendor/force-reinstall/psr-4/GuzzleHttp/Promise/EachPromise.php (modified) (3 diffs)
-
vendor/force-reinstall/psr-4/GuzzleHttp/Promise/FulfilledPromise.php (modified) (1 diff)
-
vendor/force-reinstall/psr-4/GuzzleHttp/Promise/Promise.php (modified) (2 diffs)
-
vendor/force-reinstall/psr-4/GuzzleHttp/Promise/PromiseInterface.php (modified) (1 diff)
-
vendor/force-reinstall/psr-4/GuzzleHttp/Promise/RejectedPromise.php (modified) (1 diff)
-
vendor/force-reinstall/psr-4/GuzzleHttp/Promise/RejectionException.php (modified) (1 diff)
-
vendor/force-reinstall/psr-4/GuzzleHttp/Promise/Utils.php (modified) (2 diffs)
-
vendor/force-reinstall/psr-4/GuzzleHttp/Psr7/AppendStream.php (modified) (6 diffs)
-
vendor/force-reinstall/psr-4/GuzzleHttp/Psr7/BufferStream.php (modified) (1 diff)
-
vendor/force-reinstall/psr-4/GuzzleHttp/Psr7/CachingStream.php (modified) (1 diff)
-
vendor/force-reinstall/psr-4/GuzzleHttp/Psr7/FnStream.php (modified) (7 diffs)
-
vendor/force-reinstall/psr-4/GuzzleHttp/Psr7/Header.php (modified) (2 diffs)
-
vendor/force-reinstall/psr-4/GuzzleHttp/Psr7/HttpFactory.php (modified) (1 diff)
-
vendor/force-reinstall/psr-4/GuzzleHttp/Psr7/InflateStream.php (modified) (2 diffs)
-
vendor/force-reinstall/psr-4/GuzzleHttp/Psr7/Message.php (modified) (5 diffs)
-
vendor/force-reinstall/psr-4/GuzzleHttp/Psr7/MessageTrait.php (modified) (9 diffs)
-
vendor/force-reinstall/psr-4/GuzzleHttp/Psr7/MimeType.php (modified) (20 diffs)
-
vendor/force-reinstall/psr-4/GuzzleHttp/Psr7/MultipartStream.php (modified) (8 diffs)
-
vendor/force-reinstall/psr-4/GuzzleHttp/Psr7/PumpStream.php (modified) (5 diffs)
-
vendor/force-reinstall/psr-4/GuzzleHttp/Psr7/Query.php (modified) (4 diffs)
-
vendor/force-reinstall/psr-4/GuzzleHttp/Psr7/Request.php (modified) (6 diffs)
-
vendor/force-reinstall/psr-4/GuzzleHttp/Psr7/Response.php (modified) (3 diffs)
-
vendor/force-reinstall/psr-4/GuzzleHttp/Psr7/Rfc7230.php (modified) (1 diff)
-
vendor/force-reinstall/psr-4/GuzzleHttp/Psr7/ServerRequest.php (modified) (5 diffs)
-
vendor/force-reinstall/psr-4/GuzzleHttp/Psr7/Stream.php (modified) (7 diffs)
-
vendor/force-reinstall/psr-4/GuzzleHttp/Psr7/StreamDecoratorTrait.php (modified) (5 diffs)
-
vendor/force-reinstall/psr-4/GuzzleHttp/Psr7/StreamWrapper.php (modified) (5 diffs)
-
vendor/force-reinstall/psr-4/GuzzleHttp/Psr7/UploadedFile.php (modified) (6 diffs)
-
vendor/force-reinstall/psr-4/GuzzleHttp/Psr7/Uri.php (modified) (26 diffs)
-
vendor/force-reinstall/psr-4/GuzzleHttp/Psr7/UriNormalizer.php (modified) (6 diffs)
-
vendor/force-reinstall/psr-4/GuzzleHttp/Psr7/UriResolver.php (modified) (8 diffs)
-
vendor/force-reinstall/psr-4/GuzzleHttp/Psr7/Utils.php (modified) (11 diffs)
-
vendor/force-reinstall/psr-4/GuzzleHttp/RedirectMiddleware.php (modified) (1 diff)
-
vendor/force-reinstall/psr-4/GuzzleHttp/RequestOptions.php (modified) (2 diffs)
-
vendor/force-reinstall/psr-4/GuzzleHttp/RetryMiddleware.php (modified) (2 diffs)
-
vendor/force-reinstall/psr-4/GuzzleHttp/Utils.php (modified) (4 diffs)
-
vendor/force-reinstall/psr-4/GuzzleHttp/functions.php (modified) (1 diff)
-
vendor/force-reinstall/psr-4/Psr/Http/Message/UploadedFileFactoryInterface.php (modified) (2 diffs)
-
vendor/force-reinstall/psr-4/Symfony/Polyfill/Php74/LICENSE (modified) (1 diff)
-
vendor/force-reinstall/psr-4/Symfony/Polyfill/Php74/bootstrap.php (modified) (1 diff)
-
vendor/force-reinstall/psr-4/Symfony/Polyfill/Php74/composer.json (modified) (2 diffs)
-
vendor/force-reinstall/psr-4/Symfony/Polyfill/Php80/LICENSE (modified) (1 diff)
-
vendor/force-reinstall/psr-4/Symfony/Polyfill/Php80/PhpToken.php (modified) (3 diffs)
-
vendor/force-reinstall/psr-4/Symfony/Polyfill/Php80/composer.json (modified) (2 diffs)
-
vendor/force-reinstall/psr-4/Symfony/Polyfill/Php81/LICENSE (modified) (1 diff)
-
vendor/force-reinstall/psr-4/Symfony/Polyfill/Php81/README.md (modified) (1 diff)
-
vendor/force-reinstall/psr-4/Symfony/Polyfill/Php81/Resources/stubs/CURLStringFile.php (added)
-
vendor/force-reinstall/psr-4/Symfony/Polyfill/Php81/composer.json (modified) (2 diffs)
-
vendor/force-reinstall/psr-4/Symfony/Polyfill/Php82/LICENSE (modified) (1 diff)
-
vendor/force-reinstall/psr-4/Symfony/Polyfill/Php82/Php82.php (added)
-
vendor/force-reinstall/psr-4/Symfony/Polyfill/Php82/README.md (modified) (1 diff)
-
vendor/force-reinstall/psr-4/Symfony/Polyfill/Php82/bootstrap.php (modified) (1 diff)
-
vendor/force-reinstall/psr-4/Symfony/Polyfill/Php82/composer.json (modified) (2 diffs)
-
vendor/force-reinstall/psr-4/Symfony/Polyfill/Php83 (added)
-
vendor/force-reinstall/psr-4/Symfony/Polyfill/Php83/LICENSE (added)
-
vendor/force-reinstall/psr-4/Symfony/Polyfill/Php83/Php83.php (added)
-
vendor/force-reinstall/psr-4/Symfony/Polyfill/Php83/README.md (added)
-
vendor/force-reinstall/psr-4/Symfony/Polyfill/Php83/Resources (added)
-
vendor/force-reinstall/psr-4/Symfony/Polyfill/Php83/Resources/stubs (added)
-
vendor/force-reinstall/psr-4/Symfony/Polyfill/Php83/Resources/stubs/DateError.php (added)
-
vendor/force-reinstall/psr-4/Symfony/Polyfill/Php83/Resources/stubs/DateException.php (added)
-
vendor/force-reinstall/psr-4/Symfony/Polyfill/Php83/Resources/stubs/DateInvalidOperationException.php (added)
-
vendor/force-reinstall/psr-4/Symfony/Polyfill/Php83/Resources/stubs/DateInvalidTimeZoneException.php (added)
-
vendor/force-reinstall/psr-4/Symfony/Polyfill/Php83/Resources/stubs/DateMalformedIntervalStringException.php (added)
-
vendor/force-reinstall/psr-4/Symfony/Polyfill/Php83/Resources/stubs/DateMalformedPeriodStringException.php (added)
-
vendor/force-reinstall/psr-4/Symfony/Polyfill/Php83/Resources/stubs/DateMalformedStringException.php (added)
-
vendor/force-reinstall/psr-4/Symfony/Polyfill/Php83/Resources/stubs/DateObjectError.php (added)
-
vendor/force-reinstall/psr-4/Symfony/Polyfill/Php83/Resources/stubs/DateRangeError.php (added)
-
vendor/force-reinstall/psr-4/Symfony/Polyfill/Php83/Resources/stubs/Override.php (added)
-
vendor/force-reinstall/psr-4/Symfony/Polyfill/Php83/Resources/stubs/SQLite3Exception.php (added)
-
vendor/force-reinstall/psr-4/Symfony/Polyfill/Php83/bootstrap.php (added)
-
vendor/force-reinstall/psr-4/Symfony/Polyfill/Php83/bootstrap81.php (added)
-
vendor/force-reinstall/psr-4/Symfony/Polyfill/Php83/composer.json (added)
-
vendor/force-reinstall/psr-4/Symfony/Polyfill/Php84 (added)
-
vendor/force-reinstall/psr-4/Symfony/Polyfill/Php84/LICENSE (added)
-
vendor/force-reinstall/psr-4/Symfony/Polyfill/Php84/Php84.php (added)
-
vendor/force-reinstall/psr-4/Symfony/Polyfill/Php84/README.md (added)
-
vendor/force-reinstall/psr-4/Symfony/Polyfill/Php84/Resources (added)
-
vendor/force-reinstall/psr-4/Symfony/Polyfill/Php84/Resources/stubs (added)
-
vendor/force-reinstall/psr-4/Symfony/Polyfill/Php84/Resources/stubs/Deprecated.php (added)
-
vendor/force-reinstall/psr-4/Symfony/Polyfill/Php84/Resources/stubs/ReflectionConstant.php (added)
-
vendor/force-reinstall/psr-4/Symfony/Polyfill/Php84/bootstrap.php (added)
-
vendor/force-reinstall/psr-4/Symfony/Polyfill/Php84/bootstrap82.php (added)
-
vendor/force-reinstall/psr-4/Symfony/Polyfill/Php84/composer.json (added)
-
vendor/force-reinstall/psr-4/Symfony/Polyfill/Php85 (added)
-
vendor/force-reinstall/psr-4/Symfony/Polyfill/Php85/LICENSE (added)
-
vendor/force-reinstall/psr-4/Symfony/Polyfill/Php85/Php85.php (added)
-
vendor/force-reinstall/psr-4/Symfony/Polyfill/Php85/README.md (added)
-
vendor/force-reinstall/psr-4/Symfony/Polyfill/Php85/Resources (added)
-
vendor/force-reinstall/psr-4/Symfony/Polyfill/Php85/Resources/stubs (added)
-
vendor/force-reinstall/psr-4/Symfony/Polyfill/Php85/Resources/stubs/NoDiscard.php (added)
-
vendor/force-reinstall/psr-4/Symfony/Polyfill/Php85/bootstrap.php (added)
-
vendor/force-reinstall/psr-4/Symfony/Polyfill/Php85/composer.json (added)
-
vendor/symfony/deprecation-contracts/LICENSE (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
force-reinstall/trunk/composer.json
r2924444 r3427970 1 1 { 2 2 "name": "rich4rdmuvirimi/force-reinstall", 3 "version" : "1.1.9", 3 4 "description": "Easily force a Plugin or Theme reinstall from WordPress.org", 4 5 "type": "wordpress-plugin", … … 32 33 "@phpcs", 33 34 "@test" 35 ], 36 "bump-version": [ 37 "@php bump-version.php" 34 38 ], 35 39 "phpcs": [ … … 66 70 "@composer dump-autoload", 67 71 "@php -r \"@unlink('./mozart.phar');\"" 72 ], 73 "docker:up" : [ 74 "sudo docker-compose -f docker-compose.yml up -d" 75 ], 76 "docker:down" : [ 77 "sudo docker-compose -f docker-compose.yml down" 68 78 ] 69 79 }, … … 79 89 "require": { 80 90 "php": ">=7.3", 81 "symfony/polyfill-php74": "^1.27", 82 "symfony/polyfill-php80": "^1.27", 83 "symfony/polyfill-php81": "^1.27", 84 "symfony/polyfill-php82": "^1.27", 85 "br33f/php-ga4-mp": "^0.1.3", 86 "yidas/client-ip": "^1.0", 87 "ext-json": "*" 91 "ext-json": "*", 92 "br33f/php-ga4-mp": "^0.1.4", 93 "symfony/polyfill-php74": "^1.33", 94 "symfony/polyfill-php80": "^1.33", 95 "symfony/polyfill-php81": "^1.33", 96 "symfony/polyfill-php82": "^1.33", 97 "symfony/polyfill-php83": "^1.33", 98 "symfony/polyfill-php84": "^1.33", 99 "symfony/polyfill-php85": "^1.33", 100 "yidas/client-ip": "^1.0" 88 101 }, 89 102 "require-dev": { -
force-reinstall/trunk/force-reinstall.php
r2924444 r3427970 12 12 * Plugin URI: https://github.com/richard-muvirimi/wp-plugin-force-reinstall 13 13 * Description: Easily force a Plugin or Theme reinstall from WordPress.org 14 * Version: 1.1. 814 * Version: 1.1.9 15 15 * Author: Richard Muvirimi 16 16 * Author URI: http://richard.co.zw … … 43 43 * Plugin version number 44 44 */ 45 const FORCE_REINSTALL_VERSION = '1.1. 8';45 const FORCE_REINSTALL_VERSION = '1.1.9'; 46 46 47 47 /** -
force-reinstall/trunk/readme.md
r2924444 r3427970 5 5 - **_Tags:_** plugin, theme, install, update, corrupted, fix, reinstall, redo 6 6 - **_Requires at least:_** 4.0 7 - **_Tested up to:_** 6. 28 - **_Stable tag:_** 1.1. 87 - **_Tested up to:_** 6.9 8 - **_Stable tag:_** 1.1.9 9 9 - **_License:_** GPLv2 or later 10 10 - **_License URI:_** [GPL - 2.0](http://www.gnu.org/licenses/gpl-2.0.html) … … 55 55 ## Changelog 56 56 57 **_1.1.8 _**57 **_1.1.8 - 1.1.9 _** 58 58 59 59 - Minor Optimizations -
force-reinstall/trunk/readme.txt
r2924444 r3427970 4 4 Tags: plugin, theme, install, update, corrupted, fix, reinstall, redo 5 5 Requires at least: 4.0 6 Tested up to: 6. 27 Stable tag: 1.1. 86 Tested up to: 6.9 7 Stable tag: 1.1.9 8 8 License: GPLv2 or later 9 9 License URI: [GPL - 2.0](http://www.gnu.org/licenses/gpl-2.0.html) … … 65 65 == Changelog == 66 66 67 = 1.1.8 =67 = 1.1.8 - 1.1.9 = 68 68 * Minor optimizations 69 69 -
force-reinstall/trunk/src/Views/js/admin-rating.js
r2871586 r3427970 2 2 "use strict"; 3 3 4 $(document). ready(function () {4 $(document).on("DOMContentLoaded",function () { 5 5 6 6 const pluginName = window["force_reinstall"].name; -
force-reinstall/trunk/tests/src/ControllerLoaderTest.php
r2924444 r3427970 42 42 43 43 // constants loaded 44 self::assertTrue(FORCE_REINSTALL_VERSION !== null );45 self::assertTrue(FORCE_REINSTALL_NAME !== null );46 self::assertTrue(FORCE_REINSTALL_FILE !== null );47 self::assertTrue(FORCE_REINSTALL_SLUG !== null );44 self::assertTrue(FORCE_REINSTALL_VERSION !== null, "FORCE_REINSTALL_VERSION is null"); 45 self::assertTrue(FORCE_REINSTALL_NAME !== null, "FORCE_REINSTALL_NAME is null"); 46 self::assertTrue(FORCE_REINSTALL_FILE !== null, "FORCE_REINSTALL_FILE is null"); 47 self::assertTrue(FORCE_REINSTALL_SLUG !== null, "FORCE_REINSTALL_SLUG is null"); 48 48 49 49 // assert added. 50 self::assertNotFalse(has_action('init', '__return_true') );51 self::assertNotFalse(has_filter('the_title', '__return_true') );50 self::assertNotFalse(has_action('init', '__return_true'), "init action not added"); 51 self::assertNotFalse(has_filter('the_title', '__return_true'), "the_title filter not added"); 52 52 53 53 // assert priority. 54 self::assertSame(25, has_action('init', '__return_true') );55 self::assertSame(25, has_filter('the_title', '__return_true') );54 self::assertSame(25, has_action('init', '__return_true'), "init action priority not 25"); 55 self::assertSame(25, has_filter('the_title', '__return_true'), "the_title filter priority not 25"); 56 56 } 57 57 -
force-reinstall/trunk/tests/src/bootstrap.php
r2924444 r3427970 3 3 * Phpunit bootstrap file for running tests 4 4 * 5 * phpcs:disable WordPress.VIP.RestrictedFunctions.file_get_contents_file_get_contents 6 * phpcs:disable WordPress.WP.AlternativeFunctions.file_get_contents_file_get_contents 7 * phpcs:disable WordPress.WP.AlternativeFunctions.file_system_read_file_get_contents 5 8 */ 6 9 … … 67 70 if (!function_exists('plugin_basename')) { 68 71 69 function plugin_basename(string $file) 72 function plugin_basename(string $file):string 70 73 { 71 74 return basename($file, ".php") . "/" . basename($file); -
force-reinstall/trunk/vendor/autoload.php
r2924444 r3427970 15 15 } 16 16 } 17 trigger_error( 18 $err, 19 E_USER_ERROR 20 ); 17 throw new RuntimeException($err); 21 18 } 22 19 23 20 require_once __DIR__ . '/composer/autoload_real.php'; 24 21 25 return ComposerAutoloaderInit 3520ddb1e8287a80a1ad1e8646ed1726::getLoader();22 return ComposerAutoloaderInitfce80d8a185ff490615b59cfd27afb17::getLoader(); -
force-reinstall/trunk/vendor/composer/InstalledVersions.php
r2924444 r3427970 28 28 { 29 29 /** 30 * @var string|null if set (by reflection by Composer), this should be set to the path where this class is being copied to 31 * @internal 32 */ 33 private static $selfDir = null; 34 35 /** 30 36 * @var mixed[]|null 31 37 * @psalm-var array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}|array{}|null 32 38 */ 33 39 private static $installed; 40 41 /** 42 * @var bool 43 */ 44 private static $installedIsLocalDir; 34 45 35 46 /** … … 310 321 self::$installed = $data; 311 322 self::$installedByVendor = array(); 323 324 // when using reload, we disable the duplicate protection to ensure that self::$installed data is 325 // always returned, but we cannot know whether it comes from the installed.php in __DIR__ or not, 326 // so we have to assume it does not, and that may result in duplicate data being returned when listing 327 // all installed packages for example 328 self::$installedIsLocalDir = false; 329 } 330 331 /** 332 * @return string 333 */ 334 private static function getSelfDir() 335 { 336 if (self::$selfDir === null) { 337 self::$selfDir = strtr(__DIR__, '\\', '/'); 338 } 339 340 return self::$selfDir; 312 341 } 313 342 … … 323 352 324 353 $installed = array(); 354 $copiedLocalDir = false; 325 355 326 356 if (self::$canGetVendors) { 357 $selfDir = self::getSelfDir(); 327 358 foreach (ClassLoader::getRegisteredLoaders() as $vendorDir => $loader) { 359 $vendorDir = strtr($vendorDir, '\\', '/'); 328 360 if (isset(self::$installedByVendor[$vendorDir])) { 329 361 $installed[] = self::$installedByVendor[$vendorDir]; … … 331 363 /** @var array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>} $required */ 332 364 $required = require $vendorDir.'/composer/installed.php'; 333 $installed[] = self::$installedByVendor[$vendorDir] = $required; 334 if (null === self::$installed && strtr($vendorDir.'/composer', '\\', '/') === strtr(__DIR__, '\\', '/')) { 335 self::$installed = $installed[count($installed) - 1]; 365 self::$installedByVendor[$vendorDir] = $required; 366 $installed[] = $required; 367 if (self::$installed === null && $vendorDir.'/composer' === $selfDir) { 368 self::$installed = $required; 369 self::$installedIsLocalDir = true; 336 370 } 371 } 372 if (self::$installedIsLocalDir && $vendorDir.'/composer' === $selfDir) { 373 $copiedLocalDir = true; 337 374 } 338 375 } … … 351 388 } 352 389 353 if (self::$installed !== array() ) {390 if (self::$installed !== array() && !$copiedLocalDir) { 354 391 $installed[] = self::$installed; 355 392 } -
force-reinstall/trunk/vendor/composer/autoload_classmap.php
r2872625 r3427970 10 10 'ForceReinstall_AllowDynamicProperties' => $vendorDir . '/force-reinstall/classes/symfony/polyfill-php82/Resources/stubs/AllowDynamicProperties.php', 11 11 'ForceReinstall_Attribute' => $vendorDir . '/force-reinstall/classes/symfony/polyfill-php80/Resources/stubs/Attribute.php', 12 'ForceReinstall_CURLStringFile' => $vendorDir . '/force-reinstall/classes/symfony/polyfill-php81/Resources/stubs/CURLStringFile.php', 12 13 'ForceReinstall_ClientIP' => $vendorDir . '/force-reinstall/classes/yidas/client-ip/src/ClientIP.php', 14 'ForceReinstall_DateError' => $vendorDir . '/force-reinstall/classes/symfony/polyfill-php83/Resources/stubs/DateError.php', 15 'ForceReinstall_DateException' => $vendorDir . '/force-reinstall/classes/symfony/polyfill-php83/Resources/stubs/DateException.php', 16 'ForceReinstall_DateInvalidOperationException' => $vendorDir . '/force-reinstall/classes/symfony/polyfill-php83/Resources/stubs/DateInvalidOperationException.php', 17 'ForceReinstall_DateInvalidTimeZoneException' => $vendorDir . '/force-reinstall/classes/symfony/polyfill-php83/Resources/stubs/DateInvalidTimeZoneException.php', 18 'ForceReinstall_DateMalformedIntervalStringException' => $vendorDir . '/force-reinstall/classes/symfony/polyfill-php83/Resources/stubs/DateMalformedIntervalStringException.php', 19 'ForceReinstall_DateMalformedPeriodStringException' => $vendorDir . '/force-reinstall/classes/symfony/polyfill-php83/Resources/stubs/DateMalformedPeriodStringException.php', 20 'ForceReinstall_DateMalformedStringException' => $vendorDir . '/force-reinstall/classes/symfony/polyfill-php83/Resources/stubs/DateMalformedStringException.php', 21 'ForceReinstall_DateObjectError' => $vendorDir . '/force-reinstall/classes/symfony/polyfill-php83/Resources/stubs/DateObjectError.php', 22 'ForceReinstall_DateRangeError' => $vendorDir . '/force-reinstall/classes/symfony/polyfill-php83/Resources/stubs/DateRangeError.php', 23 'ForceReinstall_Deprecated' => $vendorDir . '/force-reinstall/classes/symfony/polyfill-php84/Resources/stubs/Deprecated.php', 24 'ForceReinstall_NoDiscard' => $vendorDir . '/force-reinstall/classes/symfony/polyfill-php85/Resources/stubs/NoDiscard.php', 25 'ForceReinstall_Override' => $vendorDir . '/force-reinstall/classes/symfony/polyfill-php83/Resources/stubs/Override.php', 13 26 'ForceReinstall_PhpToken' => $vendorDir . '/force-reinstall/classes/symfony/polyfill-php80/Resources/stubs/PhpToken.php', 27 'ForceReinstall_ReflectionConstant' => $vendorDir . '/force-reinstall/classes/symfony/polyfill-php84/Resources/stubs/ReflectionConstant.php', 14 28 'ForceReinstall_ReturnTypeWillChange' => $vendorDir . '/force-reinstall/classes/symfony/polyfill-php81/Resources/stubs/ReturnTypeWillChange.php', 29 'ForceReinstall_SQLite3Exception' => $vendorDir . '/force-reinstall/classes/symfony/polyfill-php83/Resources/stubs/SQLite3Exception.php', 15 30 'ForceReinstall_SensitiveParameter' => $vendorDir . '/force-reinstall/classes/symfony/polyfill-php82/Resources/stubs/SensitiveParameter.php', 16 31 'ForceReinstall_SensitiveParameterValue' => $vendorDir . '/force-reinstall/classes/symfony/polyfill-php82/Resources/stubs/SensitiveParameterValue.php', -
force-reinstall/trunk/vendor/composer/autoload_real.php
r2924444 r3427970 3 3 // autoload_real.php @generated by Composer 4 4 5 class ComposerAutoloaderInit 3520ddb1e8287a80a1ad1e8646ed17265 class ComposerAutoloaderInitfce80d8a185ff490615b59cfd27afb17 6 6 { 7 7 private static $loader; … … 25 25 require __DIR__ . '/platform_check.php'; 26 26 27 spl_autoload_register(array('ComposerAutoloaderInit 3520ddb1e8287a80a1ad1e8646ed1726', 'loadClassLoader'), true, true);27 spl_autoload_register(array('ComposerAutoloaderInitfce80d8a185ff490615b59cfd27afb17', 'loadClassLoader'), true, true); 28 28 self::$loader = $loader = new \Composer\Autoload\ClassLoader(\dirname(__DIR__)); 29 spl_autoload_unregister(array('ComposerAutoloaderInit 3520ddb1e8287a80a1ad1e8646ed1726', 'loadClassLoader'));29 spl_autoload_unregister(array('ComposerAutoloaderInitfce80d8a185ff490615b59cfd27afb17', 'loadClassLoader')); 30 30 31 31 require __DIR__ . '/autoload_static.php'; 32 call_user_func(\Composer\Autoload\ComposerStaticInit 3520ddb1e8287a80a1ad1e8646ed1726::getInitializer($loader));32 call_user_func(\Composer\Autoload\ComposerStaticInitfce80d8a185ff490615b59cfd27afb17::getInitializer($loader)); 33 33 34 34 $loader->register(true); -
force-reinstall/trunk/vendor/composer/autoload_static.php
r2924444 r3427970 5 5 namespace Composer\Autoload; 6 6 7 class ComposerStaticInit 3520ddb1e8287a80a1ad1e8646ed17267 class ComposerStaticInitfce80d8a185ff490615b59cfd27afb17 8 8 { 9 9 public static $prefixLengthsPsr4 = array ( 10 'R' => 10 'R' => 11 11 array ( 12 12 'Rich4rdMuvirimi\\ForceReinstall\\Vendor\\' => 38, … … 16 16 17 17 public static $prefixDirsPsr4 = array ( 18 'Rich4rdMuvirimi\\ForceReinstall\\Vendor\\' => 18 'Rich4rdMuvirimi\\ForceReinstall\\Vendor\\' => 19 19 array ( 20 20 0 => __DIR__ . '/..' . '/force-reinstall/psr-4', 21 21 ), 22 'Rich4rdMuvirimi\\ForceReinstall\\' => 22 'Rich4rdMuvirimi\\ForceReinstall\\' => 23 23 array ( 24 24 0 => __DIR__ . '/../..' . '/src', … … 30 30 'ForceReinstall_AllowDynamicProperties' => __DIR__ . '/..' . '/force-reinstall/classes/symfony/polyfill-php82/Resources/stubs/AllowDynamicProperties.php', 31 31 'ForceReinstall_Attribute' => __DIR__ . '/..' . '/force-reinstall/classes/symfony/polyfill-php80/Resources/stubs/Attribute.php', 32 'ForceReinstall_CURLStringFile' => __DIR__ . '/..' . '/force-reinstall/classes/symfony/polyfill-php81/Resources/stubs/CURLStringFile.php', 32 33 'ForceReinstall_ClientIP' => __DIR__ . '/..' . '/force-reinstall/classes/yidas/client-ip/src/ClientIP.php', 34 'ForceReinstall_DateError' => __DIR__ . '/..' . '/force-reinstall/classes/symfony/polyfill-php83/Resources/stubs/DateError.php', 35 'ForceReinstall_DateException' => __DIR__ . '/..' . '/force-reinstall/classes/symfony/polyfill-php83/Resources/stubs/DateException.php', 36 'ForceReinstall_DateInvalidOperationException' => __DIR__ . '/..' . '/force-reinstall/classes/symfony/polyfill-php83/Resources/stubs/DateInvalidOperationException.php', 37 'ForceReinstall_DateInvalidTimeZoneException' => __DIR__ . '/..' . '/force-reinstall/classes/symfony/polyfill-php83/Resources/stubs/DateInvalidTimeZoneException.php', 38 'ForceReinstall_DateMalformedIntervalStringException' => __DIR__ . '/..' . '/force-reinstall/classes/symfony/polyfill-php83/Resources/stubs/DateMalformedIntervalStringException.php', 39 'ForceReinstall_DateMalformedPeriodStringException' => __DIR__ . '/..' . '/force-reinstall/classes/symfony/polyfill-php83/Resources/stubs/DateMalformedPeriodStringException.php', 40 'ForceReinstall_DateMalformedStringException' => __DIR__ . '/..' . '/force-reinstall/classes/symfony/polyfill-php83/Resources/stubs/DateMalformedStringException.php', 41 'ForceReinstall_DateObjectError' => __DIR__ . '/..' . '/force-reinstall/classes/symfony/polyfill-php83/Resources/stubs/DateObjectError.php', 42 'ForceReinstall_DateRangeError' => __DIR__ . '/..' . '/force-reinstall/classes/symfony/polyfill-php83/Resources/stubs/DateRangeError.php', 43 'ForceReinstall_Deprecated' => __DIR__ . '/..' . '/force-reinstall/classes/symfony/polyfill-php84/Resources/stubs/Deprecated.php', 44 'ForceReinstall_NoDiscard' => __DIR__ . '/..' . '/force-reinstall/classes/symfony/polyfill-php85/Resources/stubs/NoDiscard.php', 45 'ForceReinstall_Override' => __DIR__ . '/..' . '/force-reinstall/classes/symfony/polyfill-php83/Resources/stubs/Override.php', 33 46 'ForceReinstall_PhpToken' => __DIR__ . '/..' . '/force-reinstall/classes/symfony/polyfill-php80/Resources/stubs/PhpToken.php', 47 'ForceReinstall_ReflectionConstant' => __DIR__ . '/..' . '/force-reinstall/classes/symfony/polyfill-php84/Resources/stubs/ReflectionConstant.php', 34 48 'ForceReinstall_ReturnTypeWillChange' => __DIR__ . '/..' . '/force-reinstall/classes/symfony/polyfill-php81/Resources/stubs/ReturnTypeWillChange.php', 49 'ForceReinstall_SQLite3Exception' => __DIR__ . '/..' . '/force-reinstall/classes/symfony/polyfill-php83/Resources/stubs/SQLite3Exception.php', 35 50 'ForceReinstall_SensitiveParameter' => __DIR__ . '/..' . '/force-reinstall/classes/symfony/polyfill-php82/Resources/stubs/SensitiveParameter.php', 36 51 'ForceReinstall_SensitiveParameterValue' => __DIR__ . '/..' . '/force-reinstall/classes/symfony/polyfill-php82/Resources/stubs/SensitiveParameterValue.php', … … 49 64 { 50 65 return \Closure::bind(function () use ($loader) { 51 $loader->prefixLengthsPsr4 = ComposerStaticInit 3520ddb1e8287a80a1ad1e8646ed1726::$prefixLengthsPsr4;52 $loader->prefixDirsPsr4 = ComposerStaticInit 3520ddb1e8287a80a1ad1e8646ed1726::$prefixDirsPsr4;53 $loader->classMap = ComposerStaticInit 3520ddb1e8287a80a1ad1e8646ed1726::$classMap;66 $loader->prefixLengthsPsr4 = ComposerStaticInitfce80d8a185ff490615b59cfd27afb17::$prefixLengthsPsr4; 67 $loader->prefixDirsPsr4 = ComposerStaticInitfce80d8a185ff490615b59cfd27afb17::$prefixDirsPsr4; 68 $loader->classMap = ComposerStaticInitfce80d8a185ff490615b59cfd27afb17::$classMap; 54 69 55 70 }, null, ClassLoader::class); -
force-reinstall/trunk/vendor/composer/installed.json
r2924444 r3427970 3 3 { 4 4 "name": "br33f/php-ga4-mp", 5 "version": "v0.1. 3",6 "version_normalized": "0.1. 3.0",5 "version": "v0.1.6", 6 "version_normalized": "0.1.6.0", 7 7 "source": { 8 8 "type": "git", 9 9 "url": "https://github.com/br33f/php-GA4-Measurement-Protocol.git", 10 "reference": " 7fd3d60213e5955886e05a628c972b3291c0be31"11 }, 12 "dist": { 13 "type": "zip", 14 "url": "https://api.github.com/repos/br33f/php-GA4-Measurement-Protocol/zipball/ 7fd3d60213e5955886e05a628c972b3291c0be31",15 "reference": " 7fd3d60213e5955886e05a628c972b3291c0be31",10 "reference": "9df29eeeb1bbd45703d5c0f0445747e7c3105000" 11 }, 12 "dist": { 13 "type": "zip", 14 "url": "https://api.github.com/repos/br33f/php-GA4-Measurement-Protocol/zipball/9df29eeeb1bbd45703d5c0f0445747e7c3105000", 15 "reference": "9df29eeeb1bbd45703d5c0f0445747e7c3105000", 16 16 "shasum": "" 17 17 }, … … 19 19 "ext-json": "*", 20 20 "guzzlehttp/guzzle": "^6.5.5 || ^7.0.0", 21 "php": ">=7. 1"21 "php": ">=7.3" 22 22 }, 23 23 "require-dev": { … … 26 26 "phpunit/phpunit": "^9.5" 27 27 }, 28 "time": "202 3-03-20T20:12:12+00:00",28 "time": "2025-12-07T17:36:43+00:00", 29 29 "type": "library", 30 30 "installation-source": "dist", … … 47 47 "support": { 48 48 "issues": "https://github.com/br33f/php-GA4-Measurement-Protocol/issues", 49 "source": "https://github.com/br33f/php-GA4-Measurement-Protocol/tree/v0.1. 3"49 "source": "https://github.com/br33f/php-GA4-Measurement-Protocol/tree/v0.1.6" 50 50 }, 51 51 "install-path": "../br33f/php-ga4-mp" … … 53 53 { 54 54 "name": "guzzlehttp/guzzle", 55 "version": "7. 7.0",56 "version_normalized": "7. 7.0.0",55 "version": "7.10.0", 56 "version_normalized": "7.10.0.0", 57 57 "source": { 58 58 "type": "git", 59 59 "url": "https://github.com/guzzle/guzzle.git", 60 "reference": " fb7566caccf22d74d1ab270de3551f72a58399f5"61 }, 62 "dist": { 63 "type": "zip", 64 "url": "https://api.github.com/repos/guzzle/guzzle/zipball/ fb7566caccf22d74d1ab270de3551f72a58399f5",65 "reference": " fb7566caccf22d74d1ab270de3551f72a58399f5",60 "reference": "b51ac707cfa420b7bfd4e4d5e510ba8008e822b4" 61 }, 62 "dist": { 63 "type": "zip", 64 "url": "https://api.github.com/repos/guzzle/guzzle/zipball/b51ac707cfa420b7bfd4e4d5e510ba8008e822b4", 65 "reference": "b51ac707cfa420b7bfd4e4d5e510ba8008e822b4", 66 66 "shasum": "" 67 67 }, 68 68 "require": { 69 69 "ext-json": "*", 70 "guzzlehttp/promises": "^ 1.5.3 || ^2.0",71 "guzzlehttp/psr7": "^ 1.9.1 || ^2.4.5",70 "guzzlehttp/promises": "^2.3", 71 "guzzlehttp/psr7": "^2.8", 72 72 "php": "^7.2.5 || ^8.0", 73 73 "psr/http-client": "^1.0", … … 78 78 }, 79 79 "require-dev": { 80 "bamarni/composer-bin-plugin": "^1.8. 1",80 "bamarni/composer-bin-plugin": "^1.8.2", 81 81 "ext-curl": "*", 82 " php-http/client-integration-tests": "dev-master#2c025848417c1135031fdf9c728ee53d0a7ceaee as 3.0.999",82 "guzzle/client-integration-tests": "3.0.2", 83 83 "php-http/message-factory": "^1.1", 84 "phpunit/phpunit": "^8.5. 29 || ^9.5.23",84 "phpunit/phpunit": "^8.5.39 || ^9.6.20", 85 85 "psr/log": "^1.1 || ^2.0 || ^3.0" 86 86 }, … … 90 90 "psr/log": "Required for using the Log middleware" 91 91 }, 92 "time": "202 3-05-21T14:04:53+00:00",92 "time": "2025-08-23T22:36:01+00:00", 93 93 "type": "library", 94 94 "extra": { … … 162 162 "support": { 163 163 "issues": "https://github.com/guzzle/guzzle/issues", 164 "source": "https://github.com/guzzle/guzzle/tree/7. 7.0"164 "source": "https://github.com/guzzle/guzzle/tree/7.10.0" 165 165 }, 166 166 "funding": [ … … 182 182 { 183 183 "name": "guzzlehttp/promises", 184 "version": "2. 0.0",185 "version_normalized": "2. 0.0.0",184 "version": "2.3.0", 185 "version_normalized": "2.3.0.0", 186 186 "source": { 187 187 "type": "git", 188 188 "url": "https://github.com/guzzle/promises.git", 189 "reference": " 3a494dc7dc1d7d12e511890177ae2d0e6c107da6"190 }, 191 "dist": { 192 "type": "zip", 193 "url": "https://api.github.com/repos/guzzle/promises/zipball/ 3a494dc7dc1d7d12e511890177ae2d0e6c107da6",194 "reference": " 3a494dc7dc1d7d12e511890177ae2d0e6c107da6",189 "reference": "481557b130ef3790cf82b713667b43030dc9c957" 190 }, 191 "dist": { 192 "type": "zip", 193 "url": "https://api.github.com/repos/guzzle/promises/zipball/481557b130ef3790cf82b713667b43030dc9c957", 194 "reference": "481557b130ef3790cf82b713667b43030dc9c957", 195 195 "shasum": "" 196 196 }, … … 199 199 }, 200 200 "require-dev": { 201 "bamarni/composer-bin-plugin": "^1.8. 1",202 "phpunit/phpunit": "^8.5. 29 || ^9.5.23"203 }, 204 "time": "202 3-05-21T13:50:22+00:00",201 "bamarni/composer-bin-plugin": "^1.8.2", 202 "phpunit/phpunit": "^8.5.44 || ^9.6.25" 203 }, 204 "time": "2025-08-22T14:34:08+00:00", 205 205 "type": "library", 206 206 "extra": { … … 248 248 "support": { 249 249 "issues": "https://github.com/guzzle/promises/issues", 250 "source": "https://github.com/guzzle/promises/tree/2. 0.0"250 "source": "https://github.com/guzzle/promises/tree/2.3.0" 251 251 }, 252 252 "funding": [ … … 268 268 { 269 269 "name": "guzzlehttp/psr7", 270 "version": "2. 5.0",271 "version_normalized": "2. 5.0.0",270 "version": "2.8.0", 271 "version_normalized": "2.8.0.0", 272 272 "source": { 273 273 "type": "git", 274 274 "url": "https://github.com/guzzle/psr7.git", 275 "reference": " b635f279edd83fc275f822a1188157ffea568ff6"276 }, 277 "dist": { 278 "type": "zip", 279 "url": "https://api.github.com/repos/guzzle/psr7/zipball/ b635f279edd83fc275f822a1188157ffea568ff6",280 "reference": " b635f279edd83fc275f822a1188157ffea568ff6",275 "reference": "21dc724a0583619cd1652f673303492272778051" 276 }, 277 "dist": { 278 "type": "zip", 279 "url": "https://api.github.com/repos/guzzle/psr7/zipball/21dc724a0583619cd1652f673303492272778051", 280 "reference": "21dc724a0583619cd1652f673303492272778051", 281 281 "shasum": "" 282 282 }, … … 292 292 }, 293 293 "require-dev": { 294 "bamarni/composer-bin-plugin": "^1.8. 1",295 "http-interop/http-factory-tests": " ^0.9",296 "phpunit/phpunit": "^8.5. 29 || ^9.5.23"294 "bamarni/composer-bin-plugin": "^1.8.2", 295 "http-interop/http-factory-tests": "0.9.0", 296 "phpunit/phpunit": "^8.5.44 || ^9.6.25" 297 297 }, 298 298 "suggest": { 299 299 "laminas/laminas-httphandlerrunner": "Emit PSR-7 responses" 300 300 }, 301 "time": "202 3-04-17T16:11:26+00:00",301 "time": "2025-08-23T21:21:41+00:00", 302 302 "type": "library", 303 303 "extra": { … … 367 367 "support": { 368 368 "issues": "https://github.com/guzzle/psr7/issues", 369 "source": "https://github.com/guzzle/psr7/tree/2. 5.0"369 "source": "https://github.com/guzzle/psr7/tree/2.8.0" 370 370 }, 371 371 "funding": [ … … 387 387 { 388 388 "name": "psr/http-client", 389 "version": "1.0. 2",390 "version_normalized": "1.0. 2.0",389 "version": "1.0.3", 390 "version_normalized": "1.0.3.0", 391 391 "source": { 392 392 "type": "git", 393 393 "url": "https://github.com/php-fig/http-client.git", 394 "reference": " 0955afe48220520692d2d09f7ab7e0f93ffd6a31"395 }, 396 "dist": { 397 "type": "zip", 398 "url": "https://api.github.com/repos/php-fig/http-client/zipball/ 0955afe48220520692d2d09f7ab7e0f93ffd6a31",399 "reference": " 0955afe48220520692d2d09f7ab7e0f93ffd6a31",394 "reference": "bb5906edc1c324c9a05aa0873d40117941e5fa90" 395 }, 396 "dist": { 397 "type": "zip", 398 "url": "https://api.github.com/repos/php-fig/http-client/zipball/bb5906edc1c324c9a05aa0873d40117941e5fa90", 399 "reference": "bb5906edc1c324c9a05aa0873d40117941e5fa90", 400 400 "shasum": "" 401 401 }, … … 404 404 "psr/http-message": "^1.0 || ^2.0" 405 405 }, 406 "time": "2023-0 4-10T20:12:12+00:00",406 "time": "2023-09-23T14:17:50+00:00", 407 407 "type": "library", 408 408 "extra": { … … 436 436 ], 437 437 "support": { 438 "source": "https://github.com/php-fig/http-client /tree/1.0.2"438 "source": "https://github.com/php-fig/http-client" 439 439 }, 440 440 "install-path": "../psr/http-client" … … 442 442 { 443 443 "name": "psr/http-factory", 444 "version": "1. 0.2",445 "version_normalized": "1. 0.2.0",444 "version": "1.1.0", 445 "version_normalized": "1.1.0.0", 446 446 "source": { 447 447 "type": "git", 448 448 "url": "https://github.com/php-fig/http-factory.git", 449 "reference": " e616d01114759c4c489f93b099585439f795fe35"450 }, 451 "dist": { 452 "type": "zip", 453 "url": "https://api.github.com/repos/php-fig/http-factory/zipball/ e616d01114759c4c489f93b099585439f795fe35",454 "reference": " e616d01114759c4c489f93b099585439f795fe35",455 "shasum": "" 456 }, 457 "require": { 458 "php": ">=7. 0.0",449 "reference": "2b4765fddfe3b508ac62f829e852b1501d3f6e8a" 450 }, 451 "dist": { 452 "type": "zip", 453 "url": "https://api.github.com/repos/php-fig/http-factory/zipball/2b4765fddfe3b508ac62f829e852b1501d3f6e8a", 454 "reference": "2b4765fddfe3b508ac62f829e852b1501d3f6e8a", 455 "shasum": "" 456 }, 457 "require": { 458 "php": ">=7.1", 459 459 "psr/http-message": "^1.0 || ^2.0" 460 460 }, 461 "time": "202 3-04-10T20:10:41+00:00",461 "time": "2024-04-15T12:06:14+00:00", 462 462 "type": "library", 463 463 "extra": { … … 482 482 } 483 483 ], 484 "description": " Common interfaces for PSR-7 HTTP message factories",484 "description": "PSR-17: Common interfaces for PSR-7 HTTP message factories", 485 485 "keywords": [ 486 486 "factory", … … 494 494 ], 495 495 "support": { 496 "source": "https://github.com/php-fig/http-factory /tree/1.0.2"496 "source": "https://github.com/php-fig/http-factory" 497 497 }, 498 498 "install-path": "../psr/http-factory" … … 603 603 { 604 604 "name": "symfony/deprecation-contracts", 605 "version": "v2.5. 2",606 "version_normalized": "2.5. 2.0",605 "version": "v2.5.4", 606 "version_normalized": "2.5.4.0", 607 607 "source": { 608 608 "type": "git", 609 609 "url": "https://github.com/symfony/deprecation-contracts.git", 610 "reference": " e8b495ea28c1d97b5e0c121748d6f9b53d075c66"611 }, 612 "dist": { 613 "type": "zip", 614 "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/ e8b495ea28c1d97b5e0c121748d6f9b53d075c66",615 "reference": " e8b495ea28c1d97b5e0c121748d6f9b53d075c66",610 "reference": "605389f2a7e5625f273b53960dc46aeaf9c62918" 611 }, 612 "dist": { 613 "type": "zip", 614 "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/605389f2a7e5625f273b53960dc46aeaf9c62918", 615 "reference": "605389f2a7e5625f273b53960dc46aeaf9c62918", 616 616 "shasum": "" 617 617 }, … … 619 619 "php": ">=7.1" 620 620 }, 621 "time": "202 2-01-02T09:53:40+00:00",621 "time": "2024-09-25T14:11:13+00:00", 622 622 "type": "library", 623 623 "extra": { 624 "thanks": { 625 "url": "https://github.com/symfony/contracts", 626 "name": "symfony/contracts" 627 }, 624 628 "branch-alias": { 625 629 "dev-main": "2.5-dev" 626 },627 "thanks": {628 "name": "symfony/contracts",629 "url": "https://github.com/symfony/contracts"630 630 } 631 631 }, … … 653 653 "homepage": "https://symfony.com", 654 654 "support": { 655 "source": "https://github.com/symfony/deprecation-contracts/tree/v2.5. 2"655 "source": "https://github.com/symfony/deprecation-contracts/tree/v2.5.4" 656 656 }, 657 657 "funding": [ … … 673 673 { 674 674 "name": "symfony/polyfill-php74", 675 "version": "v1. 27.0",676 "version_normalized": "1. 27.0.0",675 "version": "v1.33.0", 676 "version_normalized": "1.33.0.0", 677 677 "source": { 678 678 "type": "git", 679 679 "url": "https://github.com/symfony/polyfill-php74.git", 680 "reference": " aa7f1231a1aa56d695e626043252b7be6a90c4ce"681 }, 682 "dist": { 683 "type": "zip", 684 "url": "https://api.github.com/repos/symfony/polyfill-php74/zipball/ aa7f1231a1aa56d695e626043252b7be6a90c4ce",685 "reference": " aa7f1231a1aa56d695e626043252b7be6a90c4ce",686 "shasum": "" 687 }, 688 "require": { 689 "php": ">=7. 1"690 }, 691 "time": "202 2-11-03T14:55:06+00:00",680 "reference": "9589537d05325fb5d88a20d8926823e5b827a43e" 681 }, 682 "dist": { 683 "type": "zip", 684 "url": "https://api.github.com/repos/symfony/polyfill-php74/zipball/9589537d05325fb5d88a20d8926823e5b827a43e", 685 "reference": "9589537d05325fb5d88a20d8926823e5b827a43e", 686 "shasum": "" 687 }, 688 "require": { 689 "php": ">=7.2" 690 }, 691 "time": "2024-09-09T11:45:10+00:00", 692 692 "type": "library", 693 693 "extra": { 694 "branch-alias": {695 "dev-main": "1.27-dev"696 },697 694 "thanks": { 698 " name": "symfony/polyfill",699 " url": "https://github.com/symfony/polyfill"695 "url": "https://github.com/symfony/polyfill", 696 "name": "symfony/polyfill" 700 697 } 701 698 }, … … 736 733 ], 737 734 "support": { 738 "source": "https://github.com/symfony/polyfill-php74/tree/v1. 27.0"735 "source": "https://github.com/symfony/polyfill-php74/tree/v1.33.0" 739 736 }, 740 737 "funding": [ … … 748 745 }, 749 746 { 747 "url": "https://github.com/nicolas-grekas", 748 "type": "github" 749 }, 750 { 750 751 "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", 751 752 "type": "tidelift" … … 756 757 { 757 758 "name": "symfony/polyfill-php80", 758 "version": "v1. 27.0",759 "version_normalized": "1. 27.0.0",759 "version": "v1.33.0", 760 "version_normalized": "1.33.0.0", 760 761 "source": { 761 762 "type": "git", 762 763 "url": "https://github.com/symfony/polyfill-php80.git", 763 "reference": " 7a6ff3f1959bb01aefccb463a0f2cd3d3d2fd936"764 }, 765 "dist": { 766 "type": "zip", 767 "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/ 7a6ff3f1959bb01aefccb463a0f2cd3d3d2fd936",768 "reference": " 7a6ff3f1959bb01aefccb463a0f2cd3d3d2fd936",769 "shasum": "" 770 }, 771 "require": { 772 "php": ">=7. 1"773 }, 774 "time": "202 2-11-03T14:55:06+00:00",764 "reference": "0cc9dd0f17f61d8131e7df6b84bd344899fe2608" 765 }, 766 "dist": { 767 "type": "zip", 768 "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/0cc9dd0f17f61d8131e7df6b84bd344899fe2608", 769 "reference": "0cc9dd0f17f61d8131e7df6b84bd344899fe2608", 770 "shasum": "" 771 }, 772 "require": { 773 "php": ">=7.2" 774 }, 775 "time": "2025-01-02T08:10:11+00:00", 775 776 "type": "library", 776 777 "extra": { 777 "branch-alias": {778 "dev-main": "1.27-dev"779 },780 778 "thanks": { 781 " name": "symfony/polyfill",782 " url": "https://github.com/symfony/polyfill"779 "url": "https://github.com/symfony/polyfill", 780 "name": "symfony/polyfill" 783 781 } 784 782 }, … … 822 820 ], 823 821 "support": { 824 "source": "https://github.com/symfony/polyfill-php80/tree/v1. 27.0"822 "source": "https://github.com/symfony/polyfill-php80/tree/v1.33.0" 825 823 }, 826 824 "funding": [ … … 834 832 }, 835 833 { 834 "url": "https://github.com/nicolas-grekas", 835 "type": "github" 836 }, 837 { 836 838 "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", 837 839 "type": "tidelift" … … 842 844 { 843 845 "name": "symfony/polyfill-php81", 844 "version": "v1. 27.0",845 "version_normalized": "1. 27.0.0",846 "version": "v1.33.0", 847 "version_normalized": "1.33.0.0", 846 848 "source": { 847 849 "type": "git", 848 850 "url": "https://github.com/symfony/polyfill-php81.git", 849 "reference": " 707403074c8ea6e2edaf8794b0157a0bfa52157a"850 }, 851 "dist": { 852 "type": "zip", 853 "url": "https://api.github.com/repos/symfony/polyfill-php81/zipball/ 707403074c8ea6e2edaf8794b0157a0bfa52157a",854 "reference": " 707403074c8ea6e2edaf8794b0157a0bfa52157a",855 "shasum": "" 856 }, 857 "require": { 858 "php": ">=7. 1"859 }, 860 "time": "202 2-11-03T14:55:06+00:00",851 "reference": "4a4cfc2d253c21a5ad0e53071df248ed48c6ce5c" 852 }, 853 "dist": { 854 "type": "zip", 855 "url": "https://api.github.com/repos/symfony/polyfill-php81/zipball/4a4cfc2d253c21a5ad0e53071df248ed48c6ce5c", 856 "reference": "4a4cfc2d253c21a5ad0e53071df248ed48c6ce5c", 857 "shasum": "" 858 }, 859 "require": { 860 "php": ">=7.2" 861 }, 862 "time": "2024-09-09T11:45:10+00:00", 861 863 "type": "library", 862 864 "extra": { 863 "branch-alias": {864 "dev-main": "1.27-dev"865 },866 865 "thanks": { 867 " name": "symfony/polyfill",868 " url": "https://github.com/symfony/polyfill"866 "url": "https://github.com/symfony/polyfill", 867 "name": "symfony/polyfill" 869 868 } 870 869 }, … … 904 903 ], 905 904 "support": { 906 "source": "https://github.com/symfony/polyfill-php81/tree/v1. 27.0"905 "source": "https://github.com/symfony/polyfill-php81/tree/v1.33.0" 907 906 }, 908 907 "funding": [ … … 916 915 }, 917 916 { 917 "url": "https://github.com/nicolas-grekas", 918 "type": "github" 919 }, 920 { 918 921 "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", 919 922 "type": "tidelift" … … 924 927 { 925 928 "name": "symfony/polyfill-php82", 926 "version": "v1. 27.0",927 "version_normalized": "1. 27.0.0",929 "version": "v1.33.0", 930 "version_normalized": "1.33.0.0", 928 931 "source": { 929 932 "type": "git", 930 933 "url": "https://github.com/symfony/polyfill-php82.git", 931 "reference": " 80ddf7bfa17ef7b06db4e6d007a95bf584e07b44"932 }, 933 "dist": { 934 "type": "zip", 935 "url": "https://api.github.com/repos/symfony/polyfill-php82/zipball/ 80ddf7bfa17ef7b06db4e6d007a95bf584e07b44",936 "reference": " 80ddf7bfa17ef7b06db4e6d007a95bf584e07b44",937 "shasum": "" 938 }, 939 "require": { 940 "php": ">=7. 1"941 }, 942 "time": "202 2-11-10T10:10:54+00:00",934 "reference": "5d2ed36f7734637dacc025f179698031951b1692" 935 }, 936 "dist": { 937 "type": "zip", 938 "url": "https://api.github.com/repos/symfony/polyfill-php82/zipball/5d2ed36f7734637dacc025f179698031951b1692", 939 "reference": "5d2ed36f7734637dacc025f179698031951b1692", 940 "shasum": "" 941 }, 942 "require": { 943 "php": ">=7.2" 944 }, 945 "time": "2024-09-09T11:45:10+00:00", 943 946 "type": "library", 944 947 "extra": { 945 "branch-alias": {946 "dev-main": "1.27-dev"947 },948 948 "thanks": { 949 " name": "symfony/polyfill",950 " url": "https://github.com/symfony/polyfill"949 "url": "https://github.com/symfony/polyfill", 950 "name": "symfony/polyfill" 951 951 } 952 952 }, … … 986 986 ], 987 987 "support": { 988 "source": "https://github.com/symfony/polyfill-php82/tree/v1. 27.0"988 "source": "https://github.com/symfony/polyfill-php82/tree/v1.33.0" 989 989 }, 990 990 "funding": [ … … 998 998 }, 999 999 { 1000 "url": "https://github.com/nicolas-grekas", 1001 "type": "github" 1002 }, 1003 { 1000 1004 "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", 1001 1005 "type": "tidelift" … … 1003 1007 ], 1004 1008 "install-path": "../symfony/polyfill-php82" 1009 }, 1010 { 1011 "name": "symfony/polyfill-php83", 1012 "version": "v1.33.0", 1013 "version_normalized": "1.33.0.0", 1014 "source": { 1015 "type": "git", 1016 "url": "https://github.com/symfony/polyfill-php83.git", 1017 "reference": "17f6f9a6b1735c0f163024d959f700cfbc5155e5" 1018 }, 1019 "dist": { 1020 "type": "zip", 1021 "url": "https://api.github.com/repos/symfony/polyfill-php83/zipball/17f6f9a6b1735c0f163024d959f700cfbc5155e5", 1022 "reference": "17f6f9a6b1735c0f163024d959f700cfbc5155e5", 1023 "shasum": "" 1024 }, 1025 "require": { 1026 "php": ">=7.2" 1027 }, 1028 "time": "2025-07-08T02:45:35+00:00", 1029 "type": "library", 1030 "extra": { 1031 "thanks": { 1032 "url": "https://github.com/symfony/polyfill", 1033 "name": "symfony/polyfill" 1034 } 1035 }, 1036 "installation-source": "dist", 1037 "autoload": { 1038 "files": [ 1039 "bootstrap.php" 1040 ], 1041 "psr-4": { 1042 "Symfony\\Polyfill\\Php83\\": "" 1043 }, 1044 "classmap": [ 1045 "Resources/stubs" 1046 ] 1047 }, 1048 "notification-url": "https://packagist.org/downloads/", 1049 "license": [ 1050 "MIT" 1051 ], 1052 "authors": [ 1053 { 1054 "name": "Nicolas Grekas", 1055 "email": "[email protected]" 1056 }, 1057 { 1058 "name": "Symfony Community", 1059 "homepage": "https://symfony.com/contributors" 1060 } 1061 ], 1062 "description": "Symfony polyfill backporting some PHP 8.3+ features to lower PHP versions", 1063 "homepage": "https://symfony.com", 1064 "keywords": [ 1065 "compatibility", 1066 "polyfill", 1067 "portable", 1068 "shim" 1069 ], 1070 "support": { 1071 "source": "https://github.com/symfony/polyfill-php83/tree/v1.33.0" 1072 }, 1073 "funding": [ 1074 { 1075 "url": "https://symfony.com/sponsor", 1076 "type": "custom" 1077 }, 1078 { 1079 "url": "https://github.com/fabpot", 1080 "type": "github" 1081 }, 1082 { 1083 "url": "https://github.com/nicolas-grekas", 1084 "type": "github" 1085 }, 1086 { 1087 "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", 1088 "type": "tidelift" 1089 } 1090 ], 1091 "install-path": "../symfony/polyfill-php83" 1092 }, 1093 { 1094 "name": "symfony/polyfill-php84", 1095 "version": "v1.33.0", 1096 "version_normalized": "1.33.0.0", 1097 "source": { 1098 "type": "git", 1099 "url": "https://github.com/symfony/polyfill-php84.git", 1100 "reference": "d8ced4d875142b6a7426000426b8abc631d6b191" 1101 }, 1102 "dist": { 1103 "type": "zip", 1104 "url": "https://api.github.com/repos/symfony/polyfill-php84/zipball/d8ced4d875142b6a7426000426b8abc631d6b191", 1105 "reference": "d8ced4d875142b6a7426000426b8abc631d6b191", 1106 "shasum": "" 1107 }, 1108 "require": { 1109 "php": ">=7.2" 1110 }, 1111 "time": "2025-06-24T13:30:11+00:00", 1112 "type": "library", 1113 "extra": { 1114 "thanks": { 1115 "url": "https://github.com/symfony/polyfill", 1116 "name": "symfony/polyfill" 1117 } 1118 }, 1119 "installation-source": "dist", 1120 "autoload": { 1121 "files": [ 1122 "bootstrap.php" 1123 ], 1124 "psr-4": { 1125 "Symfony\\Polyfill\\Php84\\": "" 1126 }, 1127 "classmap": [ 1128 "Resources/stubs" 1129 ] 1130 }, 1131 "notification-url": "https://packagist.org/downloads/", 1132 "license": [ 1133 "MIT" 1134 ], 1135 "authors": [ 1136 { 1137 "name": "Nicolas Grekas", 1138 "email": "[email protected]" 1139 }, 1140 { 1141 "name": "Symfony Community", 1142 "homepage": "https://symfony.com/contributors" 1143 } 1144 ], 1145 "description": "Symfony polyfill backporting some PHP 8.4+ features to lower PHP versions", 1146 "homepage": "https://symfony.com", 1147 "keywords": [ 1148 "compatibility", 1149 "polyfill", 1150 "portable", 1151 "shim" 1152 ], 1153 "support": { 1154 "source": "https://github.com/symfony/polyfill-php84/tree/v1.33.0" 1155 }, 1156 "funding": [ 1157 { 1158 "url": "https://symfony.com/sponsor", 1159 "type": "custom" 1160 }, 1161 { 1162 "url": "https://github.com/fabpot", 1163 "type": "github" 1164 }, 1165 { 1166 "url": "https://github.com/nicolas-grekas", 1167 "type": "github" 1168 }, 1169 { 1170 "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", 1171 "type": "tidelift" 1172 } 1173 ], 1174 "install-path": "../symfony/polyfill-php84" 1175 }, 1176 { 1177 "name": "symfony/polyfill-php85", 1178 "version": "v1.33.0", 1179 "version_normalized": "1.33.0.0", 1180 "source": { 1181 "type": "git", 1182 "url": "https://github.com/symfony/polyfill-php85.git", 1183 "reference": "d4e5fcd4ab3d998ab16c0db48e6cbb9a01993f91" 1184 }, 1185 "dist": { 1186 "type": "zip", 1187 "url": "https://api.github.com/repos/symfony/polyfill-php85/zipball/d4e5fcd4ab3d998ab16c0db48e6cbb9a01993f91", 1188 "reference": "d4e5fcd4ab3d998ab16c0db48e6cbb9a01993f91", 1189 "shasum": "" 1190 }, 1191 "require": { 1192 "php": ">=7.2" 1193 }, 1194 "time": "2025-06-23T16:12:55+00:00", 1195 "type": "library", 1196 "extra": { 1197 "thanks": { 1198 "url": "https://github.com/symfony/polyfill", 1199 "name": "symfony/polyfill" 1200 } 1201 }, 1202 "installation-source": "dist", 1203 "autoload": { 1204 "files": [ 1205 "bootstrap.php" 1206 ], 1207 "psr-4": { 1208 "Symfony\\Polyfill\\Php85\\": "" 1209 }, 1210 "classmap": [ 1211 "Resources/stubs" 1212 ] 1213 }, 1214 "notification-url": "https://packagist.org/downloads/", 1215 "license": [ 1216 "MIT" 1217 ], 1218 "authors": [ 1219 { 1220 "name": "Nicolas Grekas", 1221 "email": "[email protected]" 1222 }, 1223 { 1224 "name": "Symfony Community", 1225 "homepage": "https://symfony.com/contributors" 1226 } 1227 ], 1228 "description": "Symfony polyfill backporting some PHP 8.5+ features to lower PHP versions", 1229 "homepage": "https://symfony.com", 1230 "keywords": [ 1231 "compatibility", 1232 "polyfill", 1233 "portable", 1234 "shim" 1235 ], 1236 "support": { 1237 "source": "https://github.com/symfony/polyfill-php85/tree/v1.33.0" 1238 }, 1239 "funding": [ 1240 { 1241 "url": "https://symfony.com/sponsor", 1242 "type": "custom" 1243 }, 1244 { 1245 "url": "https://github.com/fabpot", 1246 "type": "github" 1247 }, 1248 { 1249 "url": "https://github.com/nicolas-grekas", 1250 "type": "github" 1251 }, 1252 { 1253 "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", 1254 "type": "tidelift" 1255 } 1256 ], 1257 "install-path": "../symfony/polyfill-php85" 1005 1258 }, 1006 1259 { -
force-reinstall/trunk/vendor/composer/installed.php
r2924444 r3427970 2 2 'root' => array( 3 3 'name' => 'rich4rdmuvirimi/force-reinstall', 4 'pretty_version' => '1. 0.0+no-version-set',5 'version' => '1. 0.0.0',6 'reference' => NULL,4 'pretty_version' => '1.1.9', 5 'version' => '1.1.9.0', 6 'reference' => null, 7 7 'type' => 'wordpress-plugin', 8 8 'install_path' => __DIR__ . '/../../', … … 12 12 'versions' => array( 13 13 'br33f/php-ga4-mp' => array( 14 'pretty_version' => 'v0.1. 3',15 'version' => '0.1. 3.0',16 'reference' => ' 7fd3d60213e5955886e05a628c972b3291c0be31',14 'pretty_version' => 'v0.1.6', 15 'version' => '0.1.6.0', 16 'reference' => '9df29eeeb1bbd45703d5c0f0445747e7c3105000', 17 17 'type' => 'library', 18 18 'install_path' => __DIR__ . '/../br33f/php-ga4-mp', … … 21 21 ), 22 22 'guzzlehttp/guzzle' => array( 23 'pretty_version' => '7. 7.0',24 'version' => '7. 7.0.0',25 'reference' => ' fb7566caccf22d74d1ab270de3551f72a58399f5',23 'pretty_version' => '7.10.0', 24 'version' => '7.10.0.0', 25 'reference' => 'b51ac707cfa420b7bfd4e4d5e510ba8008e822b4', 26 26 'type' => 'library', 27 27 'install_path' => __DIR__ . '/../guzzlehttp/guzzle', … … 30 30 ), 31 31 'guzzlehttp/promises' => array( 32 'pretty_version' => '2. 0.0',33 'version' => '2. 0.0.0',34 'reference' => ' 3a494dc7dc1d7d12e511890177ae2d0e6c107da6',32 'pretty_version' => '2.3.0', 33 'version' => '2.3.0.0', 34 'reference' => '481557b130ef3790cf82b713667b43030dc9c957', 35 35 'type' => 'library', 36 36 'install_path' => __DIR__ . '/../guzzlehttp/promises', … … 39 39 ), 40 40 'guzzlehttp/psr7' => array( 41 'pretty_version' => '2. 5.0',42 'version' => '2. 5.0.0',43 'reference' => ' b635f279edd83fc275f822a1188157ffea568ff6',41 'pretty_version' => '2.8.0', 42 'version' => '2.8.0.0', 43 'reference' => '21dc724a0583619cd1652f673303492272778051', 44 44 'type' => 'library', 45 45 'install_path' => __DIR__ . '/../guzzlehttp/psr7', … … 48 48 ), 49 49 'psr/http-client' => array( 50 'pretty_version' => '1.0. 2',51 'version' => '1.0. 2.0',52 'reference' => ' 0955afe48220520692d2d09f7ab7e0f93ffd6a31',50 'pretty_version' => '1.0.3', 51 'version' => '1.0.3.0', 52 'reference' => 'bb5906edc1c324c9a05aa0873d40117941e5fa90', 53 53 'type' => 'library', 54 54 'install_path' => __DIR__ . '/../psr/http-client', … … 63 63 ), 64 64 'psr/http-factory' => array( 65 'pretty_version' => '1. 0.2',66 'version' => '1. 0.2.0',67 'reference' => ' e616d01114759c4c489f93b099585439f795fe35',65 'pretty_version' => '1.1.0', 66 'version' => '1.1.0.0', 67 'reference' => '2b4765fddfe3b508ac62f829e852b1501d3f6e8a', 68 68 'type' => 'library', 69 69 'install_path' => __DIR__ . '/../psr/http-factory', … … 102 102 ), 103 103 'rich4rdmuvirimi/force-reinstall' => array( 104 'pretty_version' => '1. 0.0+no-version-set',105 'version' => '1. 0.0.0',106 'reference' => NULL,104 'pretty_version' => '1.1.9', 105 'version' => '1.1.9.0', 106 'reference' => null, 107 107 'type' => 'wordpress-plugin', 108 108 'install_path' => __DIR__ . '/../../', … … 111 111 ), 112 112 'symfony/deprecation-contracts' => array( 113 'pretty_version' => 'v2.5. 2',114 'version' => '2.5. 2.0',115 'reference' => ' e8b495ea28c1d97b5e0c121748d6f9b53d075c66',113 'pretty_version' => 'v2.5.4', 114 'version' => '2.5.4.0', 115 'reference' => '605389f2a7e5625f273b53960dc46aeaf9c62918', 116 116 'type' => 'library', 117 117 'install_path' => __DIR__ . '/../symfony/deprecation-contracts', … … 120 120 ), 121 121 'symfony/polyfill-php74' => array( 122 'pretty_version' => 'v1. 27.0',123 'version' => '1. 27.0.0',124 'reference' => ' aa7f1231a1aa56d695e626043252b7be6a90c4ce',122 'pretty_version' => 'v1.33.0', 123 'version' => '1.33.0.0', 124 'reference' => '9589537d05325fb5d88a20d8926823e5b827a43e', 125 125 'type' => 'library', 126 126 'install_path' => __DIR__ . '/../symfony/polyfill-php74', … … 129 129 ), 130 130 'symfony/polyfill-php80' => array( 131 'pretty_version' => 'v1. 27.0',132 'version' => '1. 27.0.0',133 'reference' => ' 7a6ff3f1959bb01aefccb463a0f2cd3d3d2fd936',131 'pretty_version' => 'v1.33.0', 132 'version' => '1.33.0.0', 133 'reference' => '0cc9dd0f17f61d8131e7df6b84bd344899fe2608', 134 134 'type' => 'library', 135 135 'install_path' => __DIR__ . '/../symfony/polyfill-php80', … … 138 138 ), 139 139 'symfony/polyfill-php81' => array( 140 'pretty_version' => 'v1. 27.0',141 'version' => '1. 27.0.0',142 'reference' => ' 707403074c8ea6e2edaf8794b0157a0bfa52157a',140 'pretty_version' => 'v1.33.0', 141 'version' => '1.33.0.0', 142 'reference' => '4a4cfc2d253c21a5ad0e53071df248ed48c6ce5c', 143 143 'type' => 'library', 144 144 'install_path' => __DIR__ . '/../symfony/polyfill-php81', … … 147 147 ), 148 148 'symfony/polyfill-php82' => array( 149 'pretty_version' => 'v1. 27.0',150 'version' => '1. 27.0.0',151 'reference' => ' 80ddf7bfa17ef7b06db4e6d007a95bf584e07b44',149 'pretty_version' => 'v1.33.0', 150 'version' => '1.33.0.0', 151 'reference' => '5d2ed36f7734637dacc025f179698031951b1692', 152 152 'type' => 'library', 153 153 'install_path' => __DIR__ . '/../symfony/polyfill-php82', 154 'aliases' => array(), 155 'dev_requirement' => false, 156 ), 157 'symfony/polyfill-php83' => array( 158 'pretty_version' => 'v1.33.0', 159 'version' => '1.33.0.0', 160 'reference' => '17f6f9a6b1735c0f163024d959f700cfbc5155e5', 161 'type' => 'library', 162 'install_path' => __DIR__ . '/../symfony/polyfill-php83', 163 'aliases' => array(), 164 'dev_requirement' => false, 165 ), 166 'symfony/polyfill-php84' => array( 167 'pretty_version' => 'v1.33.0', 168 'version' => '1.33.0.0', 169 'reference' => 'd8ced4d875142b6a7426000426b8abc631d6b191', 170 'type' => 'library', 171 'install_path' => __DIR__ . '/../symfony/polyfill-php84', 172 'aliases' => array(), 173 'dev_requirement' => false, 174 ), 175 'symfony/polyfill-php85' => array( 176 'pretty_version' => 'v1.33.0', 177 'version' => '1.33.0.0', 178 'reference' => 'd4e5fcd4ab3d998ab16c0db48e6cbb9a01993f91', 179 'type' => 'library', 180 'install_path' => __DIR__ . '/../symfony/polyfill-php85', 154 181 'aliases' => array(), 155 182 'dev_requirement' => false, -
force-reinstall/trunk/vendor/composer/platform_check.php
r2871586 r3427970 20 20 } 21 21 } 22 trigger_error( 23 'Composer detected issues in your platform: ' . implode(' ', $issues), 24 E_USER_ERROR 22 throw new \RuntimeException( 23 'Composer detected issues in your platform: ' . implode(' ', $issues) 25 24 ); 26 25 } -
force-reinstall/trunk/vendor/force-reinstall/psr-4/Br33f/Ga4/MeasurementProtocol/Dto/Common/UserProperties.php
r2924444 r3427970 22 22 * @param UserProperty[] $userPropertiesList 23 23 */ 24 public function __construct( array $userPropertiesList = null)24 public function __construct(?array $userPropertiesList = null) 25 25 { 26 26 $this->userPropertiesList = $userPropertiesList ?? []; -
force-reinstall/trunk/vendor/force-reinstall/psr-4/Br33f/Ga4/MeasurementProtocol/Dto/Request/BaseRequest.php
r2924444 r3427970 9 9 10 10 use Rich4rdMuvirimi\ForceReinstall\Vendor\Br33f\Ga4\MeasurementProtocol\Dto\Common\EventCollection; 11 use Rich4rdMuvirimi\ForceReinstall\Vendor\Br33f\Ga4\MeasurementProtocol\Dto\Common\UserData; 12 use Rich4rdMuvirimi\ForceReinstall\Vendor\Br33f\Ga4\MeasurementProtocol\Dto\Common\UserDataItem; 11 13 use Rich4rdMuvirimi\ForceReinstall\Vendor\Br33f\Ga4\MeasurementProtocol\Dto\Common\UserProperties; 12 14 use Rich4rdMuvirimi\ForceReinstall\Vendor\Br33f\Ga4\MeasurementProtocol\Dto\Common\UserProperty; 15 use Rich4rdMuvirimi\ForceReinstall\Vendor\Br33f\Ga4\MeasurementProtocol\Dto\Common\ConsentProperty; 13 16 use Rich4rdMuvirimi\ForceReinstall\Vendor\Br33f\Ga4\MeasurementProtocol\Dto\Event\AbstractEvent; 14 17 use Rich4rdMuvirimi\ForceReinstall\Vendor\Br33f\Ga4\MeasurementProtocol\Enum\ErrorCode; … … 52 55 53 56 /** 57 * The user data for the measurement. 58 * Not required 59 * @var UserData 60 */ 61 protected $userData = null; 62 63 /** 54 64 * If set true - indicates that events should not be use for personalized ads. 55 * Default false 56 * @var bool 57 */ 58 protected $nonPersonalizedAds = false; 59 65 * Not required 66 * @var ?bool 67 */ 68 protected $nonPersonalizedAds = null; 69 70 /** 71 * Sets the consent settings for the request. 72 * Replaces non_personalized_ads 73 * Not required 74 * @var ConsentProperty 75 */ 76 protected $consent = null; 60 77 61 78 /** … … 122 139 123 140 /** 141 * @return ConsentProperty|null 142 */ 143 public function getConsent() : ?ConsentProperty 144 { 145 return $this->consent; 146 } 147 148 /** 149 * @param ConsentProperty|null $consent 150 * @return BaseRequest 151 */ 152 public function setConsent(?ConsentProperty $consent) : self 153 { 154 $this->consent = $consent; 155 return $this; 156 } 157 158 159 /** 160 * @param UserData $userProperty 161 * @return BaseRequest 162 */ 163 public function addUserDataItem(UserDataItem $userDataItem) 164 { 165 if ($this->getUserData() === null) { 166 $this->setUserData(new UserData()); 167 } 168 169 $this->getUserData()->addUserDataItem($userDataItem); 170 return $this; 171 } 172 173 /** 174 * @return UserProperties|null 175 */ 176 public function getUserData(): ?UserData 177 { 178 return $this->userData; 179 } 180 181 /** 182 * @param UserData|null $userData 183 * @return BaseRequest 184 */ 185 public function setUserData(?UserData $userData) 186 { 187 $this->userData = $userData; 188 return $this; 189 } 190 191 /** 124 192 * @param AbstractEvent $event 125 193 * @return BaseRequest … … 157 225 'client_id' => $this->getClientId(), 158 226 'app_instance_id' => $this->getAppInstanceId(), 159 'non_personalized_ads' => $this->isNonPersonalizedAds(),160 227 'events' => $this->getEvents()->export(), 161 228 ]); 162 229 230 if ($this->getNonPersonalizedAds() !== null) { 231 $exportBaseRequest['non_personalized_ads'] = $this->isNonPersonalizedAds(); 232 } 233 163 234 if ($this->getUserId() !== null) { 164 235 $exportBaseRequest['user_id'] = $this->getUserId(); … … 173 244 } 174 245 246 if ($this->getUserData() !== null) { 247 $exportBaseRequest['user_data'] = $this->getUserData()->export(); 248 } 249 250 if ($this->getConsent() !== null) { 251 $exportBaseRequest['consent'] = $this->getConsent()->export(); 252 } 253 175 254 return $exportBaseRequest; 176 255 } … … 216 295 */ 217 296 public function isNonPersonalizedAds(): bool 297 { 298 $nonPersonalizedAds = $this->getNonPersonalizedAds(); 299 if (!isset($nonPersonalizedAds)) { 300 return false; 301 } 302 303 return $this->nonPersonalizedAds; 304 } 305 306 /** 307 * @return ?bool 308 */ 309 public function getNonPersonalizedAds() : ?bool 218 310 { 219 311 return $this->nonPersonalizedAds; -
force-reinstall/trunk/vendor/force-reinstall/psr-4/Br33f/Ga4/MeasurementProtocol/Dto/Response/AbstractResponse.php
r2872625 r3427970 20 20 * @throws HydrationException 21 21 */ 22 public function __construct( ResponseInterface $blueprint = null)22 public function __construct(?ResponseInterface $blueprint = null) 23 23 { 24 24 if ($blueprint !== null) { -
force-reinstall/trunk/vendor/force-reinstall/psr-4/Br33f/Ga4/MeasurementProtocol/Exception/ValidationException.php
r2924444 r3427970 18 18 protected $fieldName = null; 19 19 20 public function __construct($message = "", $code = 0, $fieldName = null, Throwable $previous = null)20 public function __construct($message = "", $code = 0, $fieldName = null, ?Throwable $previous = null) 21 21 { 22 22 parent::__construct($message, $code, $previous); -
force-reinstall/trunk/vendor/force-reinstall/psr-4/Br33f/Ga4/MeasurementProtocol/HttpClient.php
r2872625 r3427970 56 56 /** 57 57 * @param Client $client 58 * @return self 58 59 */ 59 public function setClient(Client $client) 60 public function setClient(Client $client): self 60 61 { 61 62 $this->client = $client; 63 return $this; 62 64 } 63 65 -
force-reinstall/trunk/vendor/force-reinstall/psr-4/Br33f/Ga4/MeasurementProtocol/Service.php
r2924444 r3427970 9 9 10 10 use Rich4rdMuvirimi\ForceReinstall\Vendor\Br33f\Ga4\MeasurementProtocol\Dto\Request\AbstractRequest; 11 use Rich4rdMuvirimi\ForceReinstall\Vendor\Br33f\Ga4\MeasurementProtocol\Dto\Response\AbstractResponse; 11 12 use Rich4rdMuvirimi\ForceReinstall\Vendor\Br33f\Ga4\MeasurementProtocol\Dto\Response\BaseResponse; 12 13 use Rich4rdMuvirimi\ForceReinstall\Vendor\Br33f\Ga4\MeasurementProtocol\Dto\Response\DebugResponse; 14 use Rich4rdMuvirimi\ForceReinstall\Vendor\Br33f\Ga4\MeasurementProtocol\Dto\Response\StreamResponse; 13 15 use Rich4rdMuvirimi\ForceReinstall\Vendor\Br33f\Ga4\MeasurementProtocol\Exception\MisconfigurationException; 14 16 … … 66 68 */ 67 69 protected $firebaseId = null; 68 70 69 71 /** 70 72 * The custom ip address of the visitor … … 99 101 * @throws Exception\ValidationException 100 102 * @throws Exception\HydrationException 103 * @api 101 104 */ 102 105 public function send(AbstractRequest $request, ?bool $debug = false) 106 { 107 return $this->doSend($request, $debug); 108 } 109 110 /** 111 * @param AbstractRequest $request 112 * @return DebugResponse 113 * @throws Exception\ValidationException 114 * @throws Exception\HydrationException 115 * @api 116 */ 117 public function sendDebug(AbstractRequest $request) 118 { 119 return $this->doSend($request, true); 120 } 121 122 /** 123 * @param AbstractRequest $request 124 * @return DebugResponse 125 * @throws Exception\ValidationException 126 * @throws Exception\HydrationException 127 * @api 128 */ 129 public function sendStream(AbstractRequest $request) 130 { 131 return $this->doSend($request, false, true); 132 } 133 134 /** 135 * @param AbstractRequest $request 136 * @param bool|null $debug 137 * @param bool|null $stream 138 * @return AbstractResponse 139 * @throws Exception\ValidationException 140 * @throws Exception\HydrationException 141 */ 142 protected function doSend(AbstractRequest $request, ?bool $debug = false, ?bool $stream = false) 103 143 { 104 144 $request->validate($this->measurementId ? 'web' : 'firebase'); 105 145 $response = $this->getHttpClient()->post($this->getEndpoint($debug), $request->export(), $this->getOptions()); 106 146 107 return !$debug 108 ? new BaseResponse($response) 109 : new DebugResponse($response); 110 } 111 112 /** 113 * @param AbstractRequest $request 114 * @return BaseResponse 115 * @throws Exception\ValidationException 116 * @throws Exception\HydrationException 117 */ 118 public function sendDebug(AbstractRequest $request) 119 { 120 return $this->send($request, true); 121 } 147 if ($debug) { 148 return new DebugResponse($response); 149 } else if ($stream) { 150 return new StreamResponse($response); 151 } else { 152 return new BaseResponse($response); 153 } 154 } 155 122 156 /** 123 157 * Returns Http Client if set or creates a new instance and returns it … … 134 168 /** 135 169 * @param HttpClient $httpClient 136 */ 137 public function setHttpClient(HttpClient $httpClient) 170 * @return self 171 */ 172 public function setHttpClient(HttpClient $httpClient): self 138 173 { 139 174 $this->httpClient = $httpClient; 175 return $this; 140 176 } 141 177 … … 162 198 /** 163 199 * @param bool $useSsl 164 */ 165 public function setUseSsl(bool $useSsl) 200 * @return self 201 */ 202 public function setUseSsl(bool $useSsl): self 166 203 { 167 204 $this->useSsl = $useSsl; 205 return $this; 168 206 } 169 207 … … 178 216 /** 179 217 * @param bool $useWww 180 */ 181 public function setUseWww(bool $useWww) 218 * @return self 219 */ 220 public function setUseWww(bool $useWww): self 182 221 { 183 222 $this->useWww = $useWww; 223 return $this; 184 224 } 185 225 … … 194 234 /** 195 235 * @param string $collectDebugEndpoint 196 */ 197 public function setCollectDebugEndpoint(string $collectDebugEndpoint) 236 * @return self 237 */ 238 public function setCollectDebugEndpoint(string $collectDebugEndpoint): self 198 239 { 199 240 $this->collectDebugEndpoint = $collectDebugEndpoint; 241 return $this; 200 242 } 201 243 … … 210 252 /** 211 253 * @param string $collectEndpoint 212 */ 213 public function setCollectEndpoint(string $collectEndpoint) 254 * @return self 255 */ 256 public function setCollectEndpoint(string $collectEndpoint): self 214 257 { 215 258 $this->collectEndpoint = $collectEndpoint; 259 return $this; 216 260 } 217 261 … … 228 272 'firebase_app_id' => $this->getFirebaseId(), 229 273 ]; 230 274 231 275 if ($parameters['firebase_app_id'] && $parameters['measurement_id']) { 232 276 throw new MisconfigurationException("Cannot specify both 'measurement_id' and 'firebase_app_id'."); … … 291 335 /** 292 336 * @param string $apiSecret 293 */ 294 public function setApiSecret(string $apiSecret) 337 * @return self 338 */ 339 public function setApiSecret(string $apiSecret): self 295 340 { 296 341 $this->apiSecret = $apiSecret; 342 return $this; 297 343 } 298 344 … … 307 353 /** 308 354 * @param string $ipOverride 309 */ 310 public function setIpOverride(string $ipOverride) 355 * @return self 356 */ 357 public function setIpOverride(string $ipOverride): self 311 358 { 312 359 $this->ipOverride = $ipOverride; 360 return $this; 313 361 } 314 362 … … 323 371 /** 324 372 * @param array|null $options 325 */ 326 public function setOptions(?array $options) 373 * @return self 374 */ 375 public function setOptions(?array $options): self 327 376 { 328 377 $this->options = $options; 329 } 330 378 return $this; 379 } 380 331 381 } -
force-reinstall/trunk/vendor/force-reinstall/psr-4/GuzzleHttp/BodySummarizer.php
r2872625 r3427970 12 12 private $truncateAt; 13 13 14 public function __construct( int $truncateAt = null)14 public function __construct(?int $truncateAt = null) 15 15 { 16 16 $this->truncateAt = $truncateAt; … … 23 23 { 24 24 return $this->truncateAt === null 25 ? \Rich4rdMuvirimi\ForceReinstall\Vendor\GuzzleHttp\Psr7\Message::bodySummary($message)26 : \Rich4rdMuvirimi\ForceReinstall\Vendor\GuzzleHttp\Psr7\Message::bodySummary($message, $this->truncateAt);25 ? Psr7\Message::bodySummary($message) 26 : Psr7\Message::bodySummary($message, $this->truncateAt); 27 27 } 28 28 } -
force-reinstall/trunk/vendor/force-reinstall/psr-4/GuzzleHttp/Client.php
r2924444 r3427970 53 53 * @param array $config Client configuration settings. 54 54 * 55 * @see \Rich4rdMuvirimi\ForceReinstall\Vendor\GuzzleHttp\RequestOptions for a list of available request options.55 * @see RequestOptions for a list of available request options. 56 56 */ 57 57 public function __construct(array $config = []) -
force-reinstall/trunk/vendor/force-reinstall/psr-4/GuzzleHttp/Cookie/CookieJar.php
r2924444 r3427970 97 97 } 98 98 99 /**100 * {@inheritDoc}101 */102 99 public function toArray(): array 103 100 { … … 107 104 } 108 105 109 /**110 * {@inheritDoc}111 */112 106 public function clear(?string $domain = null, ?string $path = null, ?string $name = null): void 113 107 { … … 127 121 $this->cookies, 128 122 static function (SetCookie $cookie) use ($path, $domain): bool { 129 return !($cookie->matchesPath($path) &&130 $cookie->matchesDomain($domain));123 return !($cookie->matchesPath($path) 124 && $cookie->matchesDomain($domain)); 131 125 } 132 126 ); … … 135 129 $this->cookies, 136 130 static function (SetCookie $cookie) use ($path, $domain, $name) { 137 return !($cookie->getName() == $name &&138 $cookie->matchesPath($path) &&139 $cookie->matchesDomain($domain));131 return !($cookie->getName() == $name 132 && $cookie->matchesPath($path) 133 && $cookie->matchesDomain($domain)); 140 134 } 141 135 ); … … 143 137 } 144 138 145 /**146 * {@inheritDoc}147 */148 139 public function clearSessionCookies(): void 149 140 { … … 156 147 } 157 148 158 /**159 * {@inheritDoc}160 */161 149 public function setCookie(SetCookie $cookie): bool 162 150 { … … 183 171 // Two cookies are identical, when their path, and domain are 184 172 // identical. 185 if ($c->getPath() != $cookie->getPath() ||186 $c->getDomain() != $cookie->getDomain() ||187 $c->getName() != $cookie->getName()173 if ($c->getPath() != $cookie->getPath() 174 || $c->getDomain() != $cookie->getDomain() 175 || $c->getName() != $cookie->getName() 188 176 ) { 189 177 continue; … … 256 244 * Computes cookie path following RFC 6265 section 5.1.4 257 245 * 258 * @see https:// tools.ietf.org/html/rfc6265#section-5.1.4246 * @see https://datatracker.ietf.org/doc/html/rfc6265#section-5.1.4 259 247 */ 260 248 private function getCookiePathFromRequest(RequestInterface $request): string … … 287 275 288 276 foreach ($this->cookies as $cookie) { 289 if ($cookie->matchesPath($path) &&290 $cookie->matchesDomain($host) &&291 !$cookie->isExpired() &&292 (!$cookie->getSecure() || $scheme === 'https')277 if ($cookie->matchesPath($path) 278 && $cookie->matchesDomain($host) 279 && !$cookie->isExpired() 280 && (!$cookie->getSecure() || $scheme === 'https') 293 281 ) { 294 282 $values[] = $cookie->getName().'=' -
force-reinstall/trunk/vendor/force-reinstall/psr-4/GuzzleHttp/Cookie/CookieJarInterface.php
r2924444 r3427970 15 15 * 16 16 * @see https://docs.python.org/2/library/cookielib.html Inspiration 17 * 17 18 * @extends \IteratorAggregate<SetCookie> 18 19 */ -
force-reinstall/trunk/vendor/force-reinstall/psr-4/GuzzleHttp/Cookie/SetCookie.php
r2924444 r3427970 63 63 $data[$search] = (int) $value; 64 64 } 65 } elseif ($search === 'Secure' || $search === 'Discard' || $search === 'HttpOnly') { 66 if ($value) { 67 $data[$search] = true; 68 } 65 69 } else { 66 70 $data[$search] = $value; … … 421 425 422 426 // Remove the leading '.' as per spec in RFC 6265. 423 // https:// tools.ietf.org/html/rfc6265#section-5.2.3427 // https://datatracker.ietf.org/doc/html/rfc6265#section-5.2.3 424 428 $cookieDomain = \ltrim(\strtolower($cookieDomain), '.'); 425 429 … … 432 436 433 437 // Matching the subdomain according to RFC 6265. 434 // https:// tools.ietf.org/html/rfc6265#section-5.1.3438 // https://datatracker.ietf.org/doc/html/rfc6265#section-5.1.3 435 439 if (\filter_var($domain, \FILTER_VALIDATE_IP)) { 436 440 return false; -
force-reinstall/trunk/vendor/force-reinstall/psr-4/GuzzleHttp/Exception/BadResponseException.php
r2872625 r3427970 15 15 RequestInterface $request, 16 16 ResponseInterface $response, 17 \Throwable $previous = null,17 ?\Throwable $previous = null, 18 18 array $handlerContext = [] 19 19 ) { -
force-reinstall/trunk/vendor/force-reinstall/psr-4/GuzzleHttp/Exception/ConnectException.php
r2872625 r3427970 26 26 string $message, 27 27 RequestInterface $request, 28 \Throwable $previous = null,28 ?\Throwable $previous = null, 29 29 array $handlerContext = [] 30 30 ) { -
force-reinstall/trunk/vendor/force-reinstall/psr-4/GuzzleHttp/Exception/RequestException.php
r2872625 r3427970 8 8 use Rich4rdMuvirimi\ForceReinstall\Vendor\Psr\Http\Message\RequestInterface; 9 9 use Rich4rdMuvirimi\ForceReinstall\Vendor\Psr\Http\Message\ResponseInterface; 10 use Rich4rdMuvirimi\ForceReinstall\Vendor\Psr\Http\Message\UriInterface;11 10 12 11 /** … … 33 32 string $message, 34 33 RequestInterface $request, 35 ResponseInterface $response = null,36 \Throwable $previous = null,34 ?ResponseInterface $response = null, 35 ?\Throwable $previous = null, 37 36 array $handlerContext = [] 38 37 ) { … … 64 63 public static function create( 65 64 RequestInterface $request, 66 ResponseInterface $response = null,67 \Throwable $previous = null,65 ?ResponseInterface $response = null, 66 ?\Throwable $previous = null, 68 67 array $handlerContext = [], 69 BodySummarizerInterface $bodySummarizer = null68 ?BodySummarizerInterface $bodySummarizer = null 70 69 ): self { 71 70 if (!$response) { … … 91 90 } 92 91 93 $uri = $request->getUri(); 94 $uri = static::obfuscateUri($uri); 92 $uri = \Rich4rdMuvirimi\ForceReinstall\Vendor\GuzzleHttp\Psr7\Utils::redactUserInfo($request->getUri()); 95 93 96 94 // Client Error: `GET /` resulted in a `404 Not Found` response: … … 112 110 113 111 return new $className($message, $request, $response, $previous, $handlerContext); 114 }115 116 /**117 * Obfuscates URI if there is a username and a password present118 */119 private static function obfuscateUri(UriInterface $uri): UriInterface120 {121 $userInfo = $uri->getUserInfo();122 123 if (false !== ($pos = \strpos($userInfo, ':'))) {124 return $uri->withUserInfo(\substr($userInfo, 0, $pos), '***');125 }126 127 return $uri;128 112 } 129 113 -
force-reinstall/trunk/vendor/force-reinstall/psr-4/GuzzleHttp/Handler/CurlFactory.php
r2924444 r3427970 12 12 use Rich4rdMuvirimi\ForceReinstall\Vendor\GuzzleHttp\Utils; 13 13 use Rich4rdMuvirimi\ForceReinstall\Vendor\Psr\Http\Message\RequestInterface; 14 use Rich4rdMuvirimi\ForceReinstall\Vendor\Psr\Http\Message\UriInterface; 14 15 15 16 /** … … 47 48 public function create(RequestInterface $request, array $options): EasyHandle 48 49 { 50 $protocolVersion = $request->getProtocolVersion(); 51 52 if ('2' === $protocolVersion || '2.0' === $protocolVersion) { 53 if (!self::supportsHttp2()) { 54 throw new ConnectException('HTTP/2 is supported by the cURL handler, however libcurl is built without HTTP/2 support.', $request); 55 } 56 } elseif ('1.0' !== $protocolVersion && '1.1' !== $protocolVersion) { 57 throw new ConnectException(sprintf('HTTP/%s is not supported by the cURL handler.', $protocolVersion), $request); 58 } 59 49 60 if (isset($options['curl']['body_as_string'])) { 50 61 $options['_body_as_string'] = $options['curl']['body_as_string']; … … 73 84 } 74 85 86 private static function supportsHttp2(): bool 87 { 88 static $supportsHttp2 = null; 89 90 if (null === $supportsHttp2) { 91 $supportsHttp2 = self::supportsTls12() 92 && defined('CURL_VERSION_HTTP2') 93 && (\CURL_VERSION_HTTP2 & \curl_version()['features']); 94 } 95 96 return $supportsHttp2; 97 } 98 99 private static function supportsTls12(): bool 100 { 101 static $supportsTls12 = null; 102 103 if (null === $supportsTls12) { 104 $supportsTls12 = \CURL_SSLVERSION_TLSv1_2 & \curl_version()['features']; 105 } 106 107 return $supportsTls12; 108 } 109 110 private static function supportsTls13(): bool 111 { 112 static $supportsTls13 = null; 113 114 if (null === $supportsTls13) { 115 $supportsTls13 = defined('CURL_SSLVERSION_TLSv1_3') 116 && (\CURL_SSLVERSION_TLSv1_3 & \curl_version()['features']); 117 } 118 119 return $supportsTls13; 120 } 121 75 122 public function release(EasyHandle $easy): void 76 123 { … … 79 126 80 127 if (\count($this->handles) >= $this->maxHandles) { 81 \curl_close($resource); 128 if (PHP_VERSION_ID < 80000) { 129 \curl_close($resource); 130 } 82 131 } else { 83 132 // Remove all callback functions as they can hold onto references … … 148 197 'appconnect_time' => \curl_getinfo($easy->handle, \CURLINFO_APPCONNECT_TIME), 149 198 ] + \curl_getinfo($easy->handle); 150 $ctx[self::CURL_VERSION_STR] = \curl_version()['version'];199 $ctx[self::CURL_VERSION_STR] = self::getCurlVersion(); 151 200 $factory->release($easy); 152 201 … … 157 206 158 207 return self::createRejection($easy, $ctx); 208 } 209 210 private static function getCurlVersion(): string 211 { 212 static $curlVersion = null; 213 214 if (null === $curlVersion) { 215 $curlVersion = \curl_version()['version']; 216 } 217 218 return $curlVersion; 159 219 } 160 220 … … 195 255 } 196 256 257 $uri = $easy->request->getUri(); 258 259 $sanitizedError = self::sanitizeCurlError($ctx['error'] ?? '', $uri); 260 197 261 $message = \sprintf( 198 262 'cURL error %s: %s (%s)', 199 263 $ctx['errno'], 200 $ ctx['error'],264 $sanitizedError, 201 265 'see https://curl.haxx.se/libcurl/c/libcurl-errors.html' 202 266 ); 203 $uriString = (string) $easy->request->getUri(); 204 if ($uriString !== '' && false === \strpos($ctx['error'], $uriString)) { 205 $message .= \sprintf(' for %s', $uriString); 267 268 if ('' !== $sanitizedError) { 269 $redactedUriString = \Rich4rdMuvirimi\ForceReinstall\Vendor\GuzzleHttp\Psr7\Utils::redactUserInfo($uri)->__toString(); 270 if ($redactedUriString !== '' && false === \strpos($sanitizedError, $redactedUriString)) { 271 $message .= \sprintf(' for %s', $redactedUriString); 272 } 206 273 } 207 274 … … 212 279 213 280 return P\Create::rejectionFor($error); 281 } 282 283 private static function sanitizeCurlError(string $error, UriInterface $uri): string 284 { 285 if ('' === $error) { 286 return $error; 287 } 288 289 $baseUri = $uri->withQuery('')->withFragment(''); 290 $baseUriString = $baseUri->__toString(); 291 292 if ('' === $baseUriString) { 293 return $error; 294 } 295 296 $redactedUriString = \Rich4rdMuvirimi\ForceReinstall\Vendor\GuzzleHttp\Psr7\Utils::redactUserInfo($baseUri)->__toString(); 297 298 return str_replace($baseUriString, $redactedUriString, $error); 214 299 } 215 300 … … 233 318 234 319 $version = $easy->request->getProtocolVersion(); 235 if ($version == 1.1) { 320 321 if ('2' === $version || '2.0' === $version) { 322 $conf[\CURLOPT_HTTP_VERSION] = \CURL_HTTP_VERSION_2_0; 323 } elseif ('1.1' === $version) { 236 324 $conf[\CURLOPT_HTTP_VERSION] = \CURL_HTTP_VERSION_1_1; 237 } elseif ($version == 2.0) {238 $conf[\CURLOPT_HTTP_VERSION] = \CURL_HTTP_VERSION_2_0;239 325 } else { 240 326 $conf[\CURLOPT_HTTP_VERSION] = \CURL_HTTP_VERSION_1_0; … … 257 343 $method = $easy->request->getMethod(); 258 344 if ($method === 'PUT' || $method === 'POST') { 259 // See https:// tools.ietf.org/html/rfc7230#section-3.3.2345 // See https://datatracker.ietf.org/doc/html/rfc7230#section-3.3.2 260 346 if (!$easy->request->hasHeader('Content-Length')) { 261 347 $conf[\CURLOPT_HTTPHEADER][] = 'Content-Length: 0'; … … 368 454 // If not, it's probably a file, or a link to a file, so use CURLOPT_CAINFO. 369 455 if ( 370 \is_dir($options['verify']) ||371 (372 \is_link($options['verify']) === true &&373 ($verifyLink = \readlink($options['verify'])) !== false &&374 \is_dir($verifyLink)456 \is_dir($options['verify']) 457 || ( 458 \is_link($options['verify']) === true 459 && ($verifyLink = \readlink($options['verify'])) !== false 460 && \is_dir($verifyLink) 375 461 ) 376 462 ) { … … 391 477 // sets a matching 'Accept-Encoding' header. 392 478 $conf[\CURLOPT_ENCODING] = ''; 393 // But as the user did not specify any acceptable encodings we need 394 // to overwrite this implicit header with an empty one. 479 // But as the user did not specify any encoding preference, 480 // let's leave it up to server by preventing curl from sending 481 // the header, which will be interpreted as 'Accept-Encoding: *'. 482 // https://www.rfc-editor.org/rfc/rfc9110#field.accept-encoding 395 483 $conf[\CURLOPT_HTTPHEADER][] = 'Accept-Encoding:'; 396 484 } … … 456 544 457 545 if (isset($options['crypto_method'])) { 458 if (\STREAM_CRYPTO_METHOD_TLSv1_0_CLIENT === $options['crypto_method']) { 459 if (!defined('CURL_SSLVERSION_TLSv1_0')) { 460 throw new \InvalidArgumentException('Invalid crypto_method request option: TLS 1.0 not supported by your version of cURL'); 461 } 546 $protocolVersion = $easy->request->getProtocolVersion(); 547 548 // If HTTP/2, upgrade TLS 1.0 and 1.1 to 1.2 549 if ('2' === $protocolVersion || '2.0' === $protocolVersion) { 550 if ( 551 \STREAM_CRYPTO_METHOD_TLSv1_0_CLIENT === $options['crypto_method'] 552 || \STREAM_CRYPTO_METHOD_TLSv1_1_CLIENT === $options['crypto_method'] 553 || \STREAM_CRYPTO_METHOD_TLSv1_2_CLIENT === $options['crypto_method'] 554 ) { 555 $conf[\CURLOPT_SSLVERSION] = \CURL_SSLVERSION_TLSv1_2; 556 } elseif (defined('STREAM_CRYPTO_METHOD_TLSv1_3_CLIENT') && \STREAM_CRYPTO_METHOD_TLSv1_3_CLIENT === $options['crypto_method']) { 557 if (!self::supportsTls13()) { 558 throw new \InvalidArgumentException('Invalid crypto_method request option: TLS 1.3 not supported by your version of cURL'); 559 } 560 $conf[\CURLOPT_SSLVERSION] = \CURL_SSLVERSION_TLSv1_3; 561 } else { 562 throw new \InvalidArgumentException('Invalid crypto_method request option: unknown version provided'); 563 } 564 } elseif (\STREAM_CRYPTO_METHOD_TLSv1_0_CLIENT === $options['crypto_method']) { 462 565 $conf[\CURLOPT_SSLVERSION] = \CURL_SSLVERSION_TLSv1_0; 463 566 } elseif (\STREAM_CRYPTO_METHOD_TLSv1_1_CLIENT === $options['crypto_method']) { 464 if (!defined('CURL_SSLVERSION_TLSv1_1')) {465 throw new \InvalidArgumentException('Invalid crypto_method request option: TLS 1.1 not supported by your version of cURL');466 }467 567 $conf[\CURLOPT_SSLVERSION] = \CURL_SSLVERSION_TLSv1_1; 468 568 } elseif (\STREAM_CRYPTO_METHOD_TLSv1_2_CLIENT === $options['crypto_method']) { 469 if (! defined('CURL_SSLVERSION_TLSv1_2')) {569 if (!self::supportsTls12()) { 470 570 throw new \InvalidArgumentException('Invalid crypto_method request option: TLS 1.2 not supported by your version of cURL'); 471 571 } 472 572 $conf[\CURLOPT_SSLVERSION] = \CURL_SSLVERSION_TLSv1_2; 473 573 } elseif (defined('STREAM_CRYPTO_METHOD_TLSv1_3_CLIENT') && \STREAM_CRYPTO_METHOD_TLSv1_3_CLIENT === $options['crypto_method']) { 474 if (! defined('CURL_SSLVERSION_TLSv1_3')) {574 if (!self::supportsTls13()) { 475 575 throw new \InvalidArgumentException('Invalid crypto_method request option: TLS 1.3 not supported by your version of cURL'); 476 576 } … … 628 728 }; 629 729 } 730 731 public function __destruct() 732 { 733 foreach ($this->handles as $id => $handle) { 734 if (PHP_VERSION_ID < 80000) { 735 \curl_close($handle); 736 } 737 738 unset($this->handles[$id]); 739 } 740 } 630 741 } -
force-reinstall/trunk/vendor/force-reinstall/psr-4/GuzzleHttp/Handler/CurlMultiHandler.php
r2924444 r3427970 3 3 namespace Rich4rdMuvirimi\ForceReinstall\Vendor\GuzzleHttp\Handler; 4 4 5 use Closure; 5 6 use Rich4rdMuvirimi\ForceReinstall\Vendor\GuzzleHttp\Promise as P; 6 7 use Rich4rdMuvirimi\ForceReinstall\Vendor\GuzzleHttp\Promise\Promise; … … 16 17 * **curl** key of the provided request options. 17 18 * 18 * @property resource|\CurlMultiHandle $_mh Internal use only. Lazy loaded multi-handle.19 *20 19 * @final 21 20 */ 22 #[\AllowDynamicProperties]23 21 class CurlMultiHandler 24 22 { … … 56 54 */ 57 55 private $options = []; 56 57 /** @var resource|\CurlMultiHandle */ 58 private $_mh; 58 59 59 60 /** … … 80 81 81 82 $this->options = $options['options'] ?? []; 83 84 // unsetting the property forces the first access to go through 85 // __get(). 86 unset($this->_mh); 82 87 } 83 88 … … 156 161 } 157 162 163 // Run curl_multi_exec in the queue to enable other async tasks to run 164 P\Utils::queue()->add(Closure::fromCallable([$this, 'tickInQueue'])); 165 158 166 // Step through the task queue which may add additional requests. 159 167 P\Utils::queue()->run(); … … 166 174 167 175 while (\curl_multi_exec($this->_mh, $this->active) === \CURLM_CALL_MULTI_PERFORM) { 176 // Prevent busy looping for slow HTTP requests. 177 \curl_multi_select($this->_mh, $this->selectTimeout); 168 178 } 169 179 170 180 $this->processMessages(); 181 } 182 183 /** 184 * Runs \curl_multi_exec() inside the event loop, to prevent busy looping 185 */ 186 private function tickInQueue(): void 187 { 188 if (\curl_multi_exec($this->_mh, $this->active) === \CURLM_CALL_MULTI_PERFORM) { 189 \curl_multi_select($this->_mh, 0); 190 P\Utils::queue()->add(Closure::fromCallable([$this, 'tickInQueue'])); 191 } 171 192 } 172 193 … … 220 241 unset($this->delays[$id], $this->handles[$id]); 221 242 \curl_multi_remove_handle($this->_mh, $handle); 222 \curl_close($handle); 243 244 if (PHP_VERSION_ID < 80000) { 245 \curl_close($handle); 246 } 223 247 224 248 return true; -
force-reinstall/trunk/vendor/force-reinstall/psr-4/GuzzleHttp/Handler/MockHandler.php
r2924444 r3427970 53 53 * @param callable|null $onRejected Callback to invoke when the return value is rejected. 54 54 */ 55 public static function createWithMiddleware( array $queue = null, callable $onFulfilled = null,callable $onRejected = null): HandlerStack55 public static function createWithMiddleware(?array $queue = null, ?callable $onFulfilled = null, ?callable $onRejected = null): HandlerStack 56 56 { 57 57 return HandlerStack::create(new self($queue, $onFulfilled, $onRejected)); … … 60 60 /** 61 61 * The passed in value must be an array of 62 * {@see \Rich4rdMuvirimi\ForceReinstall\Vendor\Psr\Http\Message\ResponseInterface} objects, Exceptions,62 * {@see ResponseInterface} objects, Exceptions, 63 63 * callables, or Promises. 64 64 * … … 67 67 * @param callable|null $onRejected Callback to invoke when the return value is rejected. 68 68 */ 69 public function __construct( array $queue = null, callable $onFulfilled = null,callable $onRejected = null)69 public function __construct(?array $queue = null, ?callable $onFulfilled = null, ?callable $onRejected = null) 70 70 { 71 71 $this->onFulfilled = $onFulfilled; … … 201 201 RequestInterface $request, 202 202 array $options, 203 ResponseInterface $response = null,203 ?ResponseInterface $response = null, 204 204 $reason = null 205 205 ): void { -
force-reinstall/trunk/vendor/force-reinstall/psr-4/GuzzleHttp/Handler/Proxy.php
r2872625 r3427970 18 18 * requests to another handler. 19 19 * 20 * @param callable( \Rich4rdMuvirimi\ForceReinstall\Vendor\Psr\Http\Message\RequestInterface, array): \Rich4rdMuvirimi\ForceReinstall\Vendor\GuzzleHttp\Promise\PromiseInterface $default Handler used for normal responses21 * @param callable( \Rich4rdMuvirimi\ForceReinstall\Vendor\Psr\Http\Message\RequestInterface, array): \Rich4rdMuvirimi\ForceReinstall\Vendor\GuzzleHttp\Promise\PromiseInterface $sync Handler used for synchronous responses.20 * @param callable(RequestInterface, array): PromiseInterface $default Handler used for normal responses 21 * @param callable(RequestInterface, array): PromiseInterface $sync Handler used for synchronous responses. 22 22 * 23 * @return callable( \Rich4rdMuvirimi\ForceReinstall\Vendor\Psr\Http\Message\RequestInterface, array): \Rich4rdMuvirimi\ForceReinstall\Vendor\GuzzleHttp\Promise\PromiseInterface Returns the composed handler.23 * @return callable(RequestInterface, array): PromiseInterface Returns the composed handler. 24 24 */ 25 25 public static function wrapSync(callable $default, callable $sync): callable … … 38 38 * through the StreamHandler. 39 39 * 40 * @param callable( \Rich4rdMuvirimi\ForceReinstall\Vendor\Psr\Http\Message\RequestInterface, array): \Rich4rdMuvirimi\ForceReinstall\Vendor\GuzzleHttp\Promise\PromiseInterface $default Handler used for non-streaming responses41 * @param callable( \Rich4rdMuvirimi\ForceReinstall\Vendor\Psr\Http\Message\RequestInterface, array): \Rich4rdMuvirimi\ForceReinstall\Vendor\GuzzleHttp\Promise\PromiseInterface $streaming Handler used for streaming responses40 * @param callable(RequestInterface, array): PromiseInterface $default Handler used for non-streaming responses 41 * @param callable(RequestInterface, array): PromiseInterface $streaming Handler used for streaming responses 42 42 * 43 * @return callable( \Rich4rdMuvirimi\ForceReinstall\Vendor\Psr\Http\Message\RequestInterface, array): \Rich4rdMuvirimi\ForceReinstall\Vendor\GuzzleHttp\Promise\PromiseInterface Returns the composed handler.43 * @return callable(RequestInterface, array): PromiseInterface Returns the composed handler. 44 44 */ 45 45 public static function wrapStreaming(callable $default, callable $streaming): callable -
force-reinstall/trunk/vendor/force-reinstall/psr-4/GuzzleHttp/Handler/StreamHandler.php
r2924444 r3427970 41 41 } 42 42 43 $protocolVersion = $request->getProtocolVersion(); 44 45 if ('1.0' !== $protocolVersion && '1.1' !== $protocolVersion) { 46 throw new ConnectException(sprintf('HTTP/%s is not supported by the stream handler.', $protocolVersion), $request); 47 } 48 43 49 $startTime = isset($options['on_stats']) ? Utils::currentTime() : null; 44 50 … … 48 54 49 55 // Append a content-length header if body size is zero to match 50 // cURL's behavior. 51 if (0 === $request->getBody()->getSize()) { 56 // the behavior of `CurlHandler` 57 if ( 58 ( 59 0 === \strcasecmp('PUT', $request->getMethod()) 60 || 0 === \strcasecmp('POST', $request->getMethod()) 61 ) 62 && 0 === $request->getBody()->getSize() 63 ) { 52 64 $request = $request->withHeader('Content-Length', '0'); 53 65 } … … 84 96 RequestInterface $request, 85 97 ?float $startTime, 86 ResponseInterface $response = null,87 \Throwable $error = null98 ?ResponseInterface $response = null, 99 ?\Throwable $error = null 88 100 ): void { 89 101 if (isset($options['on_stats'])) { … … 274 286 // HTTP/1.1 streams using the PHP stream wrapper require a 275 287 // Connection: close header 276 if ($request->getProtocolVersion() == '1.1'288 if ($request->getProtocolVersion() === '1.1' 277 289 && !$request->hasHeader('Connection') 278 290 ) { … … 322 334 323 335 return $this->createResource( 324 function () use ($uri, &$http_response_header,$contextResource, $context, $options, $request) {336 function () use ($uri, $contextResource, $context, $options, $request) { 325 337 $resource = @\fopen((string) $uri, 'r', false, $contextResource); 338 339 // See https://wiki.php.net/rfc/deprecations_php_8_5#deprecate_the_http_response_header_predefined_variable 340 if (function_exists('http_get_last_response_headers')) { 341 /** @var array|null */ 342 $http_response_header = \http_get_last_response_headers(); 343 } 344 326 345 $this->lastHeaders = $http_response_header ?? []; 327 346 -
force-reinstall/trunk/vendor/force-reinstall/psr-4/GuzzleHttp/HandlerStack.php
r2924444 r3427970 59 59 * @param (callable(RequestInterface, array): PromiseInterface)|null $handler Underlying HTTP handler. 60 60 */ 61 public function __construct( callable $handler = null)61 public function __construct(?callable $handler = null) 62 62 { 63 63 $this->handler = $handler; -
force-reinstall/trunk/vendor/force-reinstall/psr-4/GuzzleHttp/Middleware.php
r2924444 r3427970 56 56 * @return callable(callable): callable Returns a function that accepts the next handler. 57 57 */ 58 public static function httpErrors( BodySummarizerInterface $bodySummarizer = null): callable58 public static function httpErrors(?BodySummarizerInterface $bodySummarizer = null): callable 59 59 { 60 60 return static function (callable $handler) use ($bodySummarizer): callable { … … 133 133 * @return callable Returns a function that accepts the next handler. 134 134 */ 135 public static function tap( callable $before = null,callable $after = null): callable135 public static function tap(?callable $before = null, ?callable $after = null): callable 136 136 { 137 137 return static function (callable $handler) use ($before, $after): callable { … … 177 177 * @return callable Returns a function that accepts the next handler. 178 178 */ 179 public static function retry(callable $decider, callable $delay = null): callable179 public static function retry(callable $decider, ?callable $delay = null): callable 180 180 { 181 181 return static function (callable $handler) use ($decider, $delay): RetryMiddleware { … … 187 187 * Middleware that logs requests, responses, and errors using a message 188 188 * formatter. 189 *190 * @phpstan-param \Psr\Log\LogLevel::* $logLevel Level at which to log requests.191 189 * 192 190 * @param LoggerInterface $logger Logs messages. 193 191 * @param MessageFormatterInterface|MessageFormatter $formatter Formatter used to create message strings. 194 192 * @param string $logLevel Level at which to log requests. 193 * 194 * @phpstan-param \Psr\Log\LogLevel::* $logLevel Level at which to log requests. 195 195 * 196 196 * @return callable Returns a function that accepts the next handler. -
force-reinstall/trunk/vendor/force-reinstall/psr-4/GuzzleHttp/Pool.php
r2872625 r3427970 87 87 * @param array|\Iterator $requests Requests to send concurrently. 88 88 * @param array $options Passes through the options available in 89 * {@see \Rich4rdMuvirimi\ForceReinstall\Vendor\GuzzleHttp\Pool::__construct}89 * {@see Pool::__construct} 90 90 * 91 91 * @return array Returns an array containing the response or an exception -
force-reinstall/trunk/vendor/force-reinstall/psr-4/GuzzleHttp/PrepareBodyMiddleware.php
r2924444 r3427970 77 77 $expect = $options['expect'] ?? null; 78 78 79 // Return if disabled or if you're not using HTTP/1.1 or HTTP/2.080 if ($expect === false || $request->getProtocolVersion() < 1.1) {79 // Return if disabled or using HTTP/1.0 80 if ($expect === false || $request->getProtocolVersion() === '1.0') { 81 81 return; 82 82 } -
force-reinstall/trunk/vendor/force-reinstall/psr-4/GuzzleHttp/Promise/Coroutine.php
r2924444 r3427970 85 85 86 86 public function then( 87 callable $onFulfilled = null,88 callable $onRejected = null87 ?callable $onFulfilled = null, 88 ?callable $onRejected = null 89 89 ): PromiseInterface { 90 90 return $this->result->then($onFulfilled, $onRejected); -
force-reinstall/trunk/vendor/force-reinstall/psr-4/GuzzleHttp/Promise/Each.php
r2924444 r3427970 20 20 * side effects and choose to resolve or reject the aggregate if needed. 21 21 * 22 * @param mixed $iterable Iterator or array to iterate over. 23 * @param callable $onFulfilled 24 * @param callable $onRejected 22 * @param mixed $iterable Iterator or array to iterate over. 25 23 */ 26 24 public static function of( 27 25 $iterable, 28 callable $onFulfilled = null,29 callable $onRejected = null26 ?callable $onFulfilled = null, 27 ?callable $onRejected = null 30 28 ): PromiseInterface { 31 29 return (new EachPromise($iterable, [ … … 45 43 * @param mixed $iterable 46 44 * @param int|callable $concurrency 47 * @param callable $onFulfilled48 * @param callable $onRejected49 45 */ 50 46 public static function ofLimit( 51 47 $iterable, 52 48 $concurrency, 53 callable $onFulfilled = null,54 callable $onRejected = null49 ?callable $onFulfilled = null, 50 ?callable $onRejected = null 55 51 ): PromiseInterface { 56 52 return (new EachPromise($iterable, [ … … 68 64 * @param mixed $iterable 69 65 * @param int|callable $concurrency 70 * @param callable $onFulfilled71 66 */ 72 67 public static function ofLimitAll( 73 68 $iterable, 74 69 $concurrency, 75 callable $onFulfilled = null70 ?callable $onFulfilled = null 76 71 ): PromiseInterface { 77 72 return self::ofLimit( -
force-reinstall/trunk/vendor/force-reinstall/psr-4/GuzzleHttp/Promise/EachPromise.php
r2924444 r3427970 136 136 // Add only up to N pending promises. 137 137 $concurrency = is_callable($this->concurrency) 138 ? call_user_func($this->concurrency,count($this->pending))138 ? ($this->concurrency)(count($this->pending)) 139 139 : $this->concurrency; 140 140 $concurrency = max($concurrency - count($this->pending), 0); … … 171 171 function ($value) use ($idx, $key): void { 172 172 if ($this->onFulfilled) { 173 call_user_func( 174 $this->onFulfilled, 173 ($this->onFulfilled)( 175 174 $value, 176 175 $key, … … 182 181 function ($reason) use ($idx, $key): void { 183 182 if ($this->onRejected) { 184 call_user_func( 185 $this->onRejected, 183 ($this->onRejected)( 186 184 $reason, 187 185 $key, -
force-reinstall/trunk/vendor/force-reinstall/psr-4/GuzzleHttp/Promise/FulfilledPromise.php
r2924444 r3427970 32 32 33 33 public function then( 34 callable $onFulfilled = null,35 callable $onRejected = null34 ?callable $onFulfilled = null, 35 ?callable $onRejected = null 36 36 ): PromiseInterface { 37 37 // Return itself if there is no onFulfilled function. -
force-reinstall/trunk/vendor/force-reinstall/psr-4/GuzzleHttp/Promise/Promise.php
r2924444 r3427970 26 26 */ 27 27 public function __construct( 28 callable $waitFn = null,29 callable $cancelFn = null28 ?callable $waitFn = null, 29 ?callable $cancelFn = null 30 30 ) { 31 31 $this->waitFn = $waitFn; … … 34 34 35 35 public function then( 36 callable $onFulfilled = null,37 callable $onRejected = null36 ?callable $onFulfilled = null, 37 ?callable $onRejected = null 38 38 ): PromiseInterface { 39 39 if ($this->state === self::PENDING) { -
force-reinstall/trunk/vendor/force-reinstall/psr-4/GuzzleHttp/Promise/PromiseInterface.php
r2924444 r3427970 28 28 */ 29 29 public function then( 30 callable $onFulfilled = null,31 callable $onRejected = null30 ?callable $onFulfilled = null, 31 ?callable $onRejected = null 32 32 ): PromiseInterface; 33 33 -
force-reinstall/trunk/vendor/force-reinstall/psr-4/GuzzleHttp/Promise/RejectedPromise.php
r2924444 r3427970 32 32 33 33 public function then( 34 callable $onFulfilled = null,35 callable $onRejected = null34 ?callable $onFulfilled = null, 35 ?callable $onRejected = null 36 36 ): PromiseInterface { 37 37 // If there's no onRejected callback then just return self. -
force-reinstall/trunk/vendor/force-reinstall/psr-4/GuzzleHttp/Promise/RejectionException.php
r2924444 r3427970 19 19 * @param string|null $description Optional description. 20 20 */ 21 public function __construct($reason, $description = null)21 public function __construct($reason, ?string $description = null) 22 22 { 23 23 $this->reason = $reason; -
force-reinstall/trunk/vendor/force-reinstall/psr-4/GuzzleHttp/Promise/Utils.php
r2924444 r3427970 22 22 * @param TaskQueueInterface|null $assign Optionally specify a new queue instance. 23 23 */ 24 public static function queue( TaskQueueInterface $assign = null): TaskQueueInterface24 public static function queue(?TaskQueueInterface $assign = null): TaskQueueInterface 25 25 { 26 26 static $queue; … … 145 145 }, 146 146 function ($reason, $idx, Promise $aggregate): void { 147 $aggregate->reject($reason); 147 if (Is::pending($aggregate)) { 148 $aggregate->reject($reason); 149 } 148 150 } 149 151 )->then(function () use (&$results) { -
force-reinstall/trunk/vendor/force-reinstall/psr-4/GuzzleHttp/Psr7/AppendStream.php
r2872625 r3427970 41 41 try { 42 42 $this->rewind(); 43 43 44 return $this->getContents(); 44 45 } catch (\Throwable $e) { … … 47 48 } 48 49 trigger_error(sprintf('%s::__toString exception: %s', self::class, (string) $e), E_USER_ERROR); 50 49 51 return ''; 50 52 } … … 139 141 public function eof(): bool 140 142 { 141 return !$this->streams ||142 ($this->current >= count($this->streams) - 1 &&143 $this->streams[$this->current]->eof());143 return !$this->streams 144 || ($this->current >= count($this->streams) - 1 145 && $this->streams[$this->current]->eof()); 144 146 } 145 147 … … 168 170 } catch (\Exception $e) { 169 171 throw new \RuntimeException('Unable to seek stream ' 170 . $i .' of the AppendStream', 0, $e);172 .$i.' of the AppendStream', 0, $e); 171 173 } 172 174 } … … 198 200 break; 199 201 } 200 $this->current++;202 ++$this->current; 201 203 } 202 204 … … 238 240 239 241 /** 240 * {@inheritdoc}241 *242 242 * @return mixed 243 243 */ -
force-reinstall/trunk/vendor/force-reinstall/psr-4/GuzzleHttp/Psr7/BufferStream.php
r2872625 r3427970 135 135 136 136 /** 137 * {@inheritdoc}138 *139 137 * @return mixed 140 138 */ -
force-reinstall/trunk/vendor/force-reinstall/psr-4/GuzzleHttp/Psr7/CachingStream.php
r2872625 r3427970 34 34 public function __construct( 35 35 StreamInterface $stream, 36 StreamInterface $target = null36 ?StreamInterface $target = null 37 37 ) { 38 38 $this->remoteStream = $stream; -
force-reinstall/trunk/vendor/force-reinstall/psr-4/GuzzleHttp/Psr7/FnStream.php
r2872625 r3427970 19 19 '__toString', 'close', 'detach', 'rewind', 20 20 'getSize', 'tell', 'eof', 'isSeekable', 'seek', 'isWritable', 'write', 21 'isReadable', 'read', 'getContents', 'getMetadata' 21 'isReadable', 'read', 'getContents', 'getMetadata', 22 22 ]; 23 23 … … 34 34 // Create the functions on the class 35 35 foreach ($methods as $name => $fn) { 36 $this->{'_fn_' .$name} = $fn;36 $this->{'_fn_'.$name} = $fn; 37 37 } 38 38 } … … 46 46 { 47 47 throw new \BadMethodCallException(str_replace('_fn_', '', $name) 48 . '() is not implemented in the FnStream');48 .'() is not implemented in the FnStream'); 49 49 } 50 50 … … 55 55 { 56 56 if (isset($this->_fn_close)) { 57 call_user_func($this->_fn_close);57 ($this->_fn_close)(); 58 58 } 59 59 } … … 94 94 { 95 95 try { 96 return call_user_func($this->_fn___toString); 96 /** @var string */ 97 return ($this->_fn___toString)(); 97 98 } catch (\Throwable $e) { 98 99 if (\PHP_VERSION_ID >= 70400) { … … 100 101 } 101 102 trigger_error(sprintf('%s::__toString exception: %s', self::class, (string) $e), E_USER_ERROR); 103 102 104 return ''; 103 105 } … … 106 108 public function close(): void 107 109 { 108 call_user_func($this->_fn_close);110 ($this->_fn_close)(); 109 111 } 110 112 111 113 public function detach() 112 114 { 113 return call_user_func($this->_fn_detach);115 return ($this->_fn_detach)(); 114 116 } 115 117 116 118 public function getSize(): ?int 117 119 { 118 return call_user_func($this->_fn_getSize);120 return ($this->_fn_getSize)(); 119 121 } 120 122 121 123 public function tell(): int 122 124 { 123 return call_user_func($this->_fn_tell);125 return ($this->_fn_tell)(); 124 126 } 125 127 126 128 public function eof(): bool 127 129 { 128 return call_user_func($this->_fn_eof);130 return ($this->_fn_eof)(); 129 131 } 130 132 131 133 public function isSeekable(): bool 132 134 { 133 return call_user_func($this->_fn_isSeekable);135 return ($this->_fn_isSeekable)(); 134 136 } 135 137 136 138 public function rewind(): void 137 139 { 138 call_user_func($this->_fn_rewind);140 ($this->_fn_rewind)(); 139 141 } 140 142 141 143 public function seek($offset, $whence = SEEK_SET): void 142 144 { 143 call_user_func($this->_fn_seek,$offset, $whence);145 ($this->_fn_seek)($offset, $whence); 144 146 } 145 147 146 148 public function isWritable(): bool 147 149 { 148 return call_user_func($this->_fn_isWritable);150 return ($this->_fn_isWritable)(); 149 151 } 150 152 151 153 public function write($string): int 152 154 { 153 return call_user_func($this->_fn_write,$string);155 return ($this->_fn_write)($string); 154 156 } 155 157 156 158 public function isReadable(): bool 157 159 { 158 return call_user_func($this->_fn_isReadable);160 return ($this->_fn_isReadable)(); 159 161 } 160 162 161 163 public function read($length): string 162 164 { 163 return call_user_func($this->_fn_read,$length);165 return ($this->_fn_read)($length); 164 166 } 165 167 166 168 public function getContents(): string 167 169 { 168 return call_user_func($this->_fn_getContents);170 return ($this->_fn_getContents)(); 169 171 } 170 172 171 173 /** 172 * {@inheritdoc}173 *174 174 * @return mixed 175 175 */ 176 176 public function getMetadata($key = null) 177 177 { 178 return call_user_func($this->_fn_getMetadata,$key);178 return ($this->_fn_getMetadata)($key); 179 179 } 180 180 } -
force-reinstall/trunk/vendor/force-reinstall/psr-4/GuzzleHttp/Psr7/Header.php
r2872625 r3427970 23 23 foreach (self::splitList($value) as $val) { 24 24 $part = []; 25 foreach (preg_split('/;(?=([^"]*"[^"]*")*[^"]*$)/', $val) as $kvp) {25 foreach (preg_split('/;(?=([^"]*"[^"]*")*[^"]*$)/', $val) ?: [] as $kvp) { 26 26 if (preg_match_all('/<[^>]+>|[^=]+/', $kvp, $matches)) { 27 27 $m = $matches[0]; … … 90 90 $isQuoted = false; 91 91 $isEscaped = false; 92 for ($i = 0, $max = \strlen($value); $i < $max; $i++) {92 for ($i = 0, $max = \strlen($value); $i < $max; ++$i) { 93 93 if ($isEscaped) { 94 94 $v .= $value[$i]; -
force-reinstall/trunk/vendor/force-reinstall/psr-4/GuzzleHttp/Psr7/HttpFactory.php
r2872625 r3427970 24 24 * and inject the instance of this class multiple times. 25 25 */ 26 final class HttpFactory implements 27 RequestFactoryInterface, 28 ResponseFactoryInterface, 29 ServerRequestFactoryInterface, 30 StreamFactoryInterface, 31 UploadedFileFactoryInterface, 32 UriFactoryInterface 26 final class HttpFactory implements RequestFactoryInterface, ResponseFactoryInterface, ServerRequestFactoryInterface, StreamFactoryInterface, UploadedFileFactoryInterface, UriFactoryInterface 33 27 { 34 28 public function createUploadedFile( 35 29 StreamInterface $stream, 36 int $size = null,30 ?int $size = null, 37 31 int $error = \UPLOAD_ERR_OK, 38 string $clientFilename = null,39 string $clientMediaType = null32 ?string $clientFilename = null, 33 ?string $clientMediaType = null 40 34 ): UploadedFileInterface { 41 35 if ($size === null) { -
force-reinstall/trunk/vendor/force-reinstall/psr-4/GuzzleHttp/Psr7/InflateStream.php
r2872625 r3427970 14 14 * to a Guzzle stream resource to be used as a Guzzle stream. 15 15 * 16 * @ link http://tools.ietf.org/html/rfc195017 * @ link http://tools.ietf.org/html/rfc195218 * @ link http://php.net/manual/en/filters.compression.php16 * @see https://datatracker.ietf.org/doc/html/rfc1950 17 * @see https://datatracker.ietf.org/doc/html/rfc1952 18 * @see https://www.php.net/manual/en/filters.compression.php 19 19 */ 20 20 final class InflateStream implements StreamInterface … … 29 29 $resource = StreamWrapper::getResource($stream); 30 30 // Specify window=15+32, so zlib will use header detection to both gzip (with header) and zlib data 31 // See http ://www.zlib.net/manual.html#Advanced definition of inflateInit231 // See https://www.zlib.net/manual.html#Advanced definition of inflateInit2 32 32 // "Add 32 to windowBits to enable zlib and gzip decoding with automatic header detection" 33 33 // Default window size is 15. -
force-reinstall/trunk/vendor/force-reinstall/psr-4/GuzzleHttp/Psr7/Message.php
r2924444 r3427970 19 19 { 20 20 if ($message instanceof RequestInterface) { 21 $msg = trim($message->getMethod() .' '22 . $message->getRequestTarget())23 . ' HTTP/' .$message->getProtocolVersion();21 $msg = trim($message->getMethod().' ' 22 .$message->getRequestTarget()) 23 .' HTTP/'.$message->getProtocolVersion(); 24 24 if (!$message->hasHeader('host')) { 25 $msg .= "\r\nHost: " .$message->getUri()->getHost();25 $msg .= "\r\nHost: ".$message->getUri()->getHost(); 26 26 } 27 27 } elseif ($message instanceof ResponseInterface) { 28 $msg = 'HTTP/' . $message->getProtocolVersion() .' '29 . $message->getStatusCode() .' '30 . $message->getReasonPhrase();28 $msg = 'HTTP/'.$message->getProtocolVersion().' ' 29 .$message->getStatusCode().' ' 30 .$message->getReasonPhrase(); 31 31 } else { 32 32 throw new \InvalidArgumentException('Unknown message type'); … … 34 34 35 35 foreach ($message->getHeaders() as $name => $values) { 36 if ( strtolower($name) === 'set-cookie') {36 if (is_string($name) && strtolower($name) === 'set-cookie') { 37 37 foreach ($values as $value) { 38 $msg .= "\r\n{$name}: " .$value;38 $msg .= "\r\n{$name}: ".$value; 39 39 } 40 40 } else { 41 $msg .= "\r\n{$name}: " .implode(', ', $values);41 $msg .= "\r\n{$name}: ".implode(', ', $values); 42 42 } 43 43 } 44 44 45 return "{$msg}\r\n\r\n" .$message->getBody();45 return "{$msg}\r\n\r\n".$message->getBody(); 46 46 } 47 47 … … 147 147 // If these aren't the same, then one line didn't match and there's an invalid header. 148 148 if ($count !== substr_count($rawHeaders, "\n")) { 149 // Folding is deprecated, see https:// tools.ietf.org/html/rfc7230#section-3.2.4149 // Folding is deprecated, see https://datatracker.ietf.org/doc/html/rfc7230#section-3.2.4 150 150 if (preg_match(Rfc7230::HEADER_FOLD_REGEX, $rawHeaders)) { 151 151 throw new \InvalidArgumentException('Invalid header syntax: Obsolete line folding'); … … 191 191 $scheme = substr($host, -4) === ':443' ? 'https' : 'http'; 192 192 193 return $scheme . '://' . $host . '/' .ltrim($path, '/');193 return $scheme.'://'.$host.'/'.ltrim($path, '/'); 194 194 } 195 195 … … 228 228 { 229 229 $data = self::parseMessage($message); 230 // According to https:// tools.ietf.org/html/rfc7230#section-3.1.2 the space231 // between status-code and reason-phrase is required. But browsers accept232 // responses without space and reason as well.230 // According to https://datatracker.ietf.org/doc/html/rfc7230#section-3.1.2 231 // the space between status-code and reason-phrase is required. But 232 // browsers accept responses without space and reason as well. 233 233 if (!preg_match('/^HTTP\/.* [0-9]{3}( .*|$)/', $data['start-line'])) { 234 throw new \InvalidArgumentException('Invalid response string: ' .$data['start-line']);234 throw new \InvalidArgumentException('Invalid response string: '.$data['start-line']); 235 235 } 236 236 $parts = explode(' ', $data['start-line'], 3); -
force-reinstall/trunk/vendor/force-reinstall/psr-4/GuzzleHttp/Psr7/MessageTrait.php
r2924444 r3427970 13 13 trait MessageTrait 14 14 { 15 /** @var array<string, string[]>Map of all registered headers, as original name => array of values */15 /** @var string[][] Map of all registered headers, as original name => array of values */ 16 16 private $headers = []; 17 17 18 /** @var array<string, string>Map of lowercase header name => original name at registration */19 private $headerNames = [];18 /** @var string[] Map of lowercase header name => original name at registration */ 19 private $headerNames = []; 20 20 21 21 /** @var string */ … … 38 38 $new = clone $this; 39 39 $new->protocol = $version; 40 40 41 return $new; 41 42 } … … 136 137 $new = clone $this; 137 138 $new->stream = $body; 138 return $new; 139 } 140 141 /** 142 * @param array<string|int, string|string[]> $headers 139 140 return $new; 141 } 142 143 /** 144 * @param (string|string[])[] $headers 143 145 */ 144 146 private function setHeaders(array $headers): void … … 173 175 } 174 176 175 if (count($value) === 0) {176 throw new \InvalidArgumentException('Header value can not be an empty array.');177 }178 179 177 return $this->trimAndValidateHeaderValues($value); 180 178 } … … 192 190 * @return string[] Trimmed header values 193 191 * 194 * @see https:// tools.ietf.org/html/rfc7230#section-3.2.4192 * @see https://datatracker.ietf.org/doc/html/rfc7230#section-3.2.4 195 193 */ 196 194 private function trimAndValidateHeaderValues(array $values): array … … 212 210 213 211 /** 214 * @see https:// tools.ietf.org/html/rfc7230#section-3.2212 * @see https://datatracker.ietf.org/doc/html/rfc7230#section-3.2 215 213 * 216 214 * @param mixed $header … … 225 223 } 226 224 227 if (! preg_match('/^[a-zA-Z0-9\'`#$%&*+.^_|~!-]+$/D', $header)) {225 if (!preg_match('/^[a-zA-Z0-9\'`#$%&*+.^_|~!-]+$/D', $header)) { 228 226 throw new \InvalidArgumentException( 229 227 sprintf('"%s" is not valid header name.', $header) … … 233 231 234 232 /** 235 * @see https:// tools.ietf.org/html/rfc7230#section-3.2233 * @see https://datatracker.ietf.org/doc/html/rfc7230#section-3.2 236 234 * 237 235 * field-value = *( field-content / obs-fold ) … … 255 253 // likely very rare. Line folding is a fairly obscure feature of HTTP/1.1 and thus not accepting 256 254 // folding is not likely to break any legitimate use case. 257 if (! preg_match('/^[\x20\x09\x21-\x7E\x80-\xFF]*$/D', $value)) {255 if (!preg_match('/^[\x20\x09\x21-\x7E\x80-\xFF]*$/D', $value)) { 258 256 throw new \InvalidArgumentException( 259 257 sprintf('"%s" is not valid header value.', $value) -
force-reinstall/trunk/vendor/force-reinstall/psr-4/GuzzleHttp/Psr7/MimeType.php
r2872625 r3427970 19 19 '123' => 'application/vnd.lotus-1-2-3', 20 20 'aab' => 'application/x-authorware-bin', 21 'aac' => 'audio/ x-acc',21 'aac' => 'audio/aac', 22 22 'aam' => 'application/x-authorware-map', 23 23 'aas' => 'application/x-authorware-seg', … … 30 30 'acutc' => 'application/vnd.acucorp', 31 31 'adp' => 'audio/adpcm', 32 'adts' => 'audio/aac', 32 33 'aep' => 'application/vnd.audiograph', 33 34 'afm' => 'application/x-font-type1', … … 42 43 'ait' => 'application/vnd.dvb.ait', 43 44 'ami' => 'application/vnd.amiga.ami', 45 'aml' => 'application/automationml-aml+xml', 46 'amlx' => 'application/automationml-amlx+zip', 44 47 'amr' => 'audio/amr', 45 48 'apk' => 'application/vnd.android.package-archive', 46 49 'apng' => 'image/apng', 47 50 'appcache' => 'text/cache-manifest', 51 'appinstaller' => 'application/appinstaller', 48 52 'application' => 'application/x-ms-application', 53 'appx' => 'application/appx', 54 'appxbundle' => 'application/appxbundle', 49 55 'apr' => 'application/vnd.lotus-approach', 50 56 'arc' => 'application/x-freearc', … … 91 97 'bpmn' => 'application/octet-stream', 92 98 'bsp' => 'model/vnd.valve.source.compiled-map', 99 'btf' => 'image/prs.btif', 93 100 'btif' => 'image/prs.btif', 94 101 'buffer' => 'application/octet-stream', … … 142 149 'cla' => 'application/vnd.claymore', 143 150 'class' => 'application/octet-stream', 151 'cld' => 'model/vnd.cld', 144 152 'clkk' => 'application/vnd.crick.clicker.keyboard', 145 153 'clkp' => 'application/vnd.crick.clicker.palette', … … 176 184 'cu' => 'application/cu-seeme', 177 185 'curl' => 'text/vnd.curl', 186 'cwl' => 'application/cwl', 178 187 'cww' => 'application/prs.cww', 179 188 'cxt' => 'application/x-director', … … 198 207 'dfac' => 'application/vnd.dreamfactory', 199 208 'dgc' => 'application/x-dgc-compressed', 209 'dib' => 'image/bmp', 200 210 'dic' => 'text/x-c', 201 211 'dir' => 'application/x-director', … … 220 230 'dp' => 'application/vnd.osgi.dp', 221 231 'dpg' => 'application/vnd.dpgraph', 232 'dpx' => 'image/dpx', 222 233 'dra' => 'audio/vnd.dra', 223 234 'drle' => 'image/dicom-rle', … … 256 267 'eps' => 'application/postscript', 257 268 'epub' => 'application/epub+zip', 258 'es' => 'application/ecmascript',259 269 'es3' => 'application/vnd.eszigno3+xml', 260 270 'esa' => 'application/vnd.osgi.subsystem', … … 449 459 'jsonml' => 'application/jsonml+json', 450 460 'jsx' => 'text/jsx', 461 'jt' => 'model/jt', 451 462 'jxr' => 'image/jxr', 452 463 'jxra' => 'image/jxra', … … 553 564 'mj2' => 'video/mj2', 554 565 'mjp2' => 'video/mj2', 555 'mjs' => ' application/javascript',566 'mjs' => 'text/javascript', 556 567 'mk3d' => 'video/x-matroska', 557 568 'mka' => 'audio/x-matroska', … … 603 614 'msh' => 'model/mesh', 604 615 'msi' => 'application/x-msdownload', 616 'msix' => 'application/msix', 617 'msixbundle' => 'application/msixbundle', 605 618 'msl' => 'application/vnd.mobius.msl', 606 619 'msm' => 'application/octet-stream', … … 776 789 'pwn' => 'application/vnd.3m.post-it-notes', 777 790 'pya' => 'audio/vnd.ms-playready.media.pya', 791 'pyo' => 'model/vnd.pytha.pyox', 792 'pyox' => 'model/vnd.pytha.pyox', 778 793 'pyv' => 'video/vnd.ms-playready.media.pyv', 779 794 'qam' => 'application/vnd.epson.quickanime', … … 924 939 'stc' => 'application/vnd.sun.xml.calc.template', 925 940 'std' => 'application/vnd.sun.xml.draw.template', 941 'step' => 'application/STEP', 926 942 'stf' => 'application/vnd.wt.stf', 927 943 'sti' => 'application/vnd.sun.xml.impress.template', 928 944 'stk' => 'application/hyperstudio', 929 945 'stl' => 'model/stl', 946 'stp' => 'application/STEP', 930 947 'stpx' => 'model/step+xml', 931 948 'stpxz' => 'model/step-xml+zip', … … 1014 1031 'umj' => 'application/vnd.umajin', 1015 1032 'unityweb' => 'application/vnd.unity', 1033 'uo' => 'application/vnd.uoml+xml', 1016 1034 'uoml' => 'application/vnd.uoml+xml', 1017 1035 'uri' => 'text/uri-list', 1018 1036 'uris' => 'text/uri-list', 1019 1037 'urls' => 'text/uri-list', 1038 'usda' => 'model/vnd.usda', 1020 1039 'usdz' => 'model/vnd.usdz+zip', 1021 1040 'ustar' => 'application/x-ustar', … … 1097 1116 'webp' => 'image/webp', 1098 1117 'wg' => 'application/vnd.pmi.widget', 1118 'wgsl' => 'text/wgsl', 1099 1119 'wgt' => 'application/widget', 1100 1120 'wif' => 'application/watcherinfo+xml', … … 1151 1171 'xenc' => 'application/xenc+xml', 1152 1172 'xer' => 'application/patch-ops-error+xml', 1153 'xfdf' => 'application/ vnd.adobe.xfdf',1173 'xfdf' => 'application/xfdf', 1154 1174 'xfdl' => 'application/vnd.xfdl', 1155 1175 'xht' => 'application/xhtml+xml', 1176 'xhtm' => 'application/vnd.pwg-xhtml-print+xml', 1156 1177 'xhtml' => 'application/xhtml+xml', 1157 1178 'xhvml' => 'application/xv+xml', … … 1184 1205 'xpx' => 'application/vnd.intercon.formnet', 1185 1206 'xsd' => 'application/xml', 1207 'xsf' => 'application/prs.xsf+xml', 1186 1208 'xsl' => 'application/xml', 1187 1209 'xslt' => 'application/xslt+xml', … … 1219 1241 * Determines the mimetype of a file by looking at its extension. 1220 1242 * 1221 * @ linkhttps://raw.githubusercontent.com/jshttp/mime-db/master/db.json1243 * @see https://raw.githubusercontent.com/jshttp/mime-db/master/db.json 1222 1244 */ 1223 1245 public static function fromFilename(string $filename): ?string … … 1229 1251 * Maps a file extensions to a mimetype. 1230 1252 * 1231 * @ linkhttps://raw.githubusercontent.com/jshttp/mime-db/master/db.json1253 * @see https://raw.githubusercontent.com/jshttp/mime-db/master/db.json 1232 1254 */ 1233 1255 public static function fromExtension(string $extension): ?string -
force-reinstall/trunk/vendor/force-reinstall/psr-4/GuzzleHttp/Psr7/MultipartStream.php
r2872625 r3427970 33 33 * @throws \InvalidArgumentException 34 34 */ 35 public function __construct(array $elements = [], string $boundary = null)35 public function __construct(array $elements = [], ?string $boundary = null) 36 36 { 37 37 $this->boundary = $boundary ?: bin2hex(random_bytes(20)); … … 52 52 * Get the headers needed before transferring the content of a POST file 53 53 * 54 * @param array<string, string>$headers54 * @param string[] $headers 55 55 */ 56 56 private function getHeaders(array $headers): string … … 61 61 } 62 62 63 return "--{$this->boundary}\r\n" . trim($str) ."\r\n\r\n";63 return "--{$this->boundary}\r\n".trim($str)."\r\n\r\n"; 64 64 } 65 65 … … 73 73 foreach ($elements as $element) { 74 74 if (!is_array($element)) { 75 throw new \UnexpectedValueException( "An array is expected");75 throw new \UnexpectedValueException('An array is expected'); 76 76 } 77 77 $this->addElement($stream, $element); … … 113 113 } 114 114 115 /** 116 * @param string[] $headers 117 * 118 * @return array{0: StreamInterface, 1: string[]} 119 */ 115 120 private function createElement(string $name, StreamInterface $stream, ?string $filename, array $headers): array 116 121 { 117 122 // Set a default content-disposition header if one was no provided 118 $disposition = $this->getHeader($headers, 'content-disposition');123 $disposition = self::getHeader($headers, 'content-disposition'); 119 124 if (!$disposition) { 120 125 $headers['Content-Disposition'] = ($filename === '0' || $filename) … … 128 133 129 134 // Set a default content-length header if one was no provided 130 $length = $this->getHeader($headers, 'content-length');135 $length = self::getHeader($headers, 'content-length'); 131 136 if (!$length) { 132 137 if ($length = $stream->getSize()) { … … 136 141 137 142 // Set a default Content-Type if one was not supplied 138 $type = $this->getHeader($headers, 'content-type');143 $type = self::getHeader($headers, 'content-type'); 139 144 if (!$type && ($filename === '0' || $filename)) { 140 if ($type = MimeType::fromFilename($filename)) { 141 $headers['Content-Type'] = $type; 142 } 145 $headers['Content-Type'] = MimeType::fromFilename($filename) ?? 'application/octet-stream'; 143 146 } 144 147 … … 146 149 } 147 150 148 private function getHeader(array $headers, string $key) 151 /** 152 * @param string[] $headers 153 */ 154 private static function getHeader(array $headers, string $key): ?string 149 155 { 150 156 $lowercaseHeader = strtolower($key); 151 157 foreach ($headers as $k => $v) { 152 if (strtolower( $k) === $lowercaseHeader) {158 if (strtolower((string) $k) === $lowercaseHeader) { 153 159 return $v; 154 160 } -
force-reinstall/trunk/vendor/force-reinstall/psr-4/GuzzleHttp/Psr7/PumpStream.php
r2872625 r3427970 19 19 final class PumpStream implements StreamInterface 20 20 { 21 /** @var callable |null */21 /** @var callable(int): (string|false|null)|null */ 22 22 private $source; 23 23 … … 35 35 36 36 /** 37 * @param callable(int): (string| null|false) $source Source of the stream data. The callable MAY37 * @param callable(int): (string|false|null) $source Source of the stream data. The callable MAY 38 38 * accept an integer argument used to control the 39 39 * amount of data to return. The callable MUST … … 61 61 } 62 62 trigger_error(sprintf('%s::__toString exception: %s', self::class, (string) $e), E_USER_ERROR); 63 63 64 return ''; 64 65 } … … 150 151 151 152 /** 152 * {@inheritdoc}153 *154 153 * @return mixed 155 154 */ … … 165 164 private function pump(int $length): void 166 165 { 167 if ($this->source ) {166 if ($this->source !== null) { 168 167 do { 169 $data = call_user_func($this->source,$length);168 $data = ($this->source)($length); 170 169 if ($data === false || $data === null) { 171 170 $this->source = null; 171 172 172 return; 173 173 } -
force-reinstall/trunk/vendor/force-reinstall/psr-4/GuzzleHttp/Psr7/Query.php
r2872625 r3427970 64 64 * encountered (like `http_build_query()` would). 65 65 * 66 * @param array $params Query string parameters. 67 * @param int|false $encoding Set to false to not encode, PHP_QUERY_RFC3986 68 * to encode using RFC3986, or PHP_QUERY_RFC1738 69 * to encode using RFC1738. 66 * @param array $params Query string parameters. 67 * @param int|false $encoding Set to false to not encode, 68 * PHP_QUERY_RFC3986 to encode using 69 * RFC3986, or PHP_QUERY_RFC1738 to 70 * encode using RFC1738. 71 * @param bool $treatBoolsAsInts Set to true to encode as 0/1, and 72 * false as false/true. 70 73 */ 71 public static function build(array $params, $encoding = PHP_QUERY_RFC3986 ): string74 public static function build(array $params, $encoding = PHP_QUERY_RFC3986, bool $treatBoolsAsInts = true): string 72 75 { 73 76 if (!$params) { … … 87 90 } 88 91 92 $castBool = $treatBoolsAsInts ? static function ($v) { return (int) $v; } : static function ($v) { return $v ? 'true' : 'false'; }; 93 89 94 $qs = ''; 90 95 foreach ($params as $k => $v) { … … 92 97 if (!is_array($v)) { 93 98 $qs .= $k; 94 $v = is_bool($v) ? (int) $v: $v;99 $v = is_bool($v) ? $castBool($v) : $v; 95 100 if ($v !== null) { 96 $qs .= '=' .$encoder((string) $v);101 $qs .= '='.$encoder((string) $v); 97 102 } 98 103 $qs .= '&'; … … 100 105 foreach ($v as $vv) { 101 106 $qs .= $k; 102 $vv = is_bool($vv) ? (int) $vv: $vv;107 $vv = is_bool($vv) ? $castBool($vv) : $vv; 103 108 if ($vv !== null) { 104 $qs .= '=' .$encoder((string) $vv);109 $qs .= '='.$encoder((string) $vv); 105 110 } 106 111 $qs .= '&'; -
force-reinstall/trunk/vendor/force-reinstall/psr-4/GuzzleHttp/Psr7/Request.php
r2872625 r3427970 29 29 * @param string $method HTTP method 30 30 * @param string|UriInterface $uri URI 31 * @param array<string, string|string[]>$headers Request headers31 * @param (string|string[])[] $headers Request headers 32 32 * @param string|resource|StreamInterface|null $body Request body 33 33 * @param string $version Protocol version … … 70 70 } 71 71 if ($this->uri->getQuery() != '') { 72 $target .= '?' .$this->uri->getQuery();72 $target .= '?'.$this->uri->getQuery(); 73 73 } 74 74 … … 86 86 $new = clone $this; 87 87 $new->requestTarget = $requestTarget; 88 88 89 return $new; 89 90 } … … 99 100 $new = clone $this; 100 101 $new->method = strtoupper($method); 102 101 103 return $new; 102 104 } … … 132 134 133 135 if (($port = $this->uri->getPort()) !== null) { 134 $host .= ':' .$port;136 $host .= ':'.$port; 135 137 } 136 138 … … 142 144 } 143 145 // Ensure Host is the first header. 144 // See: http ://tools.ietf.org/html/rfc7230#section-5.4146 // See: https://datatracker.ietf.org/doc/html/rfc7230#section-5.4 145 147 $this->headers = [$header => [$host]] + $this->headers; 146 148 } -
force-reinstall/trunk/vendor/force-reinstall/psr-4/GuzzleHttp/Psr7/Response.php
r2872625 r3427970 87 87 /** 88 88 * @param int $status Status code 89 * @param array<string, string|string[]>$headers Response headers89 * @param (string|string[])[] $headers Response headers 90 90 * @param string|resource|StreamInterface|null $body Response body 91 91 * @param string $version Protocol version … … 97 97 $body = null, 98 98 string $version = '1.1', 99 string $reason = null99 ?string $reason = null 100 100 ) { 101 101 $this->assertStatusCodeRange($status); … … 139 139 } 140 140 $new->reasonPhrase = (string) $reasonPhrase; 141 141 142 return $new; 142 143 } -
force-reinstall/trunk/vendor/force-reinstall/psr-4/GuzzleHttp/Psr7/Rfc7230.php
r2872625 r3427970 15 15 * Note: header delimiter (\r\n) is modified to \r?\n to accept line feed only delimiters for BC reasons. 16 16 * 17 * @ linkhttps://github.com/amphp/http/blob/v1.0.1/src/Rfc7230.php#L12-L1517 * @see https://github.com/amphp/http/blob/v1.0.1/src/Rfc7230.php#L12-L15 18 18 * 19 19 * @license https://github.com/amphp/http/blob/v1.0.1/LICENSE -
force-reinstall/trunk/vendor/force-reinstall/psr-4/GuzzleHttp/Psr7/ServerRequest.php
r2924444 r3427970 60 60 * @param string $method HTTP method 61 61 * @param string|UriInterface $uri URI 62 * @param array<string, string|string[]>$headers Request headers62 * @param (string|string[])[] $headers Request headers 63 63 * @param string|resource|StreamInterface|null $body Request body 64 64 * @param string $version Protocol version … … 145 145 $spec = [ 146 146 'tmp_name' => $files['tmp_name'][$key], 147 'size' => $files['size'][$key] ?? null,148 'error' => $files['error'][$key] ?? null,149 'name' => $files['name'][$key] ?? null,150 'type' => $files['type'][$key] ?? null,147 'size' => $files['size'][$key] ?? null, 148 'error' => $files['error'][$key] ?? null, 149 'name' => $files['name'][$key] ?? null, 150 'type' => $files['type'][$key] ?? null, 151 151 ]; 152 152 $normalizedFiles[$key] = self::createUploadedFileFromSpec($spec); … … 183 183 private static function extractHostAndPortFromAuthority(string $authority): array 184 184 { 185 $uri = 'http://' .$authority;185 $uri = 'http://'.$authority; 186 186 $parts = parse_url($uri); 187 187 if (false === $parts) { … … 287 287 288 288 /** 289 * {@inheritdoc}290 *291 289 * @return array|object|null 292 290 */ … … 310 308 311 309 /** 312 * {@inheritdoc}313 *314 310 * @return mixed 315 311 */ -
force-reinstall/trunk/vendor/force-reinstall/psr-4/GuzzleHttp/Psr7/Stream.php
r2872625 r3427970 13 13 { 14 14 /** 15 * @see http ://php.net/manual/function.fopen.php16 * @see http ://php.net/manual/en/function.gzopen.php15 * @see https://www.php.net/manual/en/function.fopen.php 16 * @see https://www.php.net/manual/en/function.gzopen.php 17 17 */ 18 18 private const READABLE_MODES = '/r|a\+|ab\+|w\+|wb\+|x\+|xb\+|c\+|cb\+/'; … … 62 62 $meta = stream_get_meta_data($this->stream); 63 63 $this->seekable = $meta['seekable']; 64 $this->readable = (bool) preg_match(self::READABLE_MODES, $meta['mode']);65 $this->writable = (bool) preg_match(self::WRITABLE_MODES, $meta['mode']);64 $this->readable = (bool) preg_match(self::READABLE_MODES, $meta['mode']); 65 $this->writable = (bool) preg_match(self::WRITABLE_MODES, $meta['mode']); 66 66 $this->uri = $this->getMetadata('uri'); 67 67 } … … 81 81 $this->seek(0); 82 82 } 83 83 84 return $this->getContents(); 84 85 } catch (\Throwable $e) { … … 87 88 } 88 89 trigger_error(sprintf('%s::__toString exception: %s', self::class, (string) $e), E_USER_ERROR); 90 89 91 return ''; 90 92 } … … 146 148 if (is_array($stats) && isset($stats['size'])) { 147 149 $this->size = $stats['size']; 150 148 151 return $this->size; 149 152 } … … 208 211 if (fseek($this->stream, $offset, $whence) === -1) { 209 212 throw new \RuntimeException('Unable to seek to stream position ' 210 . $offset . ' with whence ' .var_export($whence, true));213 .$offset.' with whence '.var_export($whence, true)); 211 214 } 212 215 } … … 262 265 263 266 /** 264 * {@inheritdoc}265 *266 267 * @return mixed 267 268 */ -
force-reinstall/trunk/vendor/force-reinstall/psr-4/GuzzleHttp/Psr7/StreamDecoratorTrait.php
r2872625 r3427970 32 32 if ($name === 'stream') { 33 33 $this->stream = $this->createStream(); 34 34 35 return $this->stream; 35 36 } … … 44 45 $this->seek(0); 45 46 } 47 46 48 return $this->getContents(); 47 49 } catch (\Throwable $e) { … … 50 52 } 51 53 trigger_error(sprintf('%s::__toString exception: %s', self::class, (string) $e), E_USER_ERROR); 54 52 55 return ''; 53 56 } … … 68 71 /** @var callable $callable */ 69 72 $callable = [$this->stream, $method]; 70 $result = call_user_func_array($callable,$args);73 $result = ($callable)(...$args); 71 74 72 75 // Always return the wrapped object if the result is a return $this … … 80 83 81 84 /** 82 * {@inheritdoc}83 *84 85 * @return mixed 85 86 */ -
force-reinstall/trunk/vendor/force-reinstall/psr-4/GuzzleHttp/Psr7/StreamWrapper.php
r2872625 r3427970 42 42 } else { 43 43 throw new \InvalidArgumentException('The stream must be readable, ' 44 . 'writable, or both.');44 .'writable, or both.'); 45 45 } 46 46 … … 56 56 { 57 57 return stream_context_create([ 58 'guzzle' => ['stream' => $stream] 58 'guzzle' => ['stream' => $stream], 59 59 ]); 60 60 } … … 70 70 } 71 71 72 public function stream_open(string $path, string $mode, int $options, string &$opened_path = null): bool72 public function stream_open(string $path, string $mode, int $options, ?string &$opened_path = null): bool 73 73 { 74 74 $options = stream_context_get_options($this->context); … … 116 116 public function stream_cast(int $cast_as) 117 117 { 118 $stream = clone ($this->stream);118 $stream = clone $this->stream; 119 119 $resource = $stream->detach(); 120 120 … … 123 123 124 124 /** 125 * @return array<int|string, int> 126 */ 127 public function stream_stat(): array 128 { 125 * @return array{ 126 * dev: int, 127 * ino: int, 128 * mode: int, 129 * nlink: int, 130 * uid: int, 131 * gid: int, 132 * rdev: int, 133 * size: int, 134 * atime: int, 135 * mtime: int, 136 * ctime: int, 137 * blksize: int, 138 * blocks: int 139 * }|false 140 */ 141 public function stream_stat() 142 { 143 if ($this->stream->getSize() === null) { 144 return false; 145 } 146 129 147 static $modeMap = [ 130 'r' => 33060,148 'r' => 33060, 131 149 'rb' => 33060, 132 150 'r+' => 33206, 133 'w' => 33188,134 'wb' => 33188 151 'w' => 33188, 152 'wb' => 33188, 135 153 ]; 136 154 137 155 return [ 138 'dev' => 0,139 'ino' => 0,140 'mode' => $modeMap[$this->mode],141 'nlink' => 0,142 'uid' => 0,143 'gid' => 0,144 'rdev' => 0,145 'size' => $this->stream->getSize() ?: 0,146 'atime' => 0,147 'mtime' => 0,148 'ctime' => 0,156 'dev' => 0, 157 'ino' => 0, 158 'mode' => $modeMap[$this->mode], 159 'nlink' => 0, 160 'uid' => 0, 161 'gid' => 0, 162 'rdev' => 0, 163 'size' => $this->stream->getSize() ?: 0, 164 'atime' => 0, 165 'mtime' => 0, 166 'ctime' => 0, 149 167 'blksize' => 0, 150 'blocks' => 0168 'blocks' => 0, 151 169 ]; 152 170 } 153 171 154 172 /** 155 * @return array<int|string, int> 173 * @return array{ 174 * dev: int, 175 * ino: int, 176 * mode: int, 177 * nlink: int, 178 * uid: int, 179 * gid: int, 180 * rdev: int, 181 * size: int, 182 * atime: int, 183 * mtime: int, 184 * ctime: int, 185 * blksize: int, 186 * blocks: int 187 * } 156 188 */ 157 189 public function url_stat(string $path, int $flags): array 158 190 { 159 191 return [ 160 'dev' => 0,161 'ino' => 0,162 'mode' => 0,163 'nlink' => 0,164 'uid' => 0,165 'gid' => 0,166 'rdev' => 0,167 'size' => 0,168 'atime' => 0,169 'mtime' => 0,170 'ctime' => 0,192 'dev' => 0, 193 'ino' => 0, 194 'mode' => 0, 195 'nlink' => 0, 196 'uid' => 0, 197 'gid' => 0, 198 'rdev' => 0, 199 'size' => 0, 200 'atime' => 0, 201 'mtime' => 0, 202 'ctime' => 0, 171 203 'blksize' => 0, 172 'blocks' => 0204 'blocks' => 0, 173 205 ]; 174 206 } -
force-reinstall/trunk/vendor/force-reinstall/psr-4/GuzzleHttp/Psr7/UploadedFile.php
r2872625 r3427970 12 12 class UploadedFile implements UploadedFileInterface 13 13 { 14 private const ERROR S= [15 UPLOAD_ERR_OK ,16 UPLOAD_ERR_INI_SIZE ,17 UPLOAD_ERR_FORM_SIZE ,18 UPLOAD_ERR_PARTIAL ,19 UPLOAD_ERR_NO_FILE ,20 UPLOAD_ERR_NO_TMP_DIR ,21 UPLOAD_ERR_CANT_WRITE ,22 UPLOAD_ERR_EXTENSION ,14 private const ERROR_MAP = [ 15 UPLOAD_ERR_OK => 'UPLOAD_ERR_OK', 16 UPLOAD_ERR_INI_SIZE => 'UPLOAD_ERR_INI_SIZE', 17 UPLOAD_ERR_FORM_SIZE => 'UPLOAD_ERR_FORM_SIZE', 18 UPLOAD_ERR_PARTIAL => 'UPLOAD_ERR_PARTIAL', 19 UPLOAD_ERR_NO_FILE => 'UPLOAD_ERR_NO_FILE', 20 UPLOAD_ERR_NO_TMP_DIR => 'UPLOAD_ERR_NO_TMP_DIR', 21 UPLOAD_ERR_CANT_WRITE => 'UPLOAD_ERR_CANT_WRITE', 22 UPLOAD_ERR_EXTENSION => 'UPLOAD_ERR_EXTENSION', 23 23 ]; 24 24 … … 65 65 ?int $size, 66 66 int $errorStatus, 67 string $clientFilename = null,68 string $clientMediaType = null67 ?string $clientFilename = null, 68 ?string $clientMediaType = null 69 69 ) { 70 70 $this->setError($errorStatus); … … 105 105 private function setError(int $error): void 106 106 { 107 if ( false === in_array($error, UploadedFile::ERRORS, true)) {107 if (!isset(UploadedFile::ERROR_MAP[$error])) { 108 108 throw new InvalidArgumentException( 109 109 'Invalid error status for UploadedFile' … … 114 114 } 115 115 116 private function isStringNotEmpty($param): bool116 private static function isStringNotEmpty($param): bool 117 117 { 118 118 return is_string($param) && false === empty($param); … … 138 138 { 139 139 if (false === $this->isOk()) { 140 throw new RuntimeException( 'Cannot retrieve stream due to upload error');140 throw new RuntimeException(\sprintf('Cannot retrieve stream due to upload error (%s)', self::ERROR_MAP[$this->error])); 141 141 } 142 142 … … 164 164 $this->validateActive(); 165 165 166 if (false === $this->isStringNotEmpty($targetPath)) {166 if (false === self::isStringNotEmpty($targetPath)) { 167 167 throw new InvalidArgumentException( 168 168 'Invalid path provided for move operation; must be a non-empty string' -
force-reinstall/trunk/vendor/force-reinstall/psr-4/GuzzleHttp/Psr7/Uri.php
r2872625 r3427970 26 26 27 27 private const DEFAULT_PORTS = [ 28 'http' => 80,28 'http' => 80, 29 29 'https' => 443, 30 30 'ftp' => 21, … … 42 42 * Unreserved characters for use in a regex. 43 43 * 44 * @ link https://tools.ietf.org/html/rfc3986#section-2.344 * @see https://datatracker.ietf.org/doc/html/rfc3986#section-2.3 45 45 */ 46 46 private const CHAR_UNRESERVED = 'a-zA-Z0-9_\-\.~'; … … 49 49 * Sub-delims for use in a regex. 50 50 * 51 * @ link https://tools.ietf.org/html/rfc3986#section-2.251 * @see https://datatracker.ietf.org/doc/html/rfc3986#section-2.2 52 52 */ 53 53 private const CHAR_SUB_DELIMS = '!\$&\'\(\)\*\+,;='; … … 88 88 } 89 89 } 90 90 91 /** 91 92 * UTF-8 aware \parse_url() replacement. … … 107 108 // If IPv6 108 109 $prefix = ''; 109 if (preg_match('%^(.*://\[[0-9:a-f ]+\])(.*?)$%', $url, $matches)) {110 if (preg_match('%^(.*://\[[0-9:a-fA-F]+\])(.*?)$%', $url, $matches)) { 110 111 /** @var array{0:string, 1:string, 2:string} $matches */ 111 112 $prefix = $matches[1]; … … 122 123 ); 123 124 124 $result = parse_url($prefix .$encodedUrl);125 $result = parse_url($prefix.$encodedUrl); 125 126 126 127 if ($result === false) { … … 162 163 * that format). 163 164 * 164 * @ link https://tools.ietf.org/html/rfc3986#section-5.3165 * @see https://datatracker.ietf.org/doc/html/rfc3986#section-5.3 165 166 */ 166 167 public static function composeComponents(?string $scheme, ?string $authority, string $path, ?string $query, ?string $fragment): string … … 170 171 // weak type checks to also accept null until we can add scalar type hints 171 172 if ($scheme != '') { 172 $uri .= $scheme .':';173 $uri .= $scheme.':'; 173 174 } 174 175 175 176 if ($authority != '' || $scheme === 'file') { 176 $uri .= '//' .$authority;177 $uri .= '//'.$authority; 177 178 } 178 179 179 180 if ($authority != '' && $path != '' && $path[0] != '/') { 180 $path = '/' .$path;181 $path = '/'.$path; 181 182 } 182 183 … … 184 185 185 186 if ($query != '') { 186 $uri .= '?' .$query;187 $uri .= '?'.$query; 187 188 } 188 189 189 190 if ($fragment != '') { 190 $uri .= '#' .$fragment;191 $uri .= '#'.$fragment; 191 192 } 192 193 … … 219 220 * @see Uri::isAbsolutePathReference 220 221 * @see Uri::isRelativePathReference 221 * @ link https://tools.ietf.org/html/rfc3986#section-4222 * @see https://datatracker.ietf.org/doc/html/rfc3986#section-4 222 223 */ 223 224 public static function isAbsolute(UriInterface $uri): bool … … 231 232 * A relative reference that begins with two slash characters is termed an network-path reference. 232 233 * 233 * @ link https://tools.ietf.org/html/rfc3986#section-4.2234 * @see https://datatracker.ietf.org/doc/html/rfc3986#section-4.2 234 235 */ 235 236 public static function isNetworkPathReference(UriInterface $uri): bool … … 243 244 * A relative reference that begins with a single slash character is termed an absolute-path reference. 244 245 * 245 * @ link https://tools.ietf.org/html/rfc3986#section-4.2246 * @see https://datatracker.ietf.org/doc/html/rfc3986#section-4.2 246 247 */ 247 248 public static function isAbsolutePathReference(UriInterface $uri): bool … … 258 259 * A relative reference that does not begin with a slash character is termed a relative-path reference. 259 260 * 260 * @ link https://tools.ietf.org/html/rfc3986#section-4.2261 * @see https://datatracker.ietf.org/doc/html/rfc3986#section-4.2 261 262 */ 262 263 public static function isRelativePathReference(UriInterface $uri): bool … … 277 278 * @param UriInterface|null $base An optional base URI to compare against 278 279 * 279 * @ link https://tools.ietf.org/html/rfc3986#section-4.4280 */ 281 public static function isSameDocumentReference(UriInterface $uri, UriInterface $base = null): bool280 * @see https://datatracker.ietf.org/doc/html/rfc3986#section-4.4 281 */ 282 public static function isSameDocumentReference(UriInterface $uri, ?UriInterface $base = null): bool 282 283 { 283 284 if ($base !== null) { … … 336 337 * It has the same behavior as withQueryValue() but for an associative array of key => value. 337 338 * 338 * @param UriInterface $uri URI to use as a base.339 * @param array<string, string|null>$keyValueArray Associative array of key and values339 * @param UriInterface $uri URI to use as a base. 340 * @param (string|null)[] $keyValueArray Associative array of key and values 340 341 */ 341 342 public static function withQueryValues(UriInterface $uri, array $keyValueArray): UriInterface … … 353 354 * Creates a URI from a hash of `parse_url` components. 354 355 * 355 * @ link http://php.net/manual/en/function.parse-url.php356 * @see https://www.php.net/manual/en/function.parse-url.php 356 357 * 357 358 * @throws MalformedUriException If the components do not form a valid URI. … … 375 376 $authority = $this->host; 376 377 if ($this->userInfo !== '') { 377 $authority = $this->userInfo . '@' .$authority;378 $authority = $this->userInfo.'@'.$authority; 378 379 } 379 380 380 381 if ($this->port !== null) { 381 $authority .= ':' .$this->port;382 $authority .= ':'.$this->port; 382 383 } 383 384 … … 436 437 $info = $this->filterUserInfoComponent($user); 437 438 if ($password !== null) { 438 $info .= ':' .$this->filterUserInfoComponent($password);439 $info .= ':'.$this->filterUserInfoComponent($password); 439 440 } 440 441 … … 564 565 : ''; 565 566 if (isset($parts['pass'])) { 566 $this->userInfo .= ':' .$this->filterUserInfoComponent($parts['pass']);567 $this->userInfo .= ':'.$this->filterUserInfoComponent($parts['pass']); 567 568 } 568 569 … … 596 597 597 598 return preg_replace_callback( 598 '/(?:[^%' . self::CHAR_UNRESERVED . self::CHAR_SUB_DELIMS .']+|%(?![A-Fa-f0-9]{2}))/',599 '/(?:[^%'.self::CHAR_UNRESERVED.self::CHAR_SUB_DELIMS.']+|%(?![A-Fa-f0-9]{2}))/', 599 600 [$this, 'rawurlencodeMatchZero'], 600 601 $component … … 628 629 629 630 $port = (int) $port; 630 if (0 > $port || 0x ffff< $port) {631 if (0 > $port || 0xFFFF < $port) { 631 632 throw new \InvalidArgumentException( 632 633 sprintf('Invalid port: %d. Must be between 0 and 65535', $port) … … 638 639 639 640 /** 640 * @param string[] $keys641 * @param (string|int)[] $keys 641 642 * 642 643 * @return string[] … … 650 651 } 651 652 652 $decodedKeys = array_map('rawurldecode', $keys); 653 $decodedKeys = array_map(function ($k): string { 654 return rawurldecode((string) $k); 655 }, $keys); 653 656 654 657 return array_filter(explode('&', $current), function ($part) use ($decodedKeys) { … … 665 668 666 669 if ($value !== null) { 667 $queryString .= '=' .strtr($value, self::QUERY_SEPARATORS_REPLACEMENT);670 $queryString .= '='.strtr($value, self::QUERY_SEPARATORS_REPLACEMENT); 668 671 } 669 672 … … 692 695 693 696 return preg_replace_callback( 694 '/(?:[^' . self::CHAR_UNRESERVED . self::CHAR_SUB_DELIMS .'%:@\/]++|%(?![A-Fa-f0-9]{2}))/',697 '/(?:[^'.self::CHAR_UNRESERVED.self::CHAR_SUB_DELIMS.'%:@\/]++|%(?![A-Fa-f0-9]{2}))/', 695 698 [$this, 'rawurlencodeMatchZero'], 696 699 $path … … 712 715 713 716 return preg_replace_callback( 714 '/(?:[^' . self::CHAR_UNRESERVED . self::CHAR_SUB_DELIMS .'%:@\/\?]++|%(?![A-Fa-f0-9]{2}))/',717 '/(?:[^'.self::CHAR_UNRESERVED.self::CHAR_SUB_DELIMS.'%:@\/\?]++|%(?![A-Fa-f0-9]{2}))/', 715 718 [$this, 'rawurlencodeMatchZero'], 716 719 $str -
force-reinstall/trunk/vendor/force-reinstall/psr-4/GuzzleHttp/Psr7/UriNormalizer.php
r2872625 r3427970 12 12 * @author Tobias Schultze 13 13 * 14 * @ link https://tools.ietf.org/html/rfc3986#section-614 * @see https://datatracker.ietf.org/doc/html/rfc3986#section-6 15 15 */ 16 16 final class UriNormalizer … … 120 120 * @param int $flags A bitmask of normalizations to apply, see constants 121 121 * 122 * @ link https://tools.ietf.org/html/rfc3986#section-6.2122 * @see https://datatracker.ietf.org/doc/html/rfc3986#section-6.2 123 123 */ 124 124 public static function normalize(UriInterface $uri, int $flags = self::PRESERVING_NORMALIZATIONS): UriInterface … … 132 132 } 133 133 134 if ($flags & self::CONVERT_EMPTY_PATH && $uri->getPath() === '' &&135 ($uri->getScheme() === 'http' || $uri->getScheme() === 'https')134 if ($flags & self::CONVERT_EMPTY_PATH && $uri->getPath() === '' 135 && ($uri->getScheme() === 'http' || $uri->getScheme() === 'https') 136 136 ) { 137 137 $uri = $uri->withPath('/'); … … 175 175 * @param int $normalizations A bitmask of normalizations to apply, see constants 176 176 * 177 * @ link https://tools.ietf.org/html/rfc3986#section-6.1177 * @see https://datatracker.ietf.org/doc/html/rfc3986#section-6.1 178 178 */ 179 179 public static function isEquivalent(UriInterface $uri1, UriInterface $uri2, int $normalizations = self::PRESERVING_NORMALIZATIONS): bool … … 186 186 $regex = '/(?:%[A-Fa-f0-9]{2})++/'; 187 187 188 $callback = function (array $match) {188 $callback = function (array $match): string { 189 189 return strtoupper($match[0]); 190 190 }; … … 202 202 $regex = '/%(?:2D|2E|5F|7E|3[0-9]|[46][1-9A-F]|[57][0-9A])/i'; 203 203 204 $callback = function (array $match) {204 $callback = function (array $match): string { 205 205 return rawurldecode($match[0]); 206 206 }; -
force-reinstall/trunk/vendor/force-reinstall/psr-4/GuzzleHttp/Psr7/UriResolver.php
r2872625 r3427970 12 12 * @author Tobias Schultze 13 13 * 14 * @ link https://tools.ietf.org/html/rfc3986#section-514 * @see https://datatracker.ietf.org/doc/html/rfc3986#section-5 15 15 */ 16 16 final class UriResolver … … 19 19 * Removes dot segments from a path and returns the new path. 20 20 * 21 * @ link http://tools.ietf.org/html/rfc3986#section-5.2.421 * @see https://datatracker.ietf.org/doc/html/rfc3986#section-5.2.4 22 22 */ 23 23 public static function removeDotSegments(string $path): string … … 41 41 if ($path[0] === '/' && (!isset($newPath[0]) || $newPath[0] !== '/')) { 42 42 // Re-add the leading slash if necessary for cases like "/.." 43 $newPath = '/' .$newPath;43 $newPath = '/'.$newPath; 44 44 } elseif ($newPath !== '' && ($segment === '.' || $segment === '..')) { 45 45 // Add the trailing slash if necessary … … 54 54 * Converts the relative URI into a new URI that is resolved against the base URI. 55 55 * 56 * @ link http://tools.ietf.org/html/rfc3986#section-5.256 * @see https://datatracker.ietf.org/doc/html/rfc3986#section-5.2 57 57 */ 58 58 public static function resolve(UriInterface $base, UriInterface $rel): UriInterface … … 81 81 } else { 82 82 if ($targetAuthority != '' && $base->getPath() === '') { 83 $targetPath = '/' .$rel->getPath();83 $targetPath = '/'.$rel->getPath(); 84 84 } else { 85 85 $lastSlashPos = strrpos($base->getPath(), '/'); … … 87 87 $targetPath = $rel->getPath(); 88 88 } else { 89 $targetPath = substr($base->getPath(), 0, $lastSlashPos + 1) .$rel->getPath();89 $targetPath = substr($base->getPath(), 0, $lastSlashPos + 1).$rel->getPath(); 90 90 } 91 91 } … … 128 128 public static function relativize(UriInterface $base, UriInterface $target): UriInterface 129 129 { 130 if ($target->getScheme() !== '' &&131 ($base->getScheme() !== $target->getScheme() || $target->getAuthority() === '' && $base->getAuthority() !== '')130 if ($target->getScheme() !== '' 131 && ($base->getScheme() !== $target->getScheme() || $target->getAuthority() === '' && $base->getAuthority() !== '') 132 132 ) { 133 133 return $target; … … 186 186 } 187 187 $targetSegments[] = $targetLastSegment; 188 $relativePath = str_repeat('../', count($sourceSegments)) .implode('/', $targetSegments);188 $relativePath = str_repeat('../', count($sourceSegments)).implode('/', $targetSegments); 189 189 190 190 // A reference to am empty last segment or an empty first sub-segment must be prefixed with "./". -
force-reinstall/trunk/vendor/force-reinstall/psr-4/GuzzleHttp/Psr7/Utils.php
r2872625 r3427970 15 15 * Remove the items given by the keys, case insensitively from the data. 16 16 * 17 * @param string[] $keys17 * @param (string|int)[] $keys 18 18 */ 19 19 public static function caselessRemove(array $keys, array $data): array … … 22 22 23 23 foreach ($keys as &$key) { 24 $key = strtolower( $key);24 $key = strtolower((string) $key); 25 25 } 26 26 27 27 foreach ($data as $k => $v) { 28 if (!i s_string($k) || !in_array(strtolower($k), $keys)) {28 if (!in_array(strtolower((string) $k), $keys)) { 29 29 $result[$k] = $v; 30 30 } … … 91 91 $buffer .= $buf; 92 92 } 93 93 94 return $buffer; 94 95 } … … 175 176 $scheme = $changes['uri']->getScheme(); 176 177 if (isset($standardPorts[$scheme]) && $port != $standardPorts[$scheme]) { 177 $changes['set_headers']['Host'] .= ':' .$port;178 $changes['set_headers']['Host'] .= ':'.$port; 178 179 } 179 180 } … … 248 249 249 250 return $buffer; 251 } 252 253 /** 254 * Redact the password in the user info part of a URI. 255 */ 256 public static function redactUserInfo(UriInterface $uri): UriInterface 257 { 258 $userInfo = $uri->getUserInfo(); 259 260 if (false !== ($pos = \strpos($userInfo, ':'))) { 261 return $uri->withUserInfo(\substr($userInfo, 0, $pos), '***'); 262 } 263 264 return $uri; 250 265 } 251 266 … … 292 307 fseek($stream, 0); 293 308 } 309 294 310 return new Stream($stream, $options); 295 311 } … … 309 325 $resource = $stream; 310 326 } 327 311 328 return new Stream($resource, $options); 312 329 case 'object': … … 321 338 $result = $resource->current(); 322 339 $resource->next(); 340 323 341 return $result; 324 342 }, $options); … … 335 353 } 336 354 337 throw new \InvalidArgumentException('Invalid resource type: ' .gettype($resource));355 throw new \InvalidArgumentException('Invalid resource type: '.gettype($resource)); 338 356 } 339 357 … … 380 398 381 399 if ($ex) { 382 /** @var $ex \RuntimeException*/400 /** @var \RuntimeException $ex */ 383 401 throw $ex; 384 402 } … … 427 445 428 446 if ($ex) { 429 /** @var $ex \RuntimeException*/447 /** @var \RuntimeException $ex */ 430 448 throw $ex; 431 449 } -
force-reinstall/trunk/vendor/force-reinstall/psr-4/GuzzleHttp/RedirectMiddleware.php
r2924444 r3427970 167 167 // would do. 168 168 $statusCode = $response->getStatusCode(); 169 if ($statusCode == 303 ||170 ($statusCode <= 302 && !$options['allow_redirects']['strict'])169 if ($statusCode == 303 170 || ($statusCode <= 302 && !$options['allow_redirects']['strict']) 171 171 ) { 172 172 $safeMethods = ['GET', 'HEAD', 'OPTIONS']; -
force-reinstall/trunk/vendor/force-reinstall/psr-4/GuzzleHttp/RequestOptions.php
r2924444 r3427970 6 6 * This class contains a list of built-in Guzzle request options. 7 7 * 8 * More documentation for each option can be found at http://guzzlephp.org/. 9 * 10 * @see http://docs.guzzlephp.org/en/v6/request-options.html 8 * @see https://docs.guzzlephp.org/en/latest/request-options.html 11 9 */ 12 10 final class RequestOptions … … 64 62 * jar to use or what cookies to send. This option only works if your 65 63 * handler has the `cookie` middleware. Valid values are `false` and 66 * an instance of {@see \Rich4rdMuvirimi\ForceReinstall\Vendor\GuzzleHttp\Cookie\CookieJarInterface}.64 * an instance of {@see Cookie\CookieJarInterface}. 67 65 */ 68 66 public const COOKIES = 'cookies'; -
force-reinstall/trunk/vendor/force-reinstall/psr-4/GuzzleHttp/RetryMiddleware.php
r2924444 r3427970 41 41 * milliseconds to delay. 42 42 */ 43 public function __construct(callable $decider, callable $nextHandler, callable $delay = null)43 public function __construct(callable $decider, callable $nextHandler, ?callable $delay = null) 44 44 { 45 45 $this->decider = $decider; … … 111 111 } 112 112 113 private function doRetry(RequestInterface $request, array $options, ResponseInterface $response = null): PromiseInterface113 private function doRetry(RequestInterface $request, array $options, ?ResponseInterface $response = null): PromiseInterface 114 114 { 115 115 $options['delay'] = ($this->delay)(++$options['retries'], $response, $request); -
force-reinstall/trunk/vendor/force-reinstall/psr-4/GuzzleHttp/Utils.php
r2924444 r3427970 72 72 } 73 73 74 return \Rich4rdMuvirimi\ForceReinstall\Vendor\GuzzleHttp\Psr7\Utils::tryFopen('php://output', 'w');74 return Psr7\Utils::tryFopen('php://output', 'w'); 75 75 } 76 76 … … 80 80 * The returned handler is not wrapped by any default middlewares. 81 81 * 82 * @return callable(\Rich4rdMuvirimi\ForceReinstall\Vendor\Psr\Http\Message\RequestInterface, array): \Rich4rdMuvirimi\ForceReinstall\Vendor\GuzzleHttp\Promise\PromiseInterface Returns the best handler for the given system.82 * @return callable(\Rich4rdMuvirimi\ForceReinstall\Vendor\Psr\Http\Message\RequestInterface, array): Promise\PromiseInterface Returns the best handler for the given system. 83 83 * 84 84 * @throws \RuntimeException if no viable Handler is available. … … 88 88 $handler = null; 89 89 90 if (\defined('CURLOPT_CUSTOMREQUEST') ) {90 if (\defined('CURLOPT_CUSTOMREQUEST') && \function_exists('curl_version') && version_compare(curl_version()['version'], '7.21.2') >= 0) { 91 91 if (\function_exists('curl_multi_exec') && \function_exists('curl_exec')) { 92 92 $handler = Proxy::wrapSync(new CurlMultiHandler(), new CurlHandler()); … … 177 177 CA bundle by default. In order to verify peer certificates, you will need to 178 178 supply the path on disk to a certificate bundle to the 'verify' request 179 option: http://docs.guzzlephp.org/en/latest/clients.html#verify. If you do not 180 need a specific certificate bundle, then Mozilla provides a commonly used CA 181 bundle which can be downloaded here (provided by the maintainer of cURL): 182 https://curl.haxx.se/ca/cacert.pem. Once 183 you have a CA bundle available on disk, you can set the 'openssl.cafile' PHP 184 ini setting to point to the path to the file, allowing you to omit the 'verify' 185 request option. See https://curl.haxx.se/docs/sslcerts.html for more 186 information. 179 option: https://docs.guzzlephp.org/en/latest/request-options.html#verify. If 180 you do not need a specific certificate bundle, then Mozilla provides a commonly 181 used CA bundle which can be downloaded here (provided by the maintainer of 182 cURL): https://curl.haxx.se/ca/cacert.pem. Once you have a CA bundle available 183 on disk, you can set the 'openssl.cafile' PHP ini setting to point to the path 184 to the file, allowing you to omit the 'verify' request option. See 185 https://curl.haxx.se/docs/sslcerts.html for more information. 187 186 EOT 188 187 ); -
force-reinstall/trunk/vendor/force-reinstall/psr-4/GuzzleHttp/functions.php
r2924444 r3427970 51 51 * The returned handler is not wrapped by any default middlewares. 52 52 * 53 * @return callable(\Rich4rdMuvirimi\ForceReinstall\Vendor\Psr\Http\Message\RequestInterface, array): \Rich4rdMuvirimi\ForceReinstall\Vendor\GuzzleHttp\Promise\PromiseInterface Returns the best handler for the given system.53 * @return callable(\Rich4rdMuvirimi\ForceReinstall\Vendor\Psr\Http\Message\RequestInterface, array): Promise\PromiseInterface Returns the best handler for the given system. 54 54 * 55 55 * @throws \RuntimeException if no viable Handler is available. -
force-reinstall/trunk/vendor/force-reinstall/psr-4/Psr/Http/Message/UploadedFileFactoryInterface.php
r2872625 r3427970 16 16 * @param StreamInterface $stream Underlying stream representing the 17 17 * uploaded file content. 18 * @param int $size in bytes18 * @param int|null $size in bytes 19 19 * @param int $error PHP file upload error 20 * @param string $clientFilename Filename as provided by the client, if any.21 * @param string $clientMediaType Media type as provided by the client, if any.20 * @param string|null $clientFilename Filename as provided by the client, if any. 21 * @param string|null $clientMediaType Media type as provided by the client, if any. 22 22 * 23 23 * @return UploadedFileInterface … … 27 27 public function createUploadedFile( 28 28 StreamInterface $stream, 29 int $size = null,29 ?int $size = null, 30 30 int $error = \UPLOAD_ERR_OK, 31 string $clientFilename = null,32 string $clientMediaType = null31 ?string $clientFilename = null, 32 ?string $clientMediaType = null 33 33 ): UploadedFileInterface; 34 34 } -
force-reinstall/trunk/vendor/force-reinstall/psr-4/Symfony/Polyfill/Php74/LICENSE
r2872625 r3427970 1 Copyright (c) 2019 Fabien Potencier1 Copyright (c) 2019-present Fabien Potencier 2 2 3 3 Permission is hereby granted, free of charge, to any person obtaining a copy -
force-reinstall/trunk/vendor/force-reinstall/psr-4/Symfony/Polyfill/Php74/bootstrap.php
r2872625 r3427970 19 19 function get_mangled_object_vars($object) { return p\Php74::get_mangled_object_vars($object); } 20 20 } 21 if (!function_exists('mb_str_split') && function_exists('mb_substr')) {22 function mb_str_split($string, $length = 1, $encoding = null) { return p\Php74::mb_str_split($string, $length, $encoding); }23 }24 21 if (!function_exists('password_algos')) { 25 22 function password_algos() { return p\Php74::password_algos(); } 26 23 } 24 if (extension_loaded('mbstring')) { 25 if (!function_exists('mb_str_split')) { 26 function mb_str_split($string, $length = 1, $encoding = null) { return p\Php74::mb_str_split($string, $length, $encoding); } 27 } 28 } -
force-reinstall/trunk/vendor/force-reinstall/psr-4/Symfony/Polyfill/Php74/composer.json
r2872625 r3427970 21 21 ], 22 22 "require": { 23 "php": ">=7. 1"23 "php": ">=7.2" 24 24 }, 25 25 "autoload": { … … 29 29 "minimum-stability": "dev", 30 30 "extra": { 31 "branch-alias": {32 "dev-main": "1.27-dev"33 },34 31 "thanks": { 35 32 "name": "symfony/polyfill", -
force-reinstall/trunk/vendor/force-reinstall/psr-4/Symfony/Polyfill/Php80/LICENSE
r2872625 r3427970 1 Copyright (c) 2020 Fabien Potencier1 Copyright (c) 2020-present Fabien Potencier 2 2 3 3 Permission is hereby granted, free of charge, to any person obtaining a copy -
force-reinstall/trunk/vendor/force-reinstall/psr-4/Symfony/Polyfill/Php80/PhpToken.php
r2872625 r3427970 30 30 31 31 /** 32 * @var int32 * @var -1|positive-int 33 33 */ 34 34 public $line; … … 39 39 public $pos; 40 40 41 /** 42 * @param -1|positive-int $line 43 */ 41 44 public function __construct(int $id, string $text, int $line = -1, int $position = -1) 42 45 { … … 81 84 82 85 /** 83 * @return static[]86 * @return list<static> 84 87 */ 85 88 public static function tokenize(string $code, int $flags = 0): array -
force-reinstall/trunk/vendor/force-reinstall/psr-4/Symfony/Polyfill/Php80/composer.json
r2872625 r3427970 21 21 ], 22 22 "require": { 23 "php": ">=7. 1"23 "php": ">=7.2" 24 24 }, 25 25 "autoload": { … … 30 30 "minimum-stability": "dev", 31 31 "extra": { 32 "branch-alias": {33 "dev-main": "1.27-dev"34 },35 32 "thanks": { 36 33 "name": "symfony/polyfill", -
force-reinstall/trunk/vendor/force-reinstall/psr-4/Symfony/Polyfill/Php81/LICENSE
r2872625 r3427970 1 Copyright (c) 2021 Fabien Potencier1 Copyright (c) 2021-present Fabien Potencier 2 2 3 3 Permission is hereby granted, free of charge, to any person obtaining a copy -
force-reinstall/trunk/vendor/force-reinstall/psr-4/Symfony/Polyfill/Php81/README.md
r2872625 r3427970 8 8 - [`MYSQLI_REFRESH_REPLICA`](https://php.net/mysqli.constants#constantmysqli-refresh-replica) constant 9 9 - [`ReturnTypeWillChange`](https://wiki.php.net/rfc/internal_method_return_types) 10 - [`CURLStringFile`](https://php.net/CURLStringFile) (but only if PHP >= 7.4 is used) 10 11 11 12 More information can be found in the -
force-reinstall/trunk/vendor/force-reinstall/psr-4/Symfony/Polyfill/Php81/composer.json
r2872625 r3427970 17 17 ], 18 18 "require": { 19 "php": ">=7. 1"19 "php": ">=7.2" 20 20 }, 21 21 "autoload": { … … 26 26 "minimum-stability": "dev", 27 27 "extra": { 28 "branch-alias": {29 "dev-main": "1.27-dev"30 },31 28 "thanks": { 32 29 "name": "symfony/polyfill", -
force-reinstall/trunk/vendor/force-reinstall/psr-4/Symfony/Polyfill/Php82/LICENSE
r2872625 r3427970 1 Copyright (c) 2022 Fabien Potencier1 Copyright (c) 2022-present Fabien Potencier 2 2 3 3 Permission is hereby granted, free of charge, to any person obtaining a copy -
force-reinstall/trunk/vendor/force-reinstall/psr-4/Symfony/Polyfill/Php82/README.md
r2872625 r3427970 10 10 - [`Random\Engine\CryptoSafeEngine`](https://wiki.php.net/rfc/rng_extension) 11 11 - [`Random\Engine\Secure`](https://wiki.php.net/rfc/rng_extension) (check [arokettu/random-polyfill](https://packagist.org/packages/arokettu/random-polyfill) for more engines) 12 - [`odbc_connection_string_is_quoted()`](https://php.net/odbc_connection_string_is_quoted) 13 - [`odbc_connection_string_should_quote()`](https://php.net/odbc_connection_string_should_quote) 14 - [`odbc_connection_string_quote()`](https://php.net/odbc_connection_string_quote) 15 - [`ini_parse_quantity()`](https://php.net/ini_parse_quantity) 12 16 13 17 More information can be found in the -
force-reinstall/trunk/vendor/force-reinstall/psr-4/Symfony/Polyfill/Php82/bootstrap.php
r2872625 r3427970 10 10 */ 11 11 12 use Rich4rdMuvirimi\ForceReinstall\Vendor\Symfony\Polyfill\Php82 as p; 13 12 14 if (\PHP_VERSION_ID >= 80200) { 13 15 return; 14 16 } 17 18 if (extension_loaded('odbc')) { 19 if (!function_exists('odbc_connection_string_is_quoted')) { 20 function odbc_connection_string_is_quoted(string $str): bool { return p\Php82::odbc_connection_string_is_quoted($str); } 21 } 22 23 if (!function_exists('odbc_connection_string_should_quote')) { 24 function odbc_connection_string_should_quote(string $str): bool { return p\Php82::odbc_connection_string_should_quote($str); } 25 } 26 27 if (!function_exists('odbc_connection_string_quote')) { 28 function odbc_connection_string_quote(string $str): string { return p\Php82::odbc_connection_string_quote($str); } 29 } 30 } 31 32 if (!function_exists('ini_parse_quantity')) { 33 function ini_parse_quantity(string $shorthand): int { return p\Php82::ini_parse_quantity($shorthand); } 34 } -
force-reinstall/trunk/vendor/force-reinstall/psr-4/Symfony/Polyfill/Php82/composer.json
r2872625 r3427970 17 17 ], 18 18 "require": { 19 "php": ">=7. 1"19 "php": ">=7.2" 20 20 }, 21 21 "autoload": { … … 26 26 "minimum-stability": "dev", 27 27 "extra": { 28 "branch-alias": {29 "dev-main": "1.27-dev"30 },31 28 "thanks": { 32 29 "name": "symfony/polyfill", -
force-reinstall/trunk/vendor/symfony/deprecation-contracts/LICENSE
r2871586 r3427970 1 Copyright (c) 2020- 2022Fabien Potencier1 Copyright (c) 2020-present Fabien Potencier 2 2 3 3 Permission is hereby granted, free of charge, to any person obtaining a copy
Note: See TracChangeset
for help on using the changeset viewer.