From 9a8bab86fcbe78eb580ffa91941f84e3102dfd32 Mon Sep 17 00:00:00 2001 From: Hazhar Galeh Date: Wed, 3 Aug 2022 12:57:45 +0200 Subject: [PATCH 1/4] Resolve PHP 8.1 deprecations --- application/Utils.php | 5 +++-- .../api/controllers/HistoryController.php | 2 +- application/bookmark/BookmarkArray.php | 20 +++++++++---------- application/bookmark/LinkUtils.php | 2 +- .../formatter/BookmarkDefaultFormatter.php | 2 +- .../controller/admin/ThumbnailsController.php | 2 +- application/helper/ApplicationUtils.php | 2 +- application/http/Url.php | 1 + application/legacy/LegacyLinkDB.php | 20 +++++++++---------- 9 files changed, 29 insertions(+), 27 deletions(-) diff --git a/application/Utils.php b/application/Utils.php index 073004cfa..71833cae0 100644 --- a/application/Utils.php +++ b/application/Utils.php @@ -61,6 +61,7 @@ function smallHash($text) */ function startsWith($haystack, $needle, $case = true) { + $needle = $needle ?? ''; if ($case) { return (strcmp(substr($haystack, 0, strlen($needle)), $needle) === 0); } @@ -181,7 +182,7 @@ function generateLocation($referer, $host, $loopTerms = []) } $refererHost = parse_url($referer, PHP_URL_HOST); - if (!empty($referer) && (strpos($refererHost, $host) !== false || startsWith('?', $refererHost))) { + if (!empty($referer) && (strpos($refererHost ?? '', $host) !== false || startsWith('?', $refererHost))) { $finalReferer = $referer; } @@ -292,7 +293,7 @@ function generate_api_secret($username, $salt) */ function normalize_spaces($string) { - return preg_replace('/\s{2,}/', ' ', trim($string)); + return preg_replace('/\s{2,}/', ' ', trim($string ?? '')); } /** diff --git a/application/api/controllers/HistoryController.php b/application/api/controllers/HistoryController.php index d83a3a25c..e16036f6d 100644 --- a/application/api/controllers/HistoryController.php +++ b/application/api/controllers/HistoryController.php @@ -30,7 +30,7 @@ public function getHistory($request, $response) $history = $this->history->getHistory(); // Return history operations from the {offset}th, starting from {since}. - $since = \DateTime::createFromFormat(\DateTime::ATOM, $request->getParam('since')); + $since = \DateTime::createFromFormat(\DateTime::ATOM, $request->getParam('since', '')); $offset = $request->getParam('offset'); if (empty($offset)) { $offset = 0; diff --git a/application/bookmark/BookmarkArray.php b/application/bookmark/BookmarkArray.php index b93281166..0c1a6ecab 100644 --- a/application/bookmark/BookmarkArray.php +++ b/application/bookmark/BookmarkArray.php @@ -57,7 +57,7 @@ public function __construct() * * @return int Number of bookmarks */ - public function count() + public function count(): int { return count($this->bookmarks); } @@ -70,7 +70,7 @@ public function count() * * @throws InvalidBookmarkException */ - public function offsetSet($offset, $value) + public function offsetSet($offset, $value): void { if ( ! $value instanceof Bookmark @@ -106,7 +106,7 @@ public function offsetSet($offset, $value) * * @return bool true if it exists, false otherwise */ - public function offsetExists($offset) + public function offsetExists($offset): bool { return array_key_exists($this->getBookmarkOffset($offset), $this->bookmarks); } @@ -116,7 +116,7 @@ public function offsetExists($offset) * * @param int $offset Bookmark ID */ - public function offsetUnset($offset) + public function offsetUnset($offset): void { $realOffset = $this->getBookmarkOffset($offset); $url = $this->bookmarks[$realOffset]->getUrl(); @@ -132,7 +132,7 @@ public function offsetUnset($offset) * * @return Bookmark|null The Bookmark if found, null otherwise */ - public function offsetGet($offset) + public function offsetGet($offset): ?Bookmark { $realOffset = $this->getBookmarkOffset($offset); return isset($this->bookmarks[$realOffset]) ? $this->bookmarks[$realOffset] : null; @@ -143,7 +143,7 @@ public function offsetGet($offset) * * @return Bookmark corresponding to the current position */ - public function current() + public function current(): Bookmark { return $this[$this->keys[$this->position]]; } @@ -153,7 +153,7 @@ public function current() * * @return int Bookmark ID corresponding to the current position */ - public function key() + public function key(): int { return $this->keys[$this->position]; } @@ -161,7 +161,7 @@ public function key() /** * Iterator - Moves forward to next element */ - public function next() + public function next(): void { ++$this->position; } @@ -171,7 +171,7 @@ public function next() * * Entries are sorted by date (latest first) */ - public function rewind() + public function rewind(): void { $this->keys = array_keys($this->ids); $this->position = 0; @@ -182,7 +182,7 @@ public function rewind() * * @return bool true if the current Bookmark ID exists, false otherwise */ - public function valid() + public function valid(): bool { return isset($this->keys[$this->position]); } diff --git a/application/bookmark/LinkUtils.php b/application/bookmark/LinkUtils.php index 8fa2953a7..112b6f001 100644 --- a/application/bookmark/LinkUtils.php +++ b/application/bookmark/LinkUtils.php @@ -219,7 +219,7 @@ function tags_str2array(?string $tags, string $separator): array // For whitespaces, we use the special \s regex character $separator = $separator === ' ' ? '\s' : $separator; - return preg_split('/\s*' . $separator . '+\s*/', trim($tags) ?? '', -1, PREG_SPLIT_NO_EMPTY); + return preg_split('/\s*' . $separator . '+\s*/', trim($tags ?? ''), -1, PREG_SPLIT_NO_EMPTY); } /** diff --git a/application/formatter/BookmarkDefaultFormatter.php b/application/formatter/BookmarkDefaultFormatter.php index 12a4db72c..8cd52891c 100644 --- a/application/formatter/BookmarkDefaultFormatter.php +++ b/application/formatter/BookmarkDefaultFormatter.php @@ -118,7 +118,7 @@ protected function formatRealUrl($bookmark) $prefix = rtrim($this->contextData['base_path'], '/') . '/'; } - return escape($prefix ?? '') . escape(ltrim($bookmark->getUrl(), '/')); + return escape($prefix ?? '') . escape(ltrim($bookmark->getUrl() ?? '', '/')); } return escape($bookmark->getUrl()); diff --git a/application/front/controller/admin/ThumbnailsController.php b/application/front/controller/admin/ThumbnailsController.php index 5dfea0964..665dfd03e 100644 --- a/application/front/controller/admin/ThumbnailsController.php +++ b/application/front/controller/admin/ThumbnailsController.php @@ -45,7 +45,7 @@ public function index(Request $request, Response $response): Response */ public function ajaxUpdate(Request $request, Response $response, array $args): Response { - $id = $args['id'] ?? null; + $id = $args['id'] ?? ''; if (false === ctype_digit($id)) { return $response->withStatus(400); diff --git a/application/helper/ApplicationUtils.php b/application/helper/ApplicationUtils.php index f79998b51..bc6e944ce 100644 --- a/application/helper/ApplicationUtils.php +++ b/application/helper/ApplicationUtils.php @@ -238,7 +238,7 @@ public static function checkResourcePermissions(ConfigManager $conf, bool $minim $conf->get('resource.update_check'), ] as $path ) { - if (!is_file(realpath($path))) { + if (!is_file(realpath($path ?? ''))) { # the file may not exist yet continue; } diff --git a/application/http/Url.php b/application/http/Url.php index fe87088f2..129957bf9 100644 --- a/application/http/Url.php +++ b/application/http/Url.php @@ -61,6 +61,7 @@ class Url */ public function __construct($url) { + $url = $url ?? ''; $url = self::cleanupUnparsedUrl(trim($url)); $this->parts = parse_url($url); diff --git a/application/legacy/LegacyLinkDB.php b/application/legacy/LegacyLinkDB.php index d3beafe0d..686e1d980 100644 --- a/application/legacy/LegacyLinkDB.php +++ b/application/legacy/LegacyLinkDB.php @@ -116,7 +116,7 @@ public function __construct( /** * Countable - Counts elements of an object */ - public function count() + public function count(): int { return count($this->links); } @@ -124,7 +124,7 @@ public function count() /** * ArrayAccess - Assigns a value to the specified offset */ - public function offsetSet($offset, $value) + public function offsetSet($offset, $value): void { // TODO: use exceptions instead of "die" if (!$this->loggedIn) { @@ -155,7 +155,7 @@ public function offsetSet($offset, $value) /** * ArrayAccess - Whether or not an offset exists */ - public function offsetExists($offset) + public function offsetExists($offset): bool { return array_key_exists($this->getLinkOffset($offset), $this->links); } @@ -163,7 +163,7 @@ public function offsetExists($offset) /** * ArrayAccess - Unsets an offset */ - public function offsetUnset($offset) + public function offsetUnset($offset): void { if (!$this->loggedIn) { // TODO: raise an exception @@ -179,7 +179,7 @@ public function offsetUnset($offset) /** * ArrayAccess - Returns the value at specified offset */ - public function offsetGet($offset) + public function offsetGet($offset): ?array { $realOffset = $this->getLinkOffset($offset); return isset($this->links[$realOffset]) ? $this->links[$realOffset] : null; @@ -188,7 +188,7 @@ public function offsetGet($offset) /** * Iterator - Returns the current element */ - public function current() + public function current(): array { return $this[$this->keys[$this->position]]; } @@ -196,7 +196,7 @@ public function current() /** * Iterator - Returns the key of the current element */ - public function key() + public function key(): string { return $this->keys[$this->position]; } @@ -204,7 +204,7 @@ public function key() /** * Iterator - Moves forward to next element */ - public function next() + public function next(): void { ++$this->position; } @@ -214,7 +214,7 @@ public function next() * * Entries are sorted by date (latest first) */ - public function rewind() + public function rewind(): void { $this->keys = array_keys($this->ids); $this->position = 0; @@ -223,7 +223,7 @@ public function rewind() /** * Iterator - Checks if current position is valid */ - public function valid() + public function valid(): bool { return isset($this->keys[$this->position]); } From 3728943c22b6323192a06277126651aec78ebe5a Mon Sep 17 00:00:00 2001 From: Hazhar Galeh Date: Wed, 3 Aug 2022 13:26:56 +0200 Subject: [PATCH 2/4] key might be int or string In production code key seems to always be int, but in test code the key might be a string when testing in `LegacyUpdaterTest`. --- application/legacy/LegacyLinkDB.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/application/legacy/LegacyLinkDB.php b/application/legacy/LegacyLinkDB.php index 686e1d980..e404008ee 100644 --- a/application/legacy/LegacyLinkDB.php +++ b/application/legacy/LegacyLinkDB.php @@ -196,7 +196,8 @@ public function current(): array /** * Iterator - Returns the key of the current element */ - public function key(): string + #[\ReturnTypeWillChange] + public function key() { return $this->keys[$this->position]; } From fa583ada1939d292a929337ccf47f3e2cd73b2ed Mon Sep 17 00:00:00 2001 From: Hazhar Galeh Date: Wed, 3 Aug 2022 16:39:00 +0200 Subject: [PATCH 3/4] WIP --- .github/workflows/ci.yml | 2 +- application/bookmark/BookmarkFileService.php | 3 +- composer.json | 11 +- composer.lock | 1964 ++++++++++++------ doc/md/Server-configuration.md | 14 +- init.php | 2 +- tests/bootstrap.php | 8 - 7 files changed, 1364 insertions(+), 640 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 34580321e..f2452fffa 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -5,7 +5,7 @@ jobs: runs-on: ubuntu-18.04 strategy: matrix: - php-versions: ['7.1', '7.2', '7.3', '7.4', '8.0', '8.1'] + php-versions: ['7.4', '8.0', '8.1'] name: PHP ${{ matrix.php-versions }} steps: - name: Set locales diff --git a/application/bookmark/BookmarkFileService.php b/application/bookmark/BookmarkFileService.php index 9faf1c3bd..3e5d563cc 100644 --- a/application/bookmark/BookmarkFileService.php +++ b/application/bookmark/BookmarkFileService.php @@ -110,8 +110,7 @@ public function __construct( public function findByHash(string $hash, string $privateKey = null): Bookmark { $bookmark = $this->bookmarkFilter->filter(BookmarkFilter::$FILTER_HASH, $hash); - // PHP 7.3 introduced array_key_first() to avoid this hack - $first = reset($bookmark); + $first = $bookmark[array_key_first($bookmark)]; if ( !$this->isLoggedIn && $first->isPrivate() diff --git a/composer.json b/composer.json index 2563906f2..52a45cf86 100644 --- a/composer.json +++ b/composer.json @@ -12,11 +12,11 @@ "config": { "sort-packages": true, "platform": { - "php": "7.1.29" + "php": "7.4.0" } }, "require": { - "php": ">=7.1", + "php": "^7.4 || ^8.0", "ext-json": "*", "ext-zlib": "*", "arthurhoaro/web-thumbnailer": "^2.0", @@ -27,12 +27,13 @@ "malkusch/lock": "^2.1", "pubsubhubbub/publisher": "dev-master", "shaarli/netscape-bookmark-parser": "^3.0", - "slim/slim": "^3.0" + "slim/http": "^1.2", + "slim/slim": "^4.10" }, "require-dev": { + "phpunit/phpunit": "^9.5", "roave/security-advisories": "dev-master", - "squizlabs/php_codesniffer": "3.*", - "phpunit/phpunit": "^7.0 || ^8.0 || ^9.0" + "squizlabs/php_codesniffer": "3.*" }, "suggest": { "ext-curl": "Allows fetching web pages and thumbnails in a more robust way", diff --git a/composer.lock b/composer.lock index e9f2ff1c1..7f8bc25e0 100644 --- a/composer.lock +++ b/composer.lock @@ -4,20 +4,20 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "83852dec81e299a117a81206a5091472", + "content-hash": "4f74811e96b71ad35d3b5a2e564f210f", "packages": [ { "name": "arthurhoaro/web-thumbnailer", - "version": "v2.0.5", + "version": "v2.1.0", "source": { "type": "git", "url": "https://github.com/ArthurHoaro/web-thumbnailer.git", - "reference": "5f755df06f40affefe1beb4493b4b754055bf393" + "reference": "47675fc58f6fd1dfd63f911b6e86ee5f31e8efd1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/ArthurHoaro/web-thumbnailer/zipball/5f755df06f40affefe1beb4493b4b754055bf393", - "reference": "5f755df06f40affefe1beb4493b4b754055bf393", + "url": "https://api.github.com/repos/ArthurHoaro/web-thumbnailer/zipball/47675fc58f6fd1dfd63f911b6e86ee5f31e8efd1", + "reference": "47675fc58f6fd1dfd63f911b6e86ee5f31e8efd1", "shasum": "" }, "require": { @@ -28,16 +28,13 @@ "gskema/phpcs-type-sniff": "^0.13.1", "php-coveralls/php-coveralls": "^2.0", "phpstan/phpstan": "^0.12.9", - "phpunit/phpunit": "^7.0 || ^8.0 || ^9.0", + "phpunit/phpunit": "^7.0 || ^8.0 || ^9.0 || dev-master", "squizlabs/php_codesniffer": "^3.0" }, "type": "library", "autoload": { - "psr-0": { - "WebThumbnailer\\": [ - "src/", - "tests/" - ] + "psr-4": { + "WebThumbnailer\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", @@ -47,15 +44,15 @@ "authors": [ { "name": "Arthur Hoaro", - "homepage": "http://hoa.ro" + "homepage": "https://hoa.ro" } ], "description": "PHP library which will retrieve a thumbnail for any given URL", "support": { "issues": "https://github.com/ArthurHoaro/web-thumbnailer/issues", - "source": "https://github.com/ArthurHoaro/web-thumbnailer/tree/v2.0.5" + "source": "https://github.com/ArthurHoaro/web-thumbnailer/tree/v2.1.0" }, - "time": "2021-03-27T12:53:49+00:00" + "time": "2021-05-08T11:20:56+00:00" }, { "name": "erusev/parsedown", @@ -160,16 +157,16 @@ }, { "name": "gettext/gettext", - "version": "v4.8.4", + "version": "v4.8.7", "source": { "type": "git", "url": "https://github.com/php-gettext/Gettext.git", - "reference": "58bc0f7f37e78efb0f9758f93d4a0f669f0f84a1" + "reference": "3f7bc5ef23302a9059e64934f3d59e454516bec0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-gettext/Gettext/zipball/58bc0f7f37e78efb0f9758f93d4a0f669f0f84a1", - "reference": "58bc0f7f37e78efb0f9758f93d4a0f669f0f84a1", + "url": "https://api.github.com/repos/php-gettext/Gettext/zipball/3f7bc5ef23302a9059e64934f3d59e454516bec0", + "reference": "3f7bc5ef23302a9059e64934f3d59e454516bec0", "shasum": "" }, "require": { @@ -177,7 +174,7 @@ "php": ">=5.4.0" }, "require-dev": { - "illuminate/view": "*", + "illuminate/view": "^5.0.x-dev", "phpunit/phpunit": "^4.8|^5.7|^6.5", "squizlabs/php_codesniffer": "^3.0", "symfony/yaml": "~2", @@ -221,7 +218,7 @@ "support": { "email": "oom@oscarotero.com", "issues": "https://github.com/oscarotero/Gettext/issues", - "source": "https://github.com/php-gettext/Gettext/tree/v4.8.4" + "source": "https://github.com/php-gettext/Gettext/tree/v4.8.7" }, "funding": [ { @@ -237,27 +234,26 @@ "type": "patreon" } ], - "time": "2021-03-10T19:35:49+00:00" + "time": "2022-08-02T09:42:10+00:00" }, { "name": "gettext/languages", - "version": "2.6.0", + "version": "2.9.0", "source": { "type": "git", "url": "https://github.com/php-gettext/Languages.git", - "reference": "38ea0482f649e0802e475f0ed19fa993bcb7a618" + "reference": "ed56dd2c7f4024cc953ed180d25f02f2640e3ffa" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-gettext/Languages/zipball/38ea0482f649e0802e475f0ed19fa993bcb7a618", - "reference": "38ea0482f649e0802e475f0ed19fa993bcb7a618", + "url": "https://api.github.com/repos/php-gettext/Languages/zipball/ed56dd2c7f4024cc953ed180d25f02f2640e3ffa", + "reference": "ed56dd2c7f4024cc953ed180d25f02f2640e3ffa", "shasum": "" }, "require": { "php": ">=5.3" }, "require-dev": { - "friendsofphp/php-cs-fixer": "^2.16.0", "phpunit/phpunit": "^4.8 || ^5.7 || ^6.5 || ^7.5 || ^8.4" }, "bin": [ @@ -300,22 +296,32 @@ ], "support": { "issues": "https://github.com/php-gettext/Languages/issues", - "source": "https://github.com/php-gettext/Languages/tree/2.6.0" + "source": "https://github.com/php-gettext/Languages/tree/2.9.0" }, - "time": "2019-11-13T10:30:21+00:00" + "funding": [ + { + "url": "https://paypal.me/mlocati", + "type": "custom" + }, + { + "url": "https://github.com/mlocati", + "type": "github" + } + ], + "time": "2021-11-11T17:30:39+00:00" }, { "name": "katzgrau/klogger", - "version": "1.2.1", + "version": "1.2.2", "source": { "type": "git", "url": "https://github.com/katzgrau/KLogger.git", - "reference": "a4ed373fa8a214aa4ae7aa4f221fe2c6ce862ef1" + "reference": "36481c69db9305169a2ceadead25c2acaabd567c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/katzgrau/KLogger/zipball/a4ed373fa8a214aa4ae7aa4f221fe2c6ce862ef1", - "reference": "a4ed373fa8a214aa4ae7aa4f221fe2c6ce862ef1", + "url": "https://api.github.com/repos/katzgrau/KLogger/zipball/36481c69db9305169a2ceadead25c2acaabd567c", + "reference": "36481c69db9305169a2ceadead25c2acaabd567c", "shasum": "" }, "require": { @@ -323,7 +329,7 @@ "psr/log": "^1.0.0" }, "require-dev": { - "phpunit/phpunit": "4.0.*" + "phpunit/phpunit": "^6.0.0" }, "type": "library", "autoload": { @@ -354,45 +360,49 @@ ], "support": { "issues": "https://github.com/katzgrau/KLogger/issues", - "source": "https://github.com/katzgrau/KLogger/tree/master" + "source": "https://github.com/katzgrau/KLogger/tree/1.2.2" }, - "time": "2016-11-07T19:29:14+00:00" + "time": "2022-07-29T20:41:14+00:00" }, { "name": "malkusch/lock", - "version": "v2.1", + "version": "v2.2.1", "source": { "type": "git", "url": "https://github.com/php-lock/lock.git", - "reference": "093f389ec2f38fc8686d2f70e23378182fce7714" + "reference": "63c1b268f521a702cb8755ed92631c1fac1775e6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-lock/lock/zipball/093f389ec2f38fc8686d2f70e23378182fce7714", - "reference": "093f389ec2f38fc8686d2f70e23378182fce7714", + "url": "https://api.github.com/repos/php-lock/lock/zipball/63c1b268f521a702cb8755ed92631c1fac1775e6", + "reference": "63c1b268f521a702cb8755ed92631c1fac1775e6", "shasum": "" }, "require": { - "php": ">=7.1", - "psr/log": "^1" + "php": "^7.2 || ^8.0", + "psr/log": "^1|^2|^3" }, "require-dev": { "eloquent/liberator": "^2.0", "ext-memcached": "*", "ext-pcntl": "*", + "ext-pdo": "*", "ext-pdo_mysql": "*", "ext-pdo_sqlite": "*", - "ext-redis": "*", "ext-sysvsem": "*", + "friendsofphp/php-cs-fixer": "^2.16", "johnkary/phpunit-speedtrap": "^3.0", - "kriswallsmith/spork": "^0.3", - "mikey179/vfsstream": "^1.6", + "mikey179/vfsstream": "^1.6.7", "php-mock/php-mock-phpunit": "^2.1", - "phpunit/phpunit": "^7.4", + "phpstan/phpstan": "^0.12.58", + "phpunit/phpunit": "^9.4", "predis/predis": "^1.1", + "spatie/async": "^1.5", "squizlabs/php_codesniffer": "^3.3" }, "suggest": { + "ext-igbinary": "To use this library with PHP Redis igbinary serializer enabled.", + "ext-lzf": "To use this library with PHP Redis lzf compression enabled.", "ext-pnctl": "Enables locking with flock without busy waiting in CLI scripts.", "ext-redis": "To use this library with the PHP Redis extension.", "ext-sysvsem": "Enables locking using semaphores.", @@ -439,9 +449,9 @@ ], "support": { "issues": "https://github.com/php-lock/lock/issues", - "source": "https://github.com/php-lock/lock/tree/v2.1" + "source": "https://github.com/php-lock/lock/tree/v2.2.1" }, - "time": "2018-12-12T19:53:29+00:00" + "time": "2022-04-26T09:25:15+00:00" }, { "name": "nikic/fast-route", @@ -465,12 +475,12 @@ }, "type": "library", "autoload": { - "psr-4": { - "FastRoute\\": "src/" - }, "files": [ "src/functions.php" - ] + ], + "psr-4": { + "FastRoute\\": "src/" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -495,22 +505,30 @@ }, { "name": "phpunit/php-text-template", - "version": "1.2.1", + "version": "2.0.4", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-text-template.git", - "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686" + "reference": "5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/31f8b717e51d9a2afca6c9f046f5d69fc27c8686", - "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686", + "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28", + "reference": "5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28", "shasum": "" }, "require": { - "php": ">=5.3.3" + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" }, "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0-dev" + } + }, "autoload": { "classmap": [ "src/" @@ -534,40 +552,42 @@ ], "support": { "issues": "https://github.com/sebastianbergmann/php-text-template/issues", - "source": "https://github.com/sebastianbergmann/php-text-template/tree/1.2.1" + "source": "https://github.com/sebastianbergmann/php-text-template/tree/2.0.4" }, - "time": "2015-06-21T13:50:34+00:00" + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-10-26T05:33:50+00:00" }, { - "name": "pimple/pimple", - "version": "v3.2.3", + "name": "psr/container", + "version": "2.0.2", "source": { "type": "git", - "url": "https://github.com/silexphp/Pimple.git", - "reference": "9e403941ef9d65d20cba7d54e29fe906db42cf32" + "url": "https://github.com/php-fig/container.git", + "reference": "c71ecc56dfe541dbd90c5360474fbc405f8d5963" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/silexphp/Pimple/zipball/9e403941ef9d65d20cba7d54e29fe906db42cf32", - "reference": "9e403941ef9d65d20cba7d54e29fe906db42cf32", + "url": "https://api.github.com/repos/php-fig/container/zipball/c71ecc56dfe541dbd90c5360474fbc405f8d5963", + "reference": "c71ecc56dfe541dbd90c5360474fbc405f8d5963", "shasum": "" }, "require": { - "php": ">=5.3.0", - "psr/container": "^1.0" - }, - "require-dev": { - "symfony/phpunit-bridge": "^3.2" + "php": ">=7.4.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "3.2.x-dev" + "dev-master": "2.0.x-dev" } }, "autoload": { - "psr-0": { - "Pimple": "src/" + "psr-4": { + "Psr\\Container\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", @@ -576,38 +596,42 @@ ], "authors": [ { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" + "name": "PHP-FIG", + "homepage": "https://www.php-fig.org/" } ], - "description": "Pimple, a simple Dependency Injection Container", - "homepage": "http://pimple.sensiolabs.org", + "description": "Common Container Interface (PHP FIG PSR-11)", + "homepage": "https://github.com/php-fig/container", "keywords": [ + "PSR-11", "container", - "dependency injection" + "container-interface", + "container-interop", + "psr" ], "support": { - "issues": "https://github.com/silexphp/Pimple/issues", - "source": "https://github.com/silexphp/Pimple/tree/master" + "issues": "https://github.com/php-fig/container/issues", + "source": "https://github.com/php-fig/container/tree/2.0.2" }, - "time": "2018-01-21T07:42:36+00:00" + "time": "2021-11-05T16:47:00+00:00" }, { - "name": "psr/container", - "version": "1.0.0", + "name": "psr/http-factory", + "version": "1.0.1", "source": { "type": "git", - "url": "https://github.com/php-fig/container.git", - "reference": "b7ce3b176482dbbc1245ebf52b181af44c2cf55f" + "url": "https://github.com/php-fig/http-factory.git", + "reference": "12ac7fcd07e5b077433f5f2bee95b3a771bf61be" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-fig/container/zipball/b7ce3b176482dbbc1245ebf52b181af44c2cf55f", - "reference": "b7ce3b176482dbbc1245ebf52b181af44c2cf55f", + "url": "https://api.github.com/repos/php-fig/http-factory/zipball/12ac7fcd07e5b077433f5f2bee95b3a771bf61be", + "reference": "12ac7fcd07e5b077433f5f2bee95b3a771bf61be", "shasum": "" }, "require": { - "php": ">=5.3.0" + "php": ">=7.0.0", + "psr/http-message": "^1.0" }, "type": "library", "extra": { @@ -617,7 +641,7 @@ }, "autoload": { "psr-4": { - "Psr\\Container\\": "src/" + "Psr\\Http\\Message\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", @@ -630,20 +654,21 @@ "homepage": "http://www.php-fig.org/" } ], - "description": "Common Container Interface (PHP FIG PSR-11)", - "homepage": "https://github.com/php-fig/container", + "description": "Common interfaces for PSR-7 HTTP message factories", "keywords": [ - "PSR-11", - "container", - "container-interface", - "container-interop", - "psr" + "factory", + "http", + "message", + "psr", + "psr-17", + "psr-7", + "request", + "response" ], "support": { - "issues": "https://github.com/php-fig/container/issues", - "source": "https://github.com/php-fig/container/tree/master" + "source": "https://github.com/php-fig/http-factory/tree/master" }, - "time": "2017-02-14T16:28:37+00:00" + "time": "2019-04-30T12:38:16+00:00" }, { "name": "psr/http-message", @@ -698,6 +723,120 @@ }, "time": "2016-08-06T14:39:51+00:00" }, + { + "name": "psr/http-server-handler", + "version": "1.0.1", + "source": { + "type": "git", + "url": "https://github.com/php-fig/http-server-handler.git", + "reference": "aff2f80e33b7f026ec96bb42f63242dc50ffcae7" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/http-server-handler/zipball/aff2f80e33b7f026ec96bb42f63242dc50ffcae7", + "reference": "aff2f80e33b7f026ec96bb42f63242dc50ffcae7", + "shasum": "" + }, + "require": { + "php": ">=7.0", + "psr/http-message": "^1.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Http\\Server\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" + } + ], + "description": "Common interface for HTTP server-side request handler", + "keywords": [ + "handler", + "http", + "http-interop", + "psr", + "psr-15", + "psr-7", + "request", + "response", + "server" + ], + "support": { + "issues": "https://github.com/php-fig/http-server-handler/issues", + "source": "https://github.com/php-fig/http-server-handler/tree/master" + }, + "time": "2018-10-30T16:46:14+00:00" + }, + { + "name": "psr/http-server-middleware", + "version": "1.0.1", + "source": { + "type": "git", + "url": "https://github.com/php-fig/http-server-middleware.git", + "reference": "2296f45510945530b9dceb8bcedb5cb84d40c5f5" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/http-server-middleware/zipball/2296f45510945530b9dceb8bcedb5cb84d40c5f5", + "reference": "2296f45510945530b9dceb8bcedb5cb84d40c5f5", + "shasum": "" + }, + "require": { + "php": ">=7.0", + "psr/http-message": "^1.0", + "psr/http-server-handler": "^1.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Http\\Server\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" + } + ], + "description": "Common interface for HTTP server-side middleware", + "keywords": [ + "http", + "http-interop", + "middleware", + "psr", + "psr-15", + "psr-7", + "request", + "response" + ], + "support": { + "issues": "https://github.com/php-fig/http-server-middleware/issues", + "source": "https://github.com/php-fig/http-server-middleware/tree/master" + }, + "time": "2018-10-30T17:12:04+00:00" + }, { "name": "psr/log", "version": "1.1.4", @@ -754,17 +893,17 @@ "source": { "type": "git", "url": "https://github.com/pubsubhubbub/php-publisher.git", - "reference": "047b0faf6219071527a45942d6fef4dbc6d1d884" + "reference": "60c7aa753b2908c7a924d3be8686eafcbeebbfd6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/pubsubhubbub/php-publisher/zipball/047b0faf6219071527a45942d6fef4dbc6d1d884", - "reference": "047b0faf6219071527a45942d6fef4dbc6d1d884", + "url": "https://api.github.com/repos/pubsubhubbub/php-publisher/zipball/60c7aa753b2908c7a924d3be8686eafcbeebbfd6", + "reference": "60c7aa753b2908c7a924d3be8686eafcbeebbfd6", "shasum": "" }, "require": { "ext-curl": "*", - "php": "~5.4 || ~7.0" + "php": "~5.4 || ~7.0 || ~8.0" }, "default-branch": true, "type": "library", @@ -796,7 +935,7 @@ "issues": "https://github.com/pubsubhubbub/php-publisher/issues", "source": "https://github.com/pubsubhubbub/php-publisher/tree/master" }, - "time": "2018-10-09T05:20:28+00:00" + "time": "2021-12-07T05:38:17+00:00" }, { "name": "shaarli/netscape-bookmark-parser", @@ -859,35 +998,129 @@ "time": "2021-01-31T09:39:07+00:00" }, { - "name": "slim/slim", - "version": "3.12.3", + "name": "slim/http", + "version": "1.2.0", "source": { "type": "git", - "url": "https://github.com/slimphp/Slim.git", - "reference": "1c9318a84ffb890900901136d620b4f03a59da38" + "url": "https://github.com/slimphp/Slim-Http.git", + "reference": "3bc9d61b5243cab0d75c89d778bd69464de07354" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/slimphp/Slim/zipball/1c9318a84ffb890900901136d620b4f03a59da38", - "reference": "1c9318a84ffb890900901136d620b4f03a59da38", + "url": "https://api.github.com/repos/slimphp/Slim-Http/zipball/3bc9d61b5243cab0d75c89d778bd69464de07354", + "reference": "3bc9d61b5243cab0d75c89d778bd69464de07354", "shasum": "" }, "require": { + "ext-fileinfo": "*", "ext-json": "*", "ext-libxml": "*", "ext-simplexml": "*", - "nikic/fast-route": "^1.0", - "php": ">=5.5.0", - "pimple/pimple": "^3.0", - "psr/container": "^1.0", + "php": "^7.2 || ^8.0", + "psr/http-factory": "^1.0", "psr/http-message": "^1.0" }, - "provide": { - "psr/http-message-implementation": "1.0" + "require-dev": { + "adriansuter/php-autoload-override": "^1.2", + "laminas/laminas-diactoros": "^2.4", + "nyholm/psr7": "^1.3", + "php-http/psr7-integration-tests": "dev-master", + "phpstan/phpstan": "^0.12.52", + "phpunit/phpunit": "^8.5 || ^9.3", + "squizlabs/php_codesniffer": "^3.5" + }, + "type": "library", + "autoload": { + "psr-4": { + "Slim\\Http\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Josh Lockhart", + "email": "hello@joshlockhart.com", + "homepage": "http://joshlockhart.com" + }, + { + "name": "Andrew Smith", + "email": "a.smith@silentworks.co.uk", + "homepage": "http://silentworks.co.uk" + }, + { + "name": "Rob Allen", + "email": "rob@akrabat.com", + "homepage": "http://akrabat.com" + }, + { + "name": "Pierre Berube", + "email": "pierre@lgse.com", + "homepage": "http://www.lgse.com" + } + ], + "description": "Slim PSR-7 Object Decorators", + "homepage": "http://slimframework.com", + "keywords": [ + "http", + "psr-7", + "psr7" + ], + "support": { + "issues": "https://github.com/slimphp/Slim-Http/issues", + "source": "https://github.com/slimphp/Slim-Http/tree/1.2.0" + }, + "time": "2020-11-20T06:43:10+00:00" + }, + { + "name": "slim/slim", + "version": "4.10.0", + "source": { + "type": "git", + "url": "https://github.com/slimphp/Slim.git", + "reference": "0dfc7d2fdf2553b361d864d51af3fe8a6ad168b0" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/slimphp/Slim/zipball/0dfc7d2fdf2553b361d864d51af3fe8a6ad168b0", + "reference": "0dfc7d2fdf2553b361d864d51af3fe8a6ad168b0", + "shasum": "" + }, + "require": { + "ext-json": "*", + "nikic/fast-route": "^1.3", + "php": "^7.4 || ^8.0", + "psr/container": "^1.0 || ^2.0", + "psr/http-factory": "^1.0", + "psr/http-message": "^1.0", + "psr/http-server-handler": "^1.0", + "psr/http-server-middleware": "^1.0", + "psr/log": "^1.1 || ^2.0 || ^3.0" }, "require-dev": { - "phpunit/phpunit": "^4.0", - "squizlabs/php_codesniffer": "^2.5" + "adriansuter/php-autoload-override": "^1.2", + "ext-simplexml": "*", + "guzzlehttp/psr7": "^2.1", + "httpsoft/http-message": "^1.0", + "httpsoft/http-server-request": "^1.0", + "laminas/laminas-diactoros": "^2.8", + "nyholm/psr7": "^1.5", + "nyholm/psr7-server": "^1.0", + "phpspec/prophecy": "^1.15", + "phpspec/prophecy-phpunit": "^2.0", + "phpstan/phpstan": "^1.4", + "phpunit/phpunit": "^9.5", + "slim/http": "^1.2", + "slim/psr7": "^1.5", + "squizlabs/php_codesniffer": "^3.6" + }, + "suggest": { + "ext-simplexml": "Needed to support XML format in BodyParsingMiddleware", + "ext-xml": "Needed to support XML format in BodyParsingMiddleware", + "php-di/php-di": "PHP-DI is the recommended container library to be used with Slim", + "slim/psr7": "Slim PSR-7 implementation. See https://www.slimframework.com/docs/v4/start/installation.html for more information." }, "type": "library", "autoload": { @@ -915,6 +1148,11 @@ "email": "rob@akrabat.com", "homepage": "http://akrabat.com" }, + { + "name": "Pierre Berube", + "email": "pierre@lgse.com", + "homepage": "http://www.lgse.com" + }, { "name": "Gabriel Manricks", "email": "gmanricks@me.com", @@ -922,7 +1160,7 @@ } ], "description": "Slim is a PHP micro framework that helps you quickly write simple yet powerful web applications and APIs", - "homepage": "https://slimframework.com", + "homepage": "https://www.slimframework.com", "keywords": [ "api", "framework", @@ -930,38 +1168,55 @@ "router" ], "support": { + "docs": "https://www.slimframework.com/docs/v4/", + "forum": "https://discourse.slimframework.com/", + "irc": "irc://irc.freenode.net:6667/slimphp", "issues": "https://github.com/slimphp/Slim/issues", - "source": "https://github.com/slimphp/Slim/tree/3.x" + "rss": "https://www.slimframework.com/blog/feed.rss", + "slack": "https://slimphp.slack.com/", + "source": "https://github.com/slimphp/Slim", + "wiki": "https://github.com/slimphp/Slim/wiki" }, - "time": "2019-11-28T17:40:33+00:00" + "funding": [ + { + "url": "https://opencollective.com/slimphp", + "type": "open_collective" + }, + { + "url": "https://tidelift.com/funding/github/packagist/slim/slim", + "type": "tidelift" + } + ], + "time": "2022-03-14T14:18:23+00:00" } ], "packages-dev": [ { "name": "doctrine/instantiator", - "version": "1.4.0", + "version": "1.4.1", "source": { "type": "git", "url": "https://github.com/doctrine/instantiator.git", - "reference": "d56bf6102915de5702778fe20f2de3b2fe570b5b" + "reference": "10dcfce151b967d20fde1b34ae6640712c3891bc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/instantiator/zipball/d56bf6102915de5702778fe20f2de3b2fe570b5b", - "reference": "d56bf6102915de5702778fe20f2de3b2fe570b5b", + "url": "https://api.github.com/repos/doctrine/instantiator/zipball/10dcfce151b967d20fde1b34ae6640712c3891bc", + "reference": "10dcfce151b967d20fde1b34ae6640712c3891bc", "shasum": "" }, "require": { "php": "^7.1 || ^8.0" }, "require-dev": { - "doctrine/coding-standard": "^8.0", + "doctrine/coding-standard": "^9", "ext-pdo": "*", "ext-phar": "*", - "phpbench/phpbench": "^0.13 || 1.0.0-alpha2", - "phpstan/phpstan": "^0.12", - "phpstan/phpstan-phpunit": "^0.12", - "phpunit/phpunit": "^7.0 || ^8.0 || ^9.0" + "phpbench/phpbench": "^0.16 || ^1", + "phpstan/phpstan": "^1.4", + "phpstan/phpstan-phpunit": "^1", + "phpunit/phpunit": "^7.5 || ^8.5 || ^9.5", + "vimeo/psalm": "^4.22" }, "type": "library", "autoload": { @@ -988,7 +1243,7 @@ ], "support": { "issues": "https://github.com/doctrine/instantiator/issues", - "source": "https://github.com/doctrine/instantiator/tree/1.4.0" + "source": "https://github.com/doctrine/instantiator/tree/1.4.1" }, "funding": [ { @@ -1004,41 +1259,42 @@ "type": "tidelift" } ], - "time": "2020-11-10T18:47:58+00:00" + "time": "2022-03-03T08:28:38+00:00" }, { "name": "myclabs/deep-copy", - "version": "1.10.2", + "version": "1.11.0", "source": { "type": "git", "url": "https://github.com/myclabs/DeepCopy.git", - "reference": "776f831124e9c62e1a2c601ecc52e776d8bb7220" + "reference": "14daed4296fae74d9e3201d2c4925d1acb7aa614" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/776f831124e9c62e1a2c601ecc52e776d8bb7220", - "reference": "776f831124e9c62e1a2c601ecc52e776d8bb7220", + "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/14daed4296fae74d9e3201d2c4925d1acb7aa614", + "reference": "14daed4296fae74d9e3201d2c4925d1acb7aa614", "shasum": "" }, "require": { "php": "^7.1 || ^8.0" }, - "replace": { - "myclabs/deep-copy": "self.version" + "conflict": { + "doctrine/collections": "<1.6.8", + "doctrine/common": "<2.13.3 || >=3,<3.2.2" }, "require-dev": { - "doctrine/collections": "^1.0", - "doctrine/common": "^2.6", - "phpunit/phpunit": "^7.1" + "doctrine/collections": "^1.6.8", + "doctrine/common": "^2.13.3 || ^3.2.2", + "phpunit/phpunit": "^7.5.20 || ^8.5.23 || ^9.5.13" }, "type": "library", "autoload": { - "psr-4": { - "DeepCopy\\": "src/DeepCopy/" - }, "files": [ "src/DeepCopy/deep_copy.php" - ] + ], + "psr-4": { + "DeepCopy\\": "src/DeepCopy/" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -1054,7 +1310,7 @@ ], "support": { "issues": "https://github.com/myclabs/DeepCopy/issues", - "source": "https://github.com/myclabs/DeepCopy/tree/1.10.2" + "source": "https://github.com/myclabs/DeepCopy/tree/1.11.0" }, "funding": [ { @@ -1062,38 +1318,43 @@ "type": "tidelift" } ], - "time": "2020-11-13T09:40:50+00:00" + "time": "2022-03-03T13:19:32+00:00" }, { - "name": "phar-io/manifest", - "version": "1.0.3", + "name": "nikic/php-parser", + "version": "v4.14.0", "source": { "type": "git", - "url": "https://github.com/phar-io/manifest.git", - "reference": "7761fcacf03b4d4f16e7ccb606d4879ca431fcf4" + "url": "https://github.com/nikic/PHP-Parser.git", + "reference": "34bea19b6e03d8153165d8f30bba4c3be86184c1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phar-io/manifest/zipball/7761fcacf03b4d4f16e7ccb606d4879ca431fcf4", - "reference": "7761fcacf03b4d4f16e7ccb606d4879ca431fcf4", + "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/34bea19b6e03d8153165d8f30bba4c3be86184c1", + "reference": "34bea19b6e03d8153165d8f30bba4c3be86184c1", "shasum": "" }, "require": { - "ext-dom": "*", - "ext-phar": "*", - "phar-io/version": "^2.0", - "php": "^5.6 || ^7.0" + "ext-tokenizer": "*", + "php": ">=7.0" + }, + "require-dev": { + "ircmaxell/php-yacc": "^0.0.7", + "phpunit/phpunit": "^6.5 || ^7.0 || ^8.0 || ^9.0" }, + "bin": [ + "bin/php-parse" + ], "type": "library", "extra": { "branch-alias": { - "dev-master": "1.0.x-dev" + "dev-master": "4.9-dev" } }, "autoload": { - "classmap": [ - "src/" - ] + "psr-4": { + "PhpParser\\": "lib/PhpParser" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -1101,17 +1362,69 @@ ], "authors": [ { - "name": "Arne Blankerts", - "email": "arne@blankerts.de", - "role": "Developer" - }, - { - "name": "Sebastian Heuer", - "email": "sebastian@phpeople.de", - "role": "Developer" - }, - { - "name": "Sebastian Bergmann", + "name": "Nikita Popov" + } + ], + "description": "A PHP parser written in PHP", + "keywords": [ + "parser", + "php" + ], + "support": { + "issues": "https://github.com/nikic/PHP-Parser/issues", + "source": "https://github.com/nikic/PHP-Parser/tree/v4.14.0" + }, + "time": "2022-05-31T20:59:12+00:00" + }, + { + "name": "phar-io/manifest", + "version": "2.0.3", + "source": { + "type": "git", + "url": "https://github.com/phar-io/manifest.git", + "reference": "97803eca37d319dfa7826cc2437fc020857acb53" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phar-io/manifest/zipball/97803eca37d319dfa7826cc2437fc020857acb53", + "reference": "97803eca37d319dfa7826cc2437fc020857acb53", + "shasum": "" + }, + "require": { + "ext-dom": "*", + "ext-phar": "*", + "ext-xmlwriter": "*", + "phar-io/version": "^3.0.1", + "php": "^7.2 || ^8.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0.x-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Arne Blankerts", + "email": "arne@blankerts.de", + "role": "Developer" + }, + { + "name": "Sebastian Heuer", + "email": "sebastian@phpeople.de", + "role": "Developer" + }, + { + "name": "Sebastian Bergmann", "email": "sebastian@phpunit.de", "role": "Developer" } @@ -1119,26 +1432,26 @@ "description": "Component for reading phar.io manifest information from a PHP Archive (PHAR)", "support": { "issues": "https://github.com/phar-io/manifest/issues", - "source": "https://github.com/phar-io/manifest/tree/master" + "source": "https://github.com/phar-io/manifest/tree/2.0.3" }, - "time": "2018-07-08T19:23:20+00:00" + "time": "2021-07-20T11:28:43+00:00" }, { "name": "phar-io/version", - "version": "2.0.1", + "version": "3.2.1", "source": { "type": "git", "url": "https://github.com/phar-io/version.git", - "reference": "45a2ec53a73c70ce41d55cedef9063630abaf1b6" + "reference": "4f7fd7836c6f332bb2933569e566a0d6c4cbed74" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phar-io/version/zipball/45a2ec53a73c70ce41d55cedef9063630abaf1b6", - "reference": "45a2ec53a73c70ce41d55cedef9063630abaf1b6", + "url": "https://api.github.com/repos/phar-io/version/zipball/4f7fd7836c6f332bb2933569e566a0d6c4cbed74", + "reference": "4f7fd7836c6f332bb2933569e566a0d6c4cbed74", "shasum": "" }, "require": { - "php": "^5.6 || ^7.0" + "php": "^7.2 || ^8.0" }, "type": "library", "autoload": { @@ -1170,31 +1483,31 @@ "description": "Library for handling version information and constraints", "support": { "issues": "https://github.com/phar-io/version/issues", - "source": "https://github.com/phar-io/version/tree/master" + "source": "https://github.com/phar-io/version/tree/3.2.1" }, - "time": "2018-07-08T19:19:57+00:00" + "time": "2022-02-21T01:04:05+00:00" }, { "name": "phpdocumentor/reflection-common", - "version": "2.1.0", + "version": "2.2.0", "source": { "type": "git", "url": "https://github.com/phpDocumentor/ReflectionCommon.git", - "reference": "6568f4687e5b41b054365f9ae03fcb1ed5f2069b" + "reference": "1d01c49d4ed62f25aa84a747ad35d5a16924662b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/6568f4687e5b41b054365f9ae03fcb1ed5f2069b", - "reference": "6568f4687e5b41b054365f9ae03fcb1ed5f2069b", + "url": "https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/1d01c49d4ed62f25aa84a747ad35d5a16924662b", + "reference": "1d01c49d4ed62f25aa84a747ad35d5a16924662b", "shasum": "" }, "require": { - "php": ">=7.1" + "php": "^7.2 || ^8.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.x-dev" + "dev-2.x": "2.x-dev" } }, "autoload": { @@ -1223,47 +1536,44 @@ ], "support": { "issues": "https://github.com/phpDocumentor/ReflectionCommon/issues", - "source": "https://github.com/phpDocumentor/ReflectionCommon/tree/master" + "source": "https://github.com/phpDocumentor/ReflectionCommon/tree/2.x" }, - "time": "2020-04-27T09:25:28+00:00" + "time": "2020-06-27T09:03:43+00:00" }, { "name": "phpdocumentor/reflection-docblock", - "version": "4.3.4", + "version": "5.3.0", "source": { "type": "git", "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git", - "reference": "da3fd972d6bafd628114f7e7e036f45944b62e9c" + "reference": "622548b623e81ca6d78b721c5e029f4ce664f170" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/da3fd972d6bafd628114f7e7e036f45944b62e9c", - "reference": "da3fd972d6bafd628114f7e7e036f45944b62e9c", + "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/622548b623e81ca6d78b721c5e029f4ce664f170", + "reference": "622548b623e81ca6d78b721c5e029f4ce664f170", "shasum": "" }, "require": { - "php": "^7.0", - "phpdocumentor/reflection-common": "^1.0.0 || ^2.0.0", - "phpdocumentor/type-resolver": "~0.4 || ^1.0.0", - "webmozart/assert": "^1.0" + "ext-filter": "*", + "php": "^7.2 || ^8.0", + "phpdocumentor/reflection-common": "^2.2", + "phpdocumentor/type-resolver": "^1.3", + "webmozart/assert": "^1.9.1" }, "require-dev": { - "doctrine/instantiator": "^1.0.5", - "mockery/mockery": "^1.0", - "phpdocumentor/type-resolver": "0.4.*", - "phpunit/phpunit": "^6.4" + "mockery/mockery": "~1.3.2", + "psalm/phar": "^4.8" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "4.x-dev" + "dev-master": "5.x-dev" } }, "autoload": { "psr-4": { - "phpDocumentor\\Reflection\\": [ - "src/" - ] + "phpDocumentor\\Reflection\\": "src" } }, "notification-url": "https://packagist.org/downloads/", @@ -1274,42 +1584,45 @@ { "name": "Mike van Riel", "email": "me@mikevanriel.com" + }, + { + "name": "Jaap van Otterdijk", + "email": "account@ijaap.nl" } ], "description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.", "support": { "issues": "https://github.com/phpDocumentor/ReflectionDocBlock/issues", - "source": "https://github.com/phpDocumentor/ReflectionDocBlock/tree/release/4.x" + "source": "https://github.com/phpDocumentor/ReflectionDocBlock/tree/5.3.0" }, - "time": "2019-12-28T18:55:12+00:00" + "time": "2021-10-19T17:43:47+00:00" }, { "name": "phpdocumentor/type-resolver", - "version": "1.0.1", + "version": "1.6.1", "source": { "type": "git", "url": "https://github.com/phpDocumentor/TypeResolver.git", - "reference": "2e32a6d48972b2c1976ed5d8967145b6cec4a4a9" + "reference": "77a32518733312af16a44300404e945338981de3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/2e32a6d48972b2c1976ed5d8967145b6cec4a4a9", - "reference": "2e32a6d48972b2c1976ed5d8967145b6cec4a4a9", + "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/77a32518733312af16a44300404e945338981de3", + "reference": "77a32518733312af16a44300404e945338981de3", "shasum": "" }, "require": { - "php": "^7.1", + "php": "^7.2 || ^8.0", "phpdocumentor/reflection-common": "^2.0" }, "require-dev": { - "ext-tokenizer": "^7.1", - "mockery/mockery": "~1", - "phpunit/phpunit": "^7.0" + "ext-tokenizer": "*", + "psalm/phar": "^4.8" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.x-dev" + "dev-1.x": "1.x-dev" } }, "autoload": { @@ -1330,39 +1643,39 @@ "description": "A PSR-5 based resolver of Class names, Types and Structural Element Names", "support": { "issues": "https://github.com/phpDocumentor/TypeResolver/issues", - "source": "https://github.com/phpDocumentor/TypeResolver/tree/0.7.2" + "source": "https://github.com/phpDocumentor/TypeResolver/tree/1.6.1" }, - "time": "2019-08-22T18:11:29+00:00" + "time": "2022-03-15T21:29:03+00:00" }, { "name": "phpspec/prophecy", - "version": "v1.10.3", + "version": "v1.15.0", "source": { "type": "git", "url": "https://github.com/phpspec/prophecy.git", - "reference": "451c3cd1418cf640de218914901e51b064abb093" + "reference": "bbcd7380b0ebf3961ee21409db7b38bc31d69a13" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpspec/prophecy/zipball/451c3cd1418cf640de218914901e51b064abb093", - "reference": "451c3cd1418cf640de218914901e51b064abb093", + "url": "https://api.github.com/repos/phpspec/prophecy/zipball/bbcd7380b0ebf3961ee21409db7b38bc31d69a13", + "reference": "bbcd7380b0ebf3961ee21409db7b38bc31d69a13", "shasum": "" }, "require": { - "doctrine/instantiator": "^1.0.2", - "php": "^5.3|^7.0", - "phpdocumentor/reflection-docblock": "^2.0|^3.0.2|^4.0|^5.0", - "sebastian/comparator": "^1.2.3|^2.0|^3.0|^4.0", - "sebastian/recursion-context": "^1.0|^2.0|^3.0|^4.0" + "doctrine/instantiator": "^1.2", + "php": "^7.2 || ~8.0, <8.2", + "phpdocumentor/reflection-docblock": "^5.2", + "sebastian/comparator": "^3.0 || ^4.0", + "sebastian/recursion-context": "^3.0 || ^4.0" }, "require-dev": { - "phpspec/phpspec": "^2.5 || ^3.2", - "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.5 || ^7.1" + "phpspec/phpspec": "^6.0 || ^7.0", + "phpunit/phpunit": "^8.0 || ^9.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.10.x-dev" + "dev-master": "1.x-dev" } }, "autoload": { @@ -1397,46 +1710,50 @@ ], "support": { "issues": "https://github.com/phpspec/prophecy/issues", - "source": "https://github.com/phpspec/prophecy/tree/v1.10.3" + "source": "https://github.com/phpspec/prophecy/tree/v1.15.0" }, - "time": "2020-03-05T15:02:03+00:00" + "time": "2021-12-08T12:19:24+00:00" }, { "name": "phpunit/php-code-coverage", - "version": "6.1.4", + "version": "9.2.15", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-code-coverage.git", - "reference": "807e6013b00af69b6c5d9ceb4282d0393dbb9d8d" + "reference": "2e9da11878c4202f97915c1cb4bb1ca318a63f5f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/807e6013b00af69b6c5d9ceb4282d0393dbb9d8d", - "reference": "807e6013b00af69b6c5d9ceb4282d0393dbb9d8d", + "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/2e9da11878c4202f97915c1cb4bb1ca318a63f5f", + "reference": "2e9da11878c4202f97915c1cb4bb1ca318a63f5f", "shasum": "" }, "require": { "ext-dom": "*", + "ext-libxml": "*", "ext-xmlwriter": "*", - "php": "^7.1", - "phpunit/php-file-iterator": "^2.0", - "phpunit/php-text-template": "^1.2.1", - "phpunit/php-token-stream": "^3.0", - "sebastian/code-unit-reverse-lookup": "^1.0.1", - "sebastian/environment": "^3.1 || ^4.0", - "sebastian/version": "^2.0.1", - "theseer/tokenizer": "^1.1" + "nikic/php-parser": "^4.13.0", + "php": ">=7.3", + "phpunit/php-file-iterator": "^3.0.3", + "phpunit/php-text-template": "^2.0.2", + "sebastian/code-unit-reverse-lookup": "^2.0.2", + "sebastian/complexity": "^2.0", + "sebastian/environment": "^5.1.2", + "sebastian/lines-of-code": "^1.0.3", + "sebastian/version": "^3.0.1", + "theseer/tokenizer": "^1.2.0" }, "require-dev": { - "phpunit/phpunit": "^7.0" + "phpunit/phpunit": "^9.3" }, "suggest": { - "ext-xdebug": "^2.6.0" + "ext-pcov": "*", + "ext-xdebug": "*" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "6.1-dev" + "dev-master": "9.2-dev" } }, "autoload": { @@ -1464,34 +1781,40 @@ ], "support": { "issues": "https://github.com/sebastianbergmann/php-code-coverage/issues", - "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/master" + "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/9.2.15" }, - "time": "2018-10-31T16:06:48+00:00" + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2022-03-07T09:28:20+00:00" }, { "name": "phpunit/php-file-iterator", - "version": "2.0.3", + "version": "3.0.6", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-file-iterator.git", - "reference": "4b49fb70f067272b659ef0174ff9ca40fdaa6357" + "reference": "cf1c2e7c203ac650e352f4cc675a7021e7d1b3cf" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/4b49fb70f067272b659ef0174ff9ca40fdaa6357", - "reference": "4b49fb70f067272b659ef0174ff9ca40fdaa6357", + "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/cf1c2e7c203ac650e352f4cc675a7021e7d1b3cf", + "reference": "cf1c2e7c203ac650e352f4cc675a7021e7d1b3cf", "shasum": "" }, "require": { - "php": ">=7.1" + "php": ">=7.3" }, "require-dev": { - "phpunit/phpunit": "^8.5" + "phpunit/phpunit": "^9.3" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.0.x-dev" + "dev-master": "3.0-dev" } }, "autoload": { @@ -1518,7 +1841,7 @@ ], "support": { "issues": "https://github.com/sebastianbergmann/php-file-iterator/issues", - "source": "https://github.com/sebastianbergmann/php-file-iterator/tree/2.0.3" + "source": "https://github.com/sebastianbergmann/php-file-iterator/tree/3.0.6" }, "funding": [ { @@ -1526,32 +1849,36 @@ "type": "github" } ], - "time": "2020-11-30T08:25:21+00:00" + "time": "2021-12-02T12:48:52+00:00" }, { - "name": "phpunit/php-timer", - "version": "2.1.3", + "name": "phpunit/php-invoker", + "version": "3.1.1", "source": { "type": "git", - "url": "https://github.com/sebastianbergmann/php-timer.git", - "reference": "2454ae1765516d20c4ffe103d85a58a9a3bd5662" + "url": "https://github.com/sebastianbergmann/php-invoker.git", + "reference": "5a10147d0aaf65b58940a0b72f71c9ac0423cc67" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/2454ae1765516d20c4ffe103d85a58a9a3bd5662", - "reference": "2454ae1765516d20c4ffe103d85a58a9a3bd5662", + "url": "https://api.github.com/repos/sebastianbergmann/php-invoker/zipball/5a10147d0aaf65b58940a0b72f71c9ac0423cc67", + "reference": "5a10147d0aaf65b58940a0b72f71c9ac0423cc67", "shasum": "" }, "require": { - "php": ">=7.1" + "php": ">=7.3" }, "require-dev": { - "phpunit/phpunit": "^8.5" + "ext-pcntl": "*", + "phpunit/phpunit": "^9.3" + }, + "suggest": { + "ext-pcntl": "*" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.1-dev" + "dev-master": "3.1-dev" } }, "autoload": { @@ -1570,14 +1897,14 @@ "role": "lead" } ], - "description": "Utility class for timing", - "homepage": "https://github.com/sebastianbergmann/php-timer/", + "description": "Invoke callables with a timeout", + "homepage": "https://github.com/sebastianbergmann/php-invoker/", "keywords": [ - "timer" + "process" ], "support": { - "issues": "https://github.com/sebastianbergmann/php-timer/issues", - "source": "https://github.com/sebastianbergmann/php-timer/tree/2.1.3" + "issues": "https://github.com/sebastianbergmann/php-invoker/issues", + "source": "https://github.com/sebastianbergmann/php-invoker/tree/3.1.1" }, "funding": [ { @@ -1585,33 +1912,32 @@ "type": "github" } ], - "time": "2020-11-30T08:20:02+00:00" + "time": "2020-09-28T05:58:55+00:00" }, { - "name": "phpunit/php-token-stream", - "version": "3.1.2", + "name": "phpunit/php-timer", + "version": "5.0.3", "source": { "type": "git", - "url": "https://github.com/sebastianbergmann/php-token-stream.git", - "reference": "472b687829041c24b25f475e14c2f38a09edf1c2" + "url": "https://github.com/sebastianbergmann/php-timer.git", + "reference": "5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/472b687829041c24b25f475e14c2f38a09edf1c2", - "reference": "472b687829041c24b25f475e14c2f38a09edf1c2", + "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2", + "reference": "5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2", "shasum": "" }, "require": { - "ext-tokenizer": "*", - "php": ">=7.1" + "php": ">=7.3" }, "require-dev": { - "phpunit/phpunit": "^7.0" + "phpunit/phpunit": "^9.3" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "3.1-dev" + "dev-master": "5.0-dev" } }, "autoload": { @@ -1626,17 +1952,18 @@ "authors": [ { "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" + "email": "sebastian@phpunit.de", + "role": "lead" } ], - "description": "Wrapper around PHP's tokenizer extension.", - "homepage": "https://github.com/sebastianbergmann/php-token-stream/", + "description": "Utility class for timing", + "homepage": "https://github.com/sebastianbergmann/php-timer/", "keywords": [ - "tokenizer" + "timer" ], "support": { - "issues": "https://github.com/sebastianbergmann/php-token-stream/issues", - "source": "https://github.com/sebastianbergmann/php-token-stream/tree/3.1.2" + "issues": "https://github.com/sebastianbergmann/php-timer/issues", + "source": "https://github.com/sebastianbergmann/php-timer/tree/5.0.3" }, "funding": [ { @@ -1644,58 +1971,58 @@ "type": "github" } ], - "abandoned": true, - "time": "2020-11-30T08:38:46+00:00" + "time": "2020-10-26T13:16:10+00:00" }, { "name": "phpunit/phpunit", - "version": "7.5.20", + "version": "9.5.21", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "9467db479d1b0487c99733bb1e7944d32deded2c" + "reference": "0e32b76be457de00e83213528f6bb37e2a38fcb1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/9467db479d1b0487c99733bb1e7944d32deded2c", - "reference": "9467db479d1b0487c99733bb1e7944d32deded2c", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/0e32b76be457de00e83213528f6bb37e2a38fcb1", + "reference": "0e32b76be457de00e83213528f6bb37e2a38fcb1", "shasum": "" }, "require": { - "doctrine/instantiator": "^1.1", + "doctrine/instantiator": "^1.3.1", "ext-dom": "*", "ext-json": "*", "ext-libxml": "*", "ext-mbstring": "*", "ext-xml": "*", - "myclabs/deep-copy": "^1.7", - "phar-io/manifest": "^1.0.2", - "phar-io/version": "^2.0", - "php": "^7.1", - "phpspec/prophecy": "^1.7", - "phpunit/php-code-coverage": "^6.0.7", - "phpunit/php-file-iterator": "^2.0.1", - "phpunit/php-text-template": "^1.2.1", - "phpunit/php-timer": "^2.1", - "sebastian/comparator": "^3.0", - "sebastian/diff": "^3.0", - "sebastian/environment": "^4.0", - "sebastian/exporter": "^3.1", - "sebastian/global-state": "^2.0", - "sebastian/object-enumerator": "^3.0.3", - "sebastian/resource-operations": "^2.0", - "sebastian/version": "^2.0.1" - }, - "conflict": { - "phpunit/phpunit-mock-objects": "*" + "ext-xmlwriter": "*", + "myclabs/deep-copy": "^1.10.1", + "phar-io/manifest": "^2.0.3", + "phar-io/version": "^3.0.2", + "php": ">=7.3", + "phpspec/prophecy": "^1.12.1", + "phpunit/php-code-coverage": "^9.2.13", + "phpunit/php-file-iterator": "^3.0.5", + "phpunit/php-invoker": "^3.1.1", + "phpunit/php-text-template": "^2.0.3", + "phpunit/php-timer": "^5.0.2", + "sebastian/cli-parser": "^1.0.1", + "sebastian/code-unit": "^1.0.6", + "sebastian/comparator": "^4.0.5", + "sebastian/diff": "^4.0.3", + "sebastian/environment": "^5.1.3", + "sebastian/exporter": "^4.0.3", + "sebastian/global-state": "^5.0.1", + "sebastian/object-enumerator": "^4.0.3", + "sebastian/resource-operations": "^3.0.3", + "sebastian/type": "^3.0", + "sebastian/version": "^3.0.2" }, "require-dev": { - "ext-pdo": "*" + "phpspec/prophecy-phpunit": "^2.0.1" }, "suggest": { "ext-soap": "*", - "ext-xdebug": "*", - "phpunit/php-invoker": "^2.0" + "ext-xdebug": "*" }, "bin": [ "phpunit" @@ -1703,10 +2030,13 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "7.5-dev" + "dev-master": "9.5-dev" } }, "autoload": { + "files": [ + "src/Framework/Assert/Functions.php" + ], "classmap": [ "src/" ] @@ -1731,9 +2061,19 @@ ], "support": { "issues": "https://github.com/sebastianbergmann/phpunit/issues", - "source": "https://github.com/sebastianbergmann/phpunit/tree/7.5.20" + "source": "https://github.com/sebastianbergmann/phpunit/tree/9.5.21" }, - "time": "2020-01-08T08:45:45+00:00" + "funding": [ + { + "url": "https://phpunit.de/sponsors.html", + "type": "custom" + }, + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2022-06-19T12:14:25+00:00" }, { "name": "roave/security-advisories", @@ -1741,204 +2081,332 @@ "source": { "type": "git", "url": "https://github.com/Roave/SecurityAdvisories.git", - "reference": "07314cf15422b2e162d591fe8ef2b850612b808f" + "reference": "83594c26a26f66af6e5322b9011b2e243a5509e8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Roave/SecurityAdvisories/zipball/07314cf15422b2e162d591fe8ef2b850612b808f", - "reference": "07314cf15422b2e162d591fe8ef2b850612b808f", + "url": "https://api.github.com/repos/Roave/SecurityAdvisories/zipball/83594c26a26f66af6e5322b9011b2e243a5509e8", + "reference": "83594c26a26f66af6e5322b9011b2e243a5509e8", "shasum": "" }, "conflict": { "3f/pygmentize": "<1.2", - "adodb/adodb-php": "<5.20.12", + "admidio/admidio": "<4.1.9", + "adodb/adodb-php": "<=5.20.20|>=5.21,<=5.21.3", + "akaunting/akaunting": "<2.1.13", + "alextselegidis/easyappointments": "<=1.4.3", "alterphp/easyadmin-extension-bundle": ">=1.2,<1.2.11|>=1.3,<1.3.1", + "amazing/media2click": ">=1,<1.3.3", "amphp/artax": "<1.0.6|>=2,<2.0.6", "amphp/http": "<1.0.1", "amphp/http-client": ">=4,<4.4", + "anchorcms/anchor-cms": "<=0.12.7", + "andreapollastri/cipi": "<=3.1.15", "api-platform/core": ">=2.2,<2.2.10|>=2.3,<2.3.6", + "appwrite/server-ce": "<0.11.1|>=0.12,<0.12.2", + "area17/twill": "<1.2.5|>=2,<2.5.3", "asymmetricrypt/asymmetricrypt": ">=0,<9.9.99", "aws/aws-sdk-php": ">=3,<3.2.1", "bagisto/bagisto": "<0.1.5", "barrelstrength/sprout-base-email": "<1.2.7", "barrelstrength/sprout-forms": "<3.9", - "baserproject/basercms": ">=4,<=4.3.6|>=4.4,<4.4.1", + "barryvdh/laravel-translation-manager": "<0.6.2", + "baserproject/basercms": "<4.5.4", + "billz/raspap-webgui": "<=2.6.6", "bk2k/bootstrap-package": ">=7.1,<7.1.2|>=8,<8.0.8|>=9,<9.0.4|>=9.1,<9.1.3|>=10,<10.0.10|>=11,<11.0.3", + "bmarshall511/wordpress_zero_spam": "<5.2.13", "bolt/bolt": "<3.7.2", - "bolt/core": "<4.1.13", + "bolt/core": "<=4.2", + "bottelet/flarepoint": "<2.2.1", "brightlocal/phpwhois": "<=4.2.5", - "buddypress/buddypress": "<5.1.2", + "brotkrueml/codehighlight": "<2.7", + "brotkrueml/schema": "<1.13.1|>=2,<2.5.1", + "brotkrueml/typo3-matomo-integration": "<1.3.2", + "buddypress/buddypress": "<7.2.1", "bugsnag/bugsnag-laravel": ">=2,<2.0.2", - "cakephp/cakephp": ">=1.3,<1.3.18|>=2,<2.4.99|>=2.5,<2.5.99|>=2.6,<2.6.12|>=2.7,<2.7.6|>=3,<3.5.18|>=3.6,<3.6.15|>=3.7,<3.7.7", + "bytefury/crater": "<6.0.2", + "cachethq/cachet": "<2.5.1", + "cakephp/cakephp": "<3.10.3|>=4,<4.0.6", + "cardgate/magento2": "<2.0.33", "cart2quote/module-quotation": ">=4.1.6,<=4.4.5|>=5,<5.4.4", "cartalyst/sentry": "<=2.1.6", - "centreon/centreon": "<18.10.8|>=19,<19.4.5", + "catfan/medoo": "<1.7.5", + "centreon/centreon": "<20.10.7", "cesnet/simplesamlphp-module-proxystatistics": "<3.1", + "codeception/codeception": "<3.1.3|>=4,<4.1.22", "codeigniter/framework": "<=3.0.6", - "composer/composer": "<1.10.22|>=2-alpha.1,<2.0.13", + "codeigniter4/framework": "<4.1.9", + "codiad/codiad": "<=2.8.4", + "composer/composer": "<1.10.26|>=2-alpha.1,<2.2.12|>=2.3,<2.3.5", + "concrete5/concrete5": "<9", + "concrete5/core": "<8.5.8|>=9,<9.1", "contao-components/mediaelement": ">=2.14.2,<2.21.1", + "contao/contao": ">=4,<4.4.56|>=4.5,<4.9.18|>=4.10,<4.11.7|>=4.13,<4.13.3", "contao/core": ">=2,<3.5.39", - "contao/core-bundle": ">=4,<4.4.52|>=4.5,<4.9.6|= 4.10.0", + "contao/core-bundle": "<4.9.18|>=4.10,<4.11.7|>=4.13,<4.13.3|= 4.10.0", "contao/listing-bundle": ">=4,<4.4.8", + "contao/managed-edition": "<=1.5", + "craftcms/cms": "<3.7.36", + "croogo/croogo": "<3.0.7", + "cuyz/valinor": "<0.12", + "czproject/git-php": "<4.0.3", + "darylldoyle/safe-svg": "<1.9.10", "datadog/dd-trace": ">=0.30,<0.30.2", "david-garcia/phpwhois": "<=4.3.1", "derhansen/sf_event_mgt": "<4.3.1|>=5,<5.1.1", + "directmailteam/direct-mail": "<5.2.4", "doctrine/annotations": ">=1,<1.2.7", "doctrine/cache": ">=1,<1.3.2|>=1.4,<1.4.2", "doctrine/common": ">=2,<2.4.3|>=2.5,<2.5.1", - "doctrine/dbal": ">=2,<2.0.8|>=2.1,<2.1.2", + "doctrine/dbal": ">=2,<2.0.8|>=2.1,<2.1.2|>=3,<3.1.4", "doctrine/doctrine-bundle": "<1.5.2", "doctrine/doctrine-module": "<=0.7.1", "doctrine/mongodb-odm": ">=1,<1.0.2", "doctrine/mongodb-odm-bundle": ">=2,<3.0.1", "doctrine/orm": ">=2,<2.4.8|>=2.5,<2.5.1|>=2.8.3,<2.8.4", - "dolibarr/dolibarr": "<11.0.4", - "dompdf/dompdf": ">=0.6,<0.6.2", - "drupal/core": ">=7,<7.74|>=8,<8.8.11|>=8.9,<8.9.9|>=9,<9.0.8", - "drupal/drupal": ">=7,<7.74|>=8,<8.8.11|>=8.9,<8.9.9|>=9,<9.0.8", + "dolibarr/dolibarr": "<16|= 12.0.5|>= 3.3.beta1, < 13.0.2", + "dompdf/dompdf": "<2", + "drupal/core": ">=7,<7.91|>=8,<9.3.19|>=9.4,<9.4.3", + "drupal/drupal": ">=7,<7.80|>=8,<8.9.16|>=9,<9.1.12|>=9.2,<9.2.4", "dweeves/magmi": "<=0.7.24", + "ecodev/newsletter": "<=4", + "ectouch/ectouch": "<=2.7.2", + "elefant/cms": "<1.3.13", + "elgg/elgg": "<3.3.24|>=4,<4.0.5", "endroid/qr-code-bundle": "<3.4.2", - "enshrined/svg-sanitize": "<0.13.1", + "enshrined/svg-sanitize": "<0.15", "erusev/parsedown": "<1.7.2", + "ether/logs": "<3.0.4", "ezsystems/demobundle": ">=5.4,<5.4.6.1", "ezsystems/ez-support-tools": ">=2.2,<2.2.3", "ezsystems/ezdemo-ls-extension": ">=5.4,<5.4.2.1", "ezsystems/ezfind-ls": ">=5.3,<5.3.6.1|>=5.4,<5.4.11.1|>=2017.12,<2017.12.0.1", - "ezsystems/ezplatform": ">=1.7,<1.7.9.1|>=1.13,<1.13.5.1|>=2.5,<2.5.4", - "ezsystems/ezplatform-admin-ui": ">=1.3,<1.3.5|>=1.4,<1.4.6", + "ezsystems/ezplatform": "<=1.13.6|>=2,<=2.5.24", + "ezsystems/ezplatform-admin-ui": ">=1.3,<1.3.5|>=1.4,<1.4.6|>=1.5,<1.5.27", "ezsystems/ezplatform-admin-ui-assets": ">=4,<4.2.1|>=5,<5.0.1|>=5.1,<5.1.1", - "ezsystems/ezplatform-kernel": "<=1.2.5|>=1.3,<=1.3.1", - "ezsystems/ezplatform-rest": ">=1.2,<=1.2.2|>=1.3,<=1.3.1", + "ezsystems/ezplatform-kernel": "<=1.2.5|>=1.3,<1.3.19", + "ezsystems/ezplatform-rest": ">=1.2,<=1.2.2|>=1.3,<1.3.8", + "ezsystems/ezplatform-richtext": ">=2.3,<=2.3.7", "ezsystems/ezplatform-user": ">=1,<1.0.1", - "ezsystems/ezpublish-kernel": "<=6.13.8.1|>=7,<=7.5.15.1", - "ezsystems/ezpublish-legacy": ">=5.3,<5.3.12.6|>=5.4,<5.4.14.2|>=2011,<2017.12.7.3|>=2018.6,<2018.6.1.4|>=2018.9,<2018.9.1.3|>=2019.3,<2019.3.5.1", + "ezsystems/ezpublish-kernel": "<=6.13.8.1|>=7,<7.5.29", + "ezsystems/ezpublish-legacy": "<=2017.12.7.3|>=2018.6,<=2019.3.5.1", "ezsystems/platform-ui-assets-bundle": ">=4.2,<4.2.3", "ezsystems/repository-forms": ">=2.3,<2.3.2.1", "ezyang/htmlpurifier": "<4.1.1", - "facade/ignition": "<1.16.14|>=2,<2.4.2|>=2.5,<2.5.2", + "facade/ignition": "<1.16.15|>=2,<2.4.2|>=2.5,<2.5.2", + "facturascripts/facturascripts": "<=2022.8", + "feehi/cms": "<=2.1.1", + "feehi/feehicms": "<=0.1.3", + "fenom/fenom": "<=2.12.1", + "filegator/filegator": "<7.8", "firebase/php-jwt": "<2", + "flarum/core": ">=1,<=1.0.1", "flarum/sticky": ">=0.1-beta.14,<=0.1-beta.15", "flarum/tags": "<=0.1-beta.13", "fluidtypo3/vhs": "<5.1.1", + "fof/upload": "<1.2.3", "fooman/tcpdf": "<6.2.22", - "forkcms/forkcms": "<5.8.3", + "forkcms/forkcms": "<5.11.1", "fossar/tcpdf-parser": "<6.2.22", - "francoisjacquet/rosariosis": "<6.5.1", + "francoisjacquet/rosariosis": "<9.1", "friendsofsymfony/oauth2-php": "<1.3", "friendsofsymfony/rest-bundle": ">=1.2,<1.2.2", "friendsofsymfony/user-bundle": ">=1.2,<1.3.5", "friendsoftypo3/mediace": ">=7.6.2,<7.6.5", + "froala/wysiwyg-editor": "<3.2.7", + "froxlor/froxlor": "<=0.10.22", "fuel/core": "<1.8.1", - "getgrav/grav": "<1.7.11", - "getkirby/cms": "<3.5.4", + "gaoming13/wechat-php-sdk": "<=1.10.2", + "genix/cms": "<=1.1.11", + "getgrav/grav": "<1.7.34", + "getkirby/cms": "<3.5.8", "getkirby/panel": "<2.5.14", + "gilacms/gila": "<=1.11.4", + "globalpayments/php-sdk": "<2", + "google/protobuf": "<3.15", "gos/web-socket-bundle": "<1.10.4|>=2,<2.6.1|>=3,<3.3", "gree/jose": "<=2.2", "gregwar/rst": "<1.0.3", - "guzzlehttp/guzzle": ">=4-rc.2,<4.2.4|>=5,<5.3.1|>=6,<6.2.1", + "grumpydictator/firefly-iii": "<5.6.5", + "guzzlehttp/guzzle": "<6.5.8|>=7,<7.4.5", + "guzzlehttp/psr7": "<1.8.4|>=2,<2.1.1", + "helloxz/imgurl": "= 2.31|<=2.31", + "hillelcoren/invoice-ninja": "<5.3.35", + "hjue/justwriting": "<=1", + "hov/jobfair": "<1.0.13|>=2,<2.0.2", + "hyn/multi-tenant": ">=5.6,<5.7.2", + "ibexa/core": ">=4,<4.0.7|>=4.1,<4.1.4", + "ibexa/post-install": "<=1.0.4", + "icecoder/icecoder": "<=8.1", + "idno/known": "<=1.3.1", "illuminate/auth": ">=4,<4.0.99|>=4.1,<=4.1.31|>=4.2,<=4.2.22|>=5,<=5.0.35|>=5.1,<=5.1.46|>=5.2,<=5.2.45|>=5.3,<=5.3.31|>=5.4,<=5.4.36|>=5.5,<5.5.10", "illuminate/cookie": ">=4,<=4.0.11|>=4.1,<=4.1.99999|>=4.2,<=4.2.99999|>=5,<=5.0.99999|>=5.1,<=5.1.99999|>=5.2,<=5.2.99999|>=5.3,<=5.3.99999|>=5.4,<=5.4.99999|>=5.5,<=5.5.49|>=5.6,<=5.6.99999|>=5.7,<=5.7.99999|>=5.8,<=5.8.99999|>=6,<6.18.31|>=7,<7.22.4", - "illuminate/database": "<6.20.26|>=7,<8.40", + "illuminate/database": "<6.20.26|>=7,<7.30.5|>=8,<8.40", "illuminate/encryption": ">=4,<=4.0.11|>=4.1,<=4.1.31|>=4.2,<=4.2.22|>=5,<=5.0.35|>=5.1,<=5.1.46|>=5.2,<=5.2.45|>=5.3,<=5.3.31|>=5.4,<=5.4.36|>=5.5,<5.5.40|>=5.6,<5.6.15", - "illuminate/view": ">=7,<7.1.2", - "impresscms/impresscms": "<=1.4.2", + "illuminate/view": "<6.20.42|>=7,<7.30.6|>=8,<8.75", + "impresscms/impresscms": "<=1.4.3", + "in2code/femanager": "<5.5.1|>=6,<6.3.1", + "in2code/lux": "<17.6.1|>=18,<24.0.2", + "intelliants/subrion": "<=4.2.1", + "islandora/islandora": ">=2,<2.4.1", "ivankristianto/phpwhois": "<=4.3", - "james-heinrich/getid3": "<1.9.9", - "joomla/archive": "<1.1.10", + "jackalope/jackalope-doctrine-dbal": "<1.7.4", + "james-heinrich/getid3": "<1.9.21", + "joomla/archive": "<1.1.12|>=2,<2.0.1", + "joomla/filesystem": "<1.6.2|>=2,<2.0.1", + "joomla/filter": "<1.4.4|>=2,<2.0.1", + "joomla/input": ">=2,<2.0.2", "joomla/session": "<1.3.1", + "jsdecena/laracom": "<2.0.9", "jsmitty12/phpwhois": "<5.1", "kazist/phpwhois": "<=4.2.6", + "kevinpapst/kimai2": "<1.16.7", "kitodo/presentation": "<3.1.2", + "klaviyo/magento2-extension": ">=1,<3", + "krayin/laravel-crm": "<1.2.2", "kreait/firebase-php": ">=3.2,<3.8.1", "la-haute-societe/tcpdf": "<6.2.22", - "laravel/framework": "<6.20.26|>=7,<8.40", + "laminas/laminas-diactoros": "<2.11.1", + "laminas/laminas-form": "<2.17.1|>=3,<3.0.2|>=3.1,<3.1.1", + "laminas/laminas-http": "<2.14.2", + "laravel/fortify": "<1.11.1", + "laravel/framework": "<6.20.42|>=7,<7.30.6|>=8,<8.75", + "laravel/laravel": "<=9.1.8", "laravel/socialite": ">=1,<1.0.99|>=2,<2.0.10", + "latte/latte": "<2.10.8", + "lavalite/cms": "<=5.8", + "lcobucci/jwt": ">=3.4,<3.4.6|>=4,<4.0.4|>=4.1,<4.1.5", "league/commonmark": "<0.18.3", - "librenms/librenms": "<21.1", + "league/flysystem": "<1.1.4|>=2,<2.1.1", + "lexik/jwt-authentication-bundle": "<2.10.7|>=2.11,<2.11.3", + "librenms/librenms": "<22.4", + "limesurvey/limesurvey": "<3.27.19", + "livehelperchat/livehelperchat": "<=3.91", "livewire/livewire": ">2.2.4,<2.2.6", + "lms/routes": "<2.1.1", + "localizationteam/l10nmgr": "<7.4|>=8,<8.7|>=9,<9.2", + "luyadev/yii-helpers": "<1.2.1", "magento/community-edition": ">=2,<2.2.10|>=2.3,<2.3.3", "magento/magento1ce": "<1.9.4.3", "magento/magento1ee": ">=1,<1.14.4.3", "magento/product-community-edition": ">=2,<2.2.10|>=2.3,<2.3.2-p.2", "marcwillmann/turn": "<0.3.3", - "mautic/core": "<3.3.2|= 2.13.1", + "matyhtf/framework": "<3.0.6", + "mautic/core": "<4.3|= 2.13.1", "mediawiki/core": ">=1.27,<1.27.6|>=1.29,<1.29.3|>=1.30,<1.30.2|>=1.31,<1.31.9|>=1.32,<1.32.6|>=1.32.99,<1.33.3|>=1.33.99,<1.34.3|>=1.34.99,<1.35", + "mezzio/mezzio-swoole": "<3.7|>=4,<4.3", + "microweber/microweber": "<1.3", + "miniorange/miniorange-saml": "<1.4.3", "mittwald/typo3_forum": "<1.2.1", + "modx/revolution": "<= 2.8.3-pl|<2.8", + "mojo42/jirafeau": "<4.4", "monolog/monolog": ">=1.8,<1.12", - "moodle/moodle": "<3.5.17|>=3.7,<3.7.9|>=3.8,<3.8.8|>=3.9,<3.9.5|>=3.10,<3.10.2", + "moodle/moodle": "<4.0.1", + "mustache/mustache": ">=2,<2.14.1", "namshi/jose": "<2.2", + "neoan3-apps/template": "<1.1.1", + "neorazorx/facturascripts": "<2022.4", "neos/flow": ">=1,<1.0.4|>=1.1,<1.1.1|>=2,<2.0.1|>=2.3,<2.3.16|>=3,<3.0.12|>=3.1,<3.1.10|>=3.2,<3.2.13|>=3.3,<3.3.13|>=4,<4.0.6", - "neos/neos": ">=1.1,<1.1.3|>=1.2,<1.2.13|>=2,<2.0.4|>=2.3,<2.9.99|>=3,<3.0.20|>=3.1,<3.1.18|>=3.2,<3.2.14|>=3.3,<3.3.23|>=4,<4.0.17|>=4.1,<4.1.16|>=4.2,<4.2.12|>=4.3,<4.3.3", + "neos/form": ">=1.2,<4.3.3|>=5,<5.0.9|>=5.1,<5.1.3", + "neos/neos": ">=1.1,<1.1.3|>=1.2,<1.2.13|>=2,<2.0.4|>=2.3,<2.9.99|>=3,<3.0.20|>=3.1,<3.1.18|>=3.2,<3.2.14|>=3.3,<5.3.10|>=7,<7.0.9|>=7.1,<7.1.7|>=7.2,<7.2.6|>=7.3,<7.3.4|>=8,<8.0.2", "neos/swiftmailer": ">=4.1,<4.1.99|>=5.4,<5.4.5", + "netgen/tagsbundle": ">=3.4,<3.4.11|>=4,<4.0.15", "nette/application": ">=2,<2.0.19|>=2.1,<2.1.13|>=2.2,<2.2.10|>=2.3,<2.3.14|>=2.4,<2.4.16|>=3,<3.0.6", "nette/nette": ">=2,<2.0.19|>=2.1,<2.1.13", - "nystudio107/craft-seomatic": "<3.3", + "nilsteampassnet/teampass": "<=2.1.27.36", + "noumo/easyii": "<=0.9", + "nukeviet/nukeviet": "<4.5.2", + "nystudio107/craft-seomatic": "<3.4.12", "nzo/url-encryptor-bundle": ">=4,<4.3.2|>=5,<5.0.1", "october/backend": "<1.1.2", "october/cms": "= 1.1.1|= 1.0.471|= 1.0.469|>=1.0.319,<1.0.469", - "october/october": ">=1.0.319,<1.0.466", + "october/october": ">=1.0.319,<1.0.466|>=2.1,<2.1.12", "october/rain": "<1.0.472|>=1.1,<1.1.2", + "october/system": "<1.0.476|>=1.1,<1.1.12|>=2,<2.2.15", "onelogin/php-saml": "<2.10.4", "oneup/uploader-bundle": "<1.9.3|>=2,<2.1.5", + "open-web-analytics/open-web-analytics": "<1.7.4", "opencart/opencart": "<=3.0.3.2", "openid/php-openid": "<2.3", - "openmage/magento-lts": "<=19.4.12|>=20,<=20.0.8", + "openmage/magento-lts": "<19.4.15|>=20,<20.0.13", "orchid/platform": ">=9,<9.4.4", - "oro/crm": ">=1.7,<1.7.4", - "oro/platform": ">=1.7,<1.7.4", + "oro/commerce": ">=5,<5.0.4", + "oro/crm": ">=1.7,<1.7.4|>=3.1,<4.1.17|>=4.2,<4.2.7", + "oro/platform": ">=1.7,<1.7.4|>=3.1,<3.1.29|>=4.1,<4.1.17|>=4.2,<4.2.8", + "packbackbooks/lti-1-3-php-library": "<5", "padraic/humbug_get_contents": "<1.1.2", "pagarme/pagarme-php": ">=0,<3", + "pagekit/pagekit": "<=1.0.18", "paragonie/random_compat": "<2", "passbolt/passbolt_api": "<2.11", "paypal/merchant-sdk-php": "<3.12", - "pear/archive_tar": "<1.4.12", + "pear/archive_tar": "<1.4.14", + "pear/crypt_gpg": "<1.6.7", + "pegasus/google-for-jobs": "<1.5.1|>=2,<2.1.1", "personnummer/personnummer": "<3.0.2", - "phpfastcache/phpfastcache": ">=5,<5.0.13", - "phpmailer/phpmailer": "<6.1.6|>=6.1.8,<6.4.1", + "phanan/koel": "<5.1.4", + "phpfastcache/phpfastcache": "<6.1.5|>=7,<7.1.2|>=8,<8.0.7", + "phpmailer/phpmailer": "<6.5", "phpmussel/phpmussel": ">=1,<1.6", - "phpmyadmin/phpmyadmin": "<4.9.6|>=5,<5.0.3", - "phpoffice/phpexcel": "<1.8.2", + "phpmyadmin/phpmyadmin": "<5.1.3", + "phpoffice/phpexcel": "<1.8", "phpoffice/phpspreadsheet": "<1.16", "phpseclib/phpseclib": "<2.0.31|>=3,<3.0.7", - "phpunit/phpunit": ">=4.8.19,<4.8.28|>=5.0.10,<5.6.3", + "phpservermon/phpservermon": "<=3.5.2", + "phpunit/phpunit": ">=4.8.19,<4.8.28|>=5,<5.6.3", "phpwhois/phpwhois": "<=4.2.5", "phpxmlrpc/extras": "<0.6.1", - "pimcore/pimcore": "<6.8.8", - "pocketmine/pocketmine-mp": "<3.15.4", + "pimcore/data-hub": "<1.2.4", + "pimcore/pimcore": "<10.4.4", + "pocketmine/bedrock-protocol": "<8.0.2", + "pocketmine/pocketmine-mp": ">= 4.0.0-BETA5, < 4.4.2|<4.2.10", "pressbooks/pressbooks": "<5.18", "prestashop/autoupgrade": ">=4,<4.10.1", + "prestashop/blockwishlist": ">=2,<2.1.1", "prestashop/contactform": ">1.0.1,<4.3", "prestashop/gamification": "<2.3.2", + "prestashop/prestashop": ">=1.6.0.10,<1.7.8.7", "prestashop/productcomments": ">=4,<4.2.1", "prestashop/ps_emailsubscription": "<2.6.1", "prestashop/ps_facetedsearch": "<3.4.1", - "privatebin/privatebin": "<1.2.2|>=1.3,<1.3.2", + "prestashop/ps_linklist": "<3.1", + "privatebin/privatebin": "<1.4", "propel/propel": ">=2-alpha.1,<=2-alpha.7", "propel/propel1": ">=1,<=1.7.1", - "pterodactyl/panel": "<0.7.19|>=1-rc.0,<=1-rc.6", + "pterodactyl/panel": "<1.7", + "ptrofimov/beanstalk_console": "<1.7.14", "pusher/pusher-php-server": "<2.2.1", "pwweb/laravel-core": "<=0.3.6-beta", "rainlab/debugbar-plugin": "<3.1", + "remdex/livehelperchat": "<3.99", "rmccue/requests": ">=1.6,<1.8", "robrichards/xmlseclibs": "<3.0.4", + "rudloff/alltube": "<3.0.3", + "s-cart/core": "<6.9", + "s-cart/s-cart": "<6.9", "sabberworm/php-css-parser": ">=1,<1.0.1|>=2,<2.0.1|>=3,<3.0.1|>=4,<4.0.1|>=5,<5.0.9|>=5.1,<5.1.3|>=5.2,<5.2.1|>=6,<6.0.2|>=7,<7.0.4|>=8,<8.0.1|>=8.1,<8.1.1|>=8.2,<8.2.1|>=8.3,<8.3.1", "sabre/dav": ">=1.6,<1.6.99|>=1.7,<1.7.11|>=1.8,<1.8.9", "scheb/two-factor-bundle": ">=0,<3.26|>=4,<4.11", "sensiolabs/connect": "<4.2.3", "serluck/phpwhois": "<=4.2.6", - "shopware/core": "<=6.3.5.2", - "shopware/platform": "<=6.3.5.2", + "shopware/core": "<=6.4.9", + "shopware/platform": "<=6.4.9", "shopware/production": "<=6.3.5.2", - "shopware/shopware": "<5.6.9", - "silverstripe/admin": ">=1.0.3,<1.0.4|>=1.1,<1.1.1", - "silverstripe/assets": ">=1,<1.4.7|>=1.5,<1.5.2", + "shopware/shopware": "<=5.7.13", + "shopware/storefront": "<=6.4.8.1", + "shopxo/shopxo": "<2.2.6", + "showdoc/showdoc": "<2.10.4", + "silverstripe/admin": ">=1,<1.8.1", + "silverstripe/assets": ">=1,<1.10.1", "silverstripe/cms": "<4.3.6|>=4.4,<4.4.4", "silverstripe/comments": ">=1.3,<1.9.99|>=2,<2.9.99|>=3,<3.1.1", "silverstripe/forum": "<=0.6.1|>=0.7,<=0.7.3", - "silverstripe/framework": "<4.4.7|>=4.5,<4.5.4", - "silverstripe/graphql": ">=2,<2.0.5|>=3,<3.1.2|>=3.2,<3.2.4", + "silverstripe/framework": "<4.10.9", + "silverstripe/graphql": "<3.5.2|>=4-alpha.1,<4-alpha.2|= 4.0.0-alpha1", + "silverstripe/hybridsessions": ">=1,<2.4.1|>=2.5,<2.5.1", "silverstripe/registry": ">=2.1,<2.1.2|>=2.2,<2.2.1", "silverstripe/restfulserver": ">=1,<1.0.9|>=2,<2.0.4", + "silverstripe/silverstripe-omnipay": "<2.5.2|>=3,<3.0.2|>=3.1,<3.1.4|>=3.2,<3.2.1", "silverstripe/subsites": ">=2,<2.1.1", "silverstripe/taxonomy": ">=1.3,<1.3.1|>=2,<2.0.1", "silverstripe/userforms": "<3", @@ -1948,62 +2416,78 @@ "simplesamlphp/simplesamlphp-module-infocard": "<1.0.1", "simplito/elliptic-php": "<1.0.6", "slim/slim": "<2.6", - "smarty/smarty": "<3.1.39", + "smarty/smarty": "<3.1.45|>=4,<4.1.1", + "snipe/snipe-it": "<=6.0.2|>= 6.0.0-RC-1, <= 6.0.0-RC-5", "socalnick/scn-social-auth": "<1.15.2", "socialiteproviders/steam": "<1.1", + "spipu/html2pdf": "<5.2.4", "spoonity/tcpdf": "<6.2.22", "squizlabs/php_codesniffer": ">=1,<2.8.1|>=3,<3.0.1", - "ssddanbrown/bookstack": "<0.29.2", + "ssddanbrown/bookstack": "<22.2.3", + "statamic/cms": "<3.2.39|>=3.3,<3.3.2", "stormpath/sdk": ">=0,<9.9.99", - "studio-42/elfinder": "<2.1.49", - "sulu/sulu": "<1.6.34|>=2,<2.0.10|>=2.1,<2.1.1", + "studio-42/elfinder": "<2.1.59", + "subrion/cms": "<=4.2.1", + "sulu/sulu": "= 2.4.0-RC1|<1.6.44|>=2,<2.2.18|>=2.3,<2.3.8", "swiftmailer/swiftmailer": ">=4,<5.4.5", "sylius/admin-bundle": ">=1,<1.0.17|>=1.1,<1.1.9|>=1.2,<1.2.2", "sylius/grid": ">=1,<1.1.19|>=1.2,<1.2.18|>=1.3,<1.3.13|>=1.4,<1.4.5|>=1.5,<1.5.1", - "sylius/grid-bundle": ">=1,<1.1.19|>=1.2,<1.2.18|>=1.3,<1.3.13|>=1.4,<1.4.5|>=1.5,<1.5.1", + "sylius/grid-bundle": "<1.10.1", + "sylius/paypal-plugin": ">=1,<1.2.4|>=1.3,<1.3.1", "sylius/resource-bundle": "<1.3.14|>=1.4,<1.4.7|>=1.5,<1.5.2|>=1.6,<1.6.4", - "sylius/sylius": "<1.6.9|>=1.7,<1.7.9|>=1.8,<1.8.3", + "sylius/sylius": "<1.9.10|>=1.10,<1.10.11|>=1.11,<1.11.2", "symbiote/silverstripe-multivaluefield": ">=3,<3.0.99", "symbiote/silverstripe-queuedjobs": ">=3,<3.0.2|>=3.1,<3.1.4|>=4,<4.0.7|>=4.1,<4.1.2|>=4.2,<4.2.4|>=4.3,<4.3.3|>=4.4,<4.4.3|>=4.5,<4.5.1|>=4.6,<4.6.4", "symbiote/silverstripe-versionedfiles": "<=2.0.3", + "symfont/process": ">=0,<4", "symfony/cache": ">=3.1,<3.4.35|>=4,<4.2.12|>=4.3,<4.3.8", "symfony/dependency-injection": ">=2,<2.0.17|>=2.7,<2.7.51|>=2.8,<2.8.50|>=3,<3.4.26|>=4,<4.1.12|>=4.2,<4.2.7", "symfony/error-handler": ">=4.4,<4.4.4|>=5,<5.0.4", "symfony/form": ">=2.3,<2.3.35|>=2.4,<2.6.12|>=2.7,<2.7.50|>=2.8,<2.8.49|>=3,<3.4.20|>=4,<4.0.15|>=4.1,<4.1.9|>=4.2,<4.2.1", - "symfony/framework-bundle": ">=2,<2.3.18|>=2.4,<2.4.8|>=2.5,<2.5.2|>=2.7,<2.7.51|>=2.8,<2.8.50|>=3,<3.4.26|>=4,<4.1.12|>=4.2,<4.2.7", + "symfony/framework-bundle": ">=2,<2.3.18|>=2.4,<2.4.8|>=2.5,<2.5.2|>=2.7,<2.7.51|>=2.8,<2.8.50|>=3,<3.4.26|>=4,<4.1.12|>=4.2,<4.2.7|>=5.3.14,<=5.3.14|>=5.4.3,<=5.4.3|>=6.0.3,<=6.0.3|= 6.0.3|= 5.4.3|= 5.3.14", "symfony/http-foundation": ">=2,<2.8.52|>=3,<3.4.35|>=4,<4.2.12|>=4.3,<4.3.8|>=4.4,<4.4.7|>=5,<5.0.7", - "symfony/http-kernel": ">=2,<2.8.52|>=3,<3.4.35|>=4,<4.2.12|>=4.3,<4.4.13|>=5,<5.1.5", + "symfony/http-kernel": ">=2,<2.8.52|>=3,<3.4.35|>=4,<4.2.12|>=4.3,<4.4.13|>=5,<5.1.5|>=5.2,<5.3.12", "symfony/intl": ">=2.7,<2.7.38|>=2.8,<2.8.31|>=3,<3.2.14|>=3.3,<3.3.13", + "symfony/maker-bundle": ">=1.27,<1.29.2|>=1.30,<1.31.1", "symfony/mime": ">=4.3,<4.3.8", "symfony/phpunit-bridge": ">=2.8,<2.8.50|>=3,<3.4.26|>=4,<4.1.12|>=4.2,<4.2.7", "symfony/polyfill": ">=1,<1.10", "symfony/polyfill-php55": ">=1,<1.10", "symfony/proxy-manager-bridge": ">=2.7,<2.7.51|>=2.8,<2.8.50|>=3,<3.4.26|>=4,<4.1.12|>=4.2,<4.2.7", "symfony/routing": ">=2,<2.0.19", - "symfony/security": ">=2,<2.7.51|>=2.8,<2.8.50|>=3,<3.4.26|>=4,<4.1.12|>=4.2,<4.2.7|>=4.4,<4.4.7|>=5,<5.0.7", - "symfony/security-bundle": ">=2,<2.7.48|>=2.8,<2.8.41|>=3,<3.3.17|>=3.4,<3.4.11|>=4,<4.0.11", - "symfony/security-core": ">=2.4,<2.6.13|>=2.7,<2.7.9|>=2.7.30,<2.7.32|>=2.8,<2.8.37|>=3,<3.3.17|>=3.4,<3.4.7|>=4,<4.0.7", + "symfony/security": ">=2,<2.7.51|>=2.8,<3.4.49|>=4,<4.4.24|>=5,<5.2.8", + "symfony/security-bundle": ">=2,<2.7.48|>=2.8,<2.8.41|>=3,<3.3.17|>=3.4,<3.4.11|>=4,<4.0.11|>=5.3,<5.3.12", + "symfony/security-core": ">=2.4,<2.6.13|>=2.7,<2.7.9|>=2.7.30,<2.7.32|>=2.8,<3.4.49|>=4,<4.4.24|>=5,<5.2.9", "symfony/security-csrf": ">=2.4,<2.7.48|>=2.8,<2.8.41|>=3,<3.3.17|>=3.4,<3.4.11|>=4,<4.0.11", - "symfony/security-guard": ">=2.8,<2.8.41|>=3,<3.3.17|>=3.4,<3.4.11|>=4,<4.0.11", - "symfony/security-http": ">=2.3,<2.3.41|>=2.4,<2.7.51|>=2.8,<2.8.50|>=3,<3.4.26|>=4,<4.2.12|>=4.3,<4.3.8|>=4.4,<4.4.7|>=5,<5.0.7", - "symfony/serializer": ">=2,<2.0.11", - "symfony/symfony": ">=2,<2.8.52|>=3,<3.4.35|>=4,<4.2.12|>=4.3,<4.4.13|>=5,<5.1.5", + "symfony/security-guard": ">=2.8,<3.4.48|>=4,<4.4.23|>=5,<5.2.8", + "symfony/security-http": ">=2.3,<2.3.41|>=2.4,<2.7.51|>=2.8,<2.8.50|>=3,<3.4.26|>=4,<4.2.12|>=4.3,<4.3.8|>=4.4,<4.4.7|>=5,<5.0.7|>=5.1,<5.2.8|>=5.3,<5.3.2", + "symfony/serializer": ">=2,<2.0.11|>=4.1,<4.4.35|>=5,<5.3.12", + "symfony/symfony": ">=2,<3.4.49|>=4,<4.4.35|>=5,<5.3.12|>=5.3.14,<=5.3.14|>=5.4.3,<=5.4.3|>=6.0.3,<=6.0.3", "symfony/translation": ">=2,<2.0.17", "symfony/validator": ">=2,<2.0.24|>=2.1,<2.1.12|>=2.2,<2.2.5|>=2.3,<2.3.3", "symfony/var-exporter": ">=4.2,<4.2.12|>=4.3,<4.3.8", "symfony/web-profiler-bundle": ">=2,<2.3.19|>=2.4,<2.4.9|>=2.5,<2.5.4", "symfony/yaml": ">=2,<2.0.22|>=2.1,<2.1.7", + "t3/dce": ">=2.2,<2.6.2", "t3g/svg-sanitizer": "<1.0.3", + "tastyigniter/tastyigniter": "<3.3", "tecnickcom/tcpdf": "<6.2.22", + "terminal42/contao-tablelookupwizard": "<3.3.5", "thelia/backoffice-default-template": ">=2.1,<2.1.2", "thelia/thelia": ">=2.1-beta.1,<2.1.3", "theonedemon/phpwhois": "<=4.2.5", + "thinkcmf/thinkcmf": "<=5.1.7", + "tinymce/tinymce": "<5.10", "titon/framework": ">=0,<9.9.99", + "topthink/framework": "<=6.0.12", + "topthink/think": "<=6.0.9", + "topthink/thinkphp": "<=3.2.3", + "tribalsystems/zenario": "<9.2.55826", "truckersmp/phpwhois": "<=4.3.1", - "twig/twig": "<1.38|>=2,<2.7", - "typo3/cms": ">=6.2,<6.2.30|>=7,<7.6.32|>=8,<8.7.38|>=9,<9.5.25|>=10,<10.4.14|>=11,<11.1.1", + "twig/twig": "<1.38|>=2,<2.14.11|>=3,<3.3.8", + "typo3/cms": ">=6.2,<6.2.30|>=7,<7.6.32|>=8,<8.7.38|>=9,<9.5.29|>=10,<10.4.29|>=11,<11.5.11", "typo3/cms-backend": ">=7,<=7.6.50|>=8,<=8.7.39|>=9,<=9.5.24|>=10,<=10.4.13|>=11,<=11.1", - "typo3/cms-core": ">=6.2,<=6.2.56|>=7,<=7.6.50|>=8,<=8.7.39|>=9,<9.5.25|>=10,<10.4.14|>=11,<11.1.1", + "typo3/cms-core": ">=6.2,<=6.2.56|>=7,<7.6.57|>=8,<8.7.47|>=9,<9.5.35|>=10,<10.4.29|>=11,<11.5.11", "typo3/cms-form": ">=8,<=8.7.39|>=9,<=9.5.24|>=10,<=10.4.13|>=11,<=11.1", "typo3/flow": ">=1,<1.0.4|>=1.1,<1.1.1|>=2,<2.0.1|>=2.3,<2.3.16|>=3,<3.0.12|>=3.1,<3.1.10|>=3.2,<3.2.13|>=3.3,<3.3.13|>=4,<4.0.6", "typo3/neos": ">=1.1,<1.1.3|>=1.2,<1.2.13|>=2,<2.0.4|>=2.3,<2.3.99|>=3,<3.0.20|>=3.1,<3.1.18|>=3.2,<3.2.14|>=3.3,<3.3.23|>=4,<4.0.17|>=4.1,<4.1.16|>=4.2,<4.2.12|>=4.3,<4.3.3", @@ -2011,32 +2495,48 @@ "typo3/swiftmailer": ">=4.1,<4.1.99|>=5.4,<5.4.5", "typo3fluid/fluid": ">=2,<2.0.8|>=2.1,<2.1.7|>=2.2,<2.2.4|>=2.3,<2.3.7|>=2.4,<2.4.4|>=2.5,<2.5.11|>=2.6,<2.6.10", "ua-parser/uap-php": "<3.8", + "unisharp/laravel-filemanager": "<=2.3", + "userfrosting/userfrosting": ">=0.3.1,<4.6.3", "usmanhalalit/pixie": "<1.0.3|>=2,<2.0.2", + "vanilla/safecurl": "<0.9.2", "verot/class.upload.php": "<=1.0.3|>=2,<=2.0.4", - "vrana/adminer": "<4.7.9", + "vrana/adminer": "<4.8.1", "wallabag/tcpdf": "<6.2.22", + "wanglelecc/laracms": "<=1.0.3", + "web-auth/webauthn-framework": ">=3.3,<3.3.4", + "webcoast/deferred-image-processing": "<1.0.2", "wikimedia/parsoid": "<0.12.2", "willdurand/js-translation-bundle": "<2.1.1", + "wintercms/winter": "<1.0.475|>=1.1,<1.1.9", + "woocommerce/woocommerce": "<6.6", + "wp-cli/wp-cli": "<2.5", + "wp-graphql/wp-graphql": "<0.3.5", + "wpanel/wpanel4-cms": "<=4.3.1", + "wwbn/avideo": "<=11.6", + "yeswiki/yeswiki": "<4.1", + "yetiforce/yetiforce-crm": "<6.4", + "yidashi/yii2cmf": "<=2", "yii2mod/yii2-cms": "<1.9.2", "yiisoft/yii": ">=1.1.14,<1.1.15", "yiisoft/yii2": "<2.0.38", "yiisoft/yii2-bootstrap": "<2.0.4", - "yiisoft/yii2-dev": "<2.0.15", + "yiisoft/yii2-dev": "<2.0.43", "yiisoft/yii2-elasticsearch": "<2.0.5", "yiisoft/yii2-gii": "<2.0.4", "yiisoft/yii2-jui": "<2.0.4", "yiisoft/yii2-redis": "<2.0.8", - "yourls/yourls": "<1.7.4", + "yoast-seo-for-typo3/yoast_seo": "<7.2.3", + "yourls/yourls": "<=1.8.2", "zendesk/zendesk_api_client_php": "<2.2.11", "zendframework/zend-cache": ">=2.4,<2.4.8|>=2.5,<2.5.3", "zendframework/zend-captcha": ">=2,<2.4.9|>=2.5,<2.5.2", "zendframework/zend-crypt": ">=2,<2.4.9|>=2.5,<2.5.2", "zendframework/zend-db": ">=2,<2.0.99|>=2.1,<2.1.99|>=2.2,<2.2.10|>=2.3,<2.3.5", "zendframework/zend-developer-tools": ">=1.2.2,<1.2.3", - "zendframework/zend-diactoros": ">=1,<1.8.4", - "zendframework/zend-feed": ">=1,<2.10.3", + "zendframework/zend-diactoros": "<1.8.4", + "zendframework/zend-feed": "<2.10.3", "zendframework/zend-form": ">=2,<2.2.7|>=2.3,<2.3.1", - "zendframework/zend-http": ">=1,<2.8.1", + "zendframework/zend-http": "<2.8.1", "zendframework/zend-json": ">=2.1,<2.1.6|>=2.2,<2.2.6", "zendframework/zend-ldap": ">=2,<2.0.99|>=2.1,<2.1.99|>=2.2,<2.2.8|>=2.3,<2.3.3", "zendframework/zend-mail": ">=2,<2.4.11|>=2.5,<2.7.2", @@ -2045,7 +2545,7 @@ "zendframework/zend-validator": ">=2.3,<2.3.6", "zendframework/zend-view": ">=2,<2.2.7|>=2.3,<2.3.1", "zendframework/zend-xmlrpc": ">=2.1,<2.1.6|>=2.2,<2.2.6", - "zendframework/zendframework": "<2.5.1", + "zendframework/zendframework": "<=3", "zendframework/zendframework1": "<1.12.20", "zendframework/zendopenid": ">=2,<2.0.2", "zendframework/zendxml": ">=1,<1.0.1", @@ -2087,32 +2587,144 @@ "type": "tidelift" } ], - "time": "2021-05-06T19:08:33+00:00" + "time": "2022-07-29T23:04:14+00:00" + }, + { + "name": "sebastian/cli-parser", + "version": "1.0.1", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/cli-parser.git", + "reference": "442e7c7e687e42adc03470c7b668bc4b2402c0b2" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/cli-parser/zipball/442e7c7e687e42adc03470c7b668bc4b2402c0b2", + "reference": "442e7c7e687e42adc03470c7b668bc4b2402c0b2", + "shasum": "" + }, + "require": { + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Library for parsing CLI options", + "homepage": "https://github.com/sebastianbergmann/cli-parser", + "support": { + "issues": "https://github.com/sebastianbergmann/cli-parser/issues", + "source": "https://github.com/sebastianbergmann/cli-parser/tree/1.0.1" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-09-28T06:08:49+00:00" + }, + { + "name": "sebastian/code-unit", + "version": "1.0.8", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/code-unit.git", + "reference": "1fc9f64c0927627ef78ba436c9b17d967e68e120" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/code-unit/zipball/1fc9f64c0927627ef78ba436c9b17d967e68e120", + "reference": "1fc9f64c0927627ef78ba436c9b17d967e68e120", + "shasum": "" + }, + "require": { + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Collection of value objects that represent the PHP code units", + "homepage": "https://github.com/sebastianbergmann/code-unit", + "support": { + "issues": "https://github.com/sebastianbergmann/code-unit/issues", + "source": "https://github.com/sebastianbergmann/code-unit/tree/1.0.8" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-10-26T13:08:54+00:00" }, { "name": "sebastian/code-unit-reverse-lookup", - "version": "1.0.2", + "version": "2.0.3", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/code-unit-reverse-lookup.git", - "reference": "1de8cd5c010cb153fcd68b8d0f64606f523f7619" + "reference": "ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/code-unit-reverse-lookup/zipball/1de8cd5c010cb153fcd68b8d0f64606f523f7619", - "reference": "1de8cd5c010cb153fcd68b8d0f64606f523f7619", + "url": "https://api.github.com/repos/sebastianbergmann/code-unit-reverse-lookup/zipball/ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5", + "reference": "ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5", "shasum": "" }, "require": { - "php": ">=5.6" + "php": ">=7.3" }, "require-dev": { - "phpunit/phpunit": "^8.5" + "phpunit/phpunit": "^9.3" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.0.x-dev" + "dev-master": "2.0-dev" } }, "autoload": { @@ -2134,7 +2746,7 @@ "homepage": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/", "support": { "issues": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/issues", - "source": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/tree/1.0.2" + "source": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/tree/2.0.3" }, "funding": [ { @@ -2142,34 +2754,34 @@ "type": "github" } ], - "time": "2020-11-30T08:15:22+00:00" + "time": "2020-09-28T05:30:19+00:00" }, { "name": "sebastian/comparator", - "version": "3.0.3", + "version": "4.0.6", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/comparator.git", - "reference": "1071dfcef776a57013124ff35e1fc41ccd294758" + "reference": "55f4261989e546dc112258c7a75935a81a7ce382" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/1071dfcef776a57013124ff35e1fc41ccd294758", - "reference": "1071dfcef776a57013124ff35e1fc41ccd294758", + "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/55f4261989e546dc112258c7a75935a81a7ce382", + "reference": "55f4261989e546dc112258c7a75935a81a7ce382", "shasum": "" }, "require": { - "php": ">=7.1", - "sebastian/diff": "^3.0", - "sebastian/exporter": "^3.1" + "php": ">=7.3", + "sebastian/diff": "^4.0", + "sebastian/exporter": "^4.0" }, "require-dev": { - "phpunit/phpunit": "^8.5" + "phpunit/phpunit": "^9.3" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "3.0-dev" + "dev-master": "4.0-dev" } }, "autoload": { @@ -2208,7 +2820,7 @@ ], "support": { "issues": "https://github.com/sebastianbergmann/comparator/issues", - "source": "https://github.com/sebastianbergmann/comparator/tree/3.0.3" + "source": "https://github.com/sebastianbergmann/comparator/tree/4.0.6" }, "funding": [ { @@ -2216,33 +2828,90 @@ "type": "github" } ], - "time": "2020-11-30T08:04:30+00:00" + "time": "2020-10-26T15:49:45+00:00" + }, + { + "name": "sebastian/complexity", + "version": "2.0.2", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/complexity.git", + "reference": "739b35e53379900cc9ac327b2147867b8b6efd88" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/complexity/zipball/739b35e53379900cc9ac327b2147867b8b6efd88", + "reference": "739b35e53379900cc9ac327b2147867b8b6efd88", + "shasum": "" + }, + "require": { + "nikic/php-parser": "^4.7", + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Library for calculating the complexity of PHP code units", + "homepage": "https://github.com/sebastianbergmann/complexity", + "support": { + "issues": "https://github.com/sebastianbergmann/complexity/issues", + "source": "https://github.com/sebastianbergmann/complexity/tree/2.0.2" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-10-26T15:52:27+00:00" }, { "name": "sebastian/diff", - "version": "3.0.3", + "version": "4.0.4", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/diff.git", - "reference": "14f72dd46eaf2f2293cbe79c93cc0bc43161a211" + "reference": "3461e3fccc7cfdfc2720be910d3bd73c69be590d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/14f72dd46eaf2f2293cbe79c93cc0bc43161a211", - "reference": "14f72dd46eaf2f2293cbe79c93cc0bc43161a211", + "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/3461e3fccc7cfdfc2720be910d3bd73c69be590d", + "reference": "3461e3fccc7cfdfc2720be910d3bd73c69be590d", "shasum": "" }, "require": { - "php": ">=7.1" + "php": ">=7.3" }, "require-dev": { - "phpunit/phpunit": "^7.5 || ^8.0", - "symfony/process": "^2 || ^3.3 || ^4" + "phpunit/phpunit": "^9.3", + "symfony/process": "^4.2 || ^5" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "3.0-dev" + "dev-master": "4.0-dev" } }, "autoload": { @@ -2274,7 +2943,7 @@ ], "support": { "issues": "https://github.com/sebastianbergmann/diff/issues", - "source": "https://github.com/sebastianbergmann/diff/tree/3.0.3" + "source": "https://github.com/sebastianbergmann/diff/tree/4.0.4" }, "funding": [ { @@ -2282,27 +2951,27 @@ "type": "github" } ], - "time": "2020-11-30T07:59:04+00:00" + "time": "2020-10-26T13:10:38+00:00" }, { "name": "sebastian/environment", - "version": "4.2.4", + "version": "5.1.4", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/environment.git", - "reference": "d47bbbad83711771f167c72d4e3f25f7fcc1f8b0" + "reference": "1b5dff7bb151a4db11d49d90e5408e4e938270f7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/d47bbbad83711771f167c72d4e3f25f7fcc1f8b0", - "reference": "d47bbbad83711771f167c72d4e3f25f7fcc1f8b0", + "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/1b5dff7bb151a4db11d49d90e5408e4e938270f7", + "reference": "1b5dff7bb151a4db11d49d90e5408e4e938270f7", "shasum": "" }, "require": { - "php": ">=7.1" + "php": ">=7.3" }, "require-dev": { - "phpunit/phpunit": "^7.5" + "phpunit/phpunit": "^9.3" }, "suggest": { "ext-posix": "*" @@ -2310,7 +2979,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "4.2-dev" + "dev-master": "5.1-dev" } }, "autoload": { @@ -2337,7 +3006,7 @@ ], "support": { "issues": "https://github.com/sebastianbergmann/environment/issues", - "source": "https://github.com/sebastianbergmann/environment/tree/4.2.4" + "source": "https://github.com/sebastianbergmann/environment/tree/5.1.4" }, "funding": [ { @@ -2345,34 +3014,34 @@ "type": "github" } ], - "time": "2020-11-30T07:53:42+00:00" + "time": "2022-04-03T09:37:03+00:00" }, { "name": "sebastian/exporter", - "version": "3.1.3", + "version": "4.0.4", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/exporter.git", - "reference": "6b853149eab67d4da22291d36f5b0631c0fd856e" + "reference": "65e8b7db476c5dd267e65eea9cab77584d3cfff9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/6b853149eab67d4da22291d36f5b0631c0fd856e", - "reference": "6b853149eab67d4da22291d36f5b0631c0fd856e", + "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/65e8b7db476c5dd267e65eea9cab77584d3cfff9", + "reference": "65e8b7db476c5dd267e65eea9cab77584d3cfff9", "shasum": "" }, "require": { - "php": ">=7.0", - "sebastian/recursion-context": "^3.0" + "php": ">=7.3", + "sebastian/recursion-context": "^4.0" }, "require-dev": { "ext-mbstring": "*", - "phpunit/phpunit": "^6.0" + "phpunit/phpunit": "^9.3" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "3.1.x-dev" + "dev-master": "4.0-dev" } }, "autoload": { @@ -2407,14 +3076,14 @@ } ], "description": "Provides the functionality to export PHP variables for visualization", - "homepage": "http://www.github.com/sebastianbergmann/exporter", + "homepage": "https://www.github.com/sebastianbergmann/exporter", "keywords": [ "export", "exporter" ], "support": { "issues": "https://github.com/sebastianbergmann/exporter/issues", - "source": "https://github.com/sebastianbergmann/exporter/tree/3.1.3" + "source": "https://github.com/sebastianbergmann/exporter/tree/4.0.4" }, "funding": [ { @@ -2422,27 +3091,30 @@ "type": "github" } ], - "time": "2020-11-30T07:47:53+00:00" + "time": "2021-11-11T14:18:36+00:00" }, { "name": "sebastian/global-state", - "version": "2.0.0", + "version": "5.0.5", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/global-state.git", - "reference": "e8ba02eed7bbbb9e59e43dedd3dddeff4a56b0c4" + "reference": "0ca8db5a5fc9c8646244e629625ac486fa286bf2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/e8ba02eed7bbbb9e59e43dedd3dddeff4a56b0c4", - "reference": "e8ba02eed7bbbb9e59e43dedd3dddeff4a56b0c4", + "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/0ca8db5a5fc9c8646244e629625ac486fa286bf2", + "reference": "0ca8db5a5fc9c8646244e629625ac486fa286bf2", "shasum": "" }, "require": { - "php": "^7.0" + "php": ">=7.3", + "sebastian/object-reflector": "^2.0", + "sebastian/recursion-context": "^4.0" }, "require-dev": { - "phpunit/phpunit": "^6.0" + "ext-dom": "*", + "phpunit/phpunit": "^9.3" }, "suggest": { "ext-uopz": "*" @@ -2450,7 +3122,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "2.0-dev" + "dev-master": "5.0-dev" } }, "autoload": { @@ -2475,36 +3147,99 @@ ], "support": { "issues": "https://github.com/sebastianbergmann/global-state/issues", - "source": "https://github.com/sebastianbergmann/global-state/tree/2.0.0" + "source": "https://github.com/sebastianbergmann/global-state/tree/5.0.5" }, - "time": "2017-04-27T15:39:26+00:00" + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2022-02-14T08:28:10+00:00" + }, + { + "name": "sebastian/lines-of-code", + "version": "1.0.3", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/lines-of-code.git", + "reference": "c1c2e997aa3146983ed888ad08b15470a2e22ecc" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/lines-of-code/zipball/c1c2e997aa3146983ed888ad08b15470a2e22ecc", + "reference": "c1c2e997aa3146983ed888ad08b15470a2e22ecc", + "shasum": "" + }, + "require": { + "nikic/php-parser": "^4.6", + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Library for counting the lines of code in PHP source code", + "homepage": "https://github.com/sebastianbergmann/lines-of-code", + "support": { + "issues": "https://github.com/sebastianbergmann/lines-of-code/issues", + "source": "https://github.com/sebastianbergmann/lines-of-code/tree/1.0.3" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-11-28T06:42:11+00:00" }, { "name": "sebastian/object-enumerator", - "version": "3.0.4", + "version": "4.0.4", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/object-enumerator.git", - "reference": "e67f6d32ebd0c749cf9d1dbd9f226c727043cdf2" + "reference": "5c9eeac41b290a3712d88851518825ad78f45c71" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/e67f6d32ebd0c749cf9d1dbd9f226c727043cdf2", - "reference": "e67f6d32ebd0c749cf9d1dbd9f226c727043cdf2", + "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/5c9eeac41b290a3712d88851518825ad78f45c71", + "reference": "5c9eeac41b290a3712d88851518825ad78f45c71", "shasum": "" }, "require": { - "php": ">=7.0", - "sebastian/object-reflector": "^1.1.1", - "sebastian/recursion-context": "^3.0" + "php": ">=7.3", + "sebastian/object-reflector": "^2.0", + "sebastian/recursion-context": "^4.0" }, "require-dev": { - "phpunit/phpunit": "^6.0" + "phpunit/phpunit": "^9.3" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "3.0.x-dev" + "dev-master": "4.0-dev" } }, "autoload": { @@ -2526,7 +3261,7 @@ "homepage": "https://github.com/sebastianbergmann/object-enumerator/", "support": { "issues": "https://github.com/sebastianbergmann/object-enumerator/issues", - "source": "https://github.com/sebastianbergmann/object-enumerator/tree/3.0.4" + "source": "https://github.com/sebastianbergmann/object-enumerator/tree/4.0.4" }, "funding": [ { @@ -2534,32 +3269,32 @@ "type": "github" } ], - "time": "2020-11-30T07:40:27+00:00" + "time": "2020-10-26T13:12:34+00:00" }, { "name": "sebastian/object-reflector", - "version": "1.1.2", + "version": "2.0.4", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/object-reflector.git", - "reference": "9b8772b9cbd456ab45d4a598d2dd1a1bced6363d" + "reference": "b4f479ebdbf63ac605d183ece17d8d7fe49c15c7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/object-reflector/zipball/9b8772b9cbd456ab45d4a598d2dd1a1bced6363d", - "reference": "9b8772b9cbd456ab45d4a598d2dd1a1bced6363d", + "url": "https://api.github.com/repos/sebastianbergmann/object-reflector/zipball/b4f479ebdbf63ac605d183ece17d8d7fe49c15c7", + "reference": "b4f479ebdbf63ac605d183ece17d8d7fe49c15c7", "shasum": "" }, "require": { - "php": ">=7.0" + "php": ">=7.3" }, "require-dev": { - "phpunit/phpunit": "^6.0" + "phpunit/phpunit": "^9.3" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.1-dev" + "dev-master": "2.0-dev" } }, "autoload": { @@ -2581,7 +3316,7 @@ "homepage": "https://github.com/sebastianbergmann/object-reflector/", "support": { "issues": "https://github.com/sebastianbergmann/object-reflector/issues", - "source": "https://github.com/sebastianbergmann/object-reflector/tree/1.1.2" + "source": "https://github.com/sebastianbergmann/object-reflector/tree/2.0.4" }, "funding": [ { @@ -2589,32 +3324,32 @@ "type": "github" } ], - "time": "2020-11-30T07:37:18+00:00" + "time": "2020-10-26T13:14:26+00:00" }, { "name": "sebastian/recursion-context", - "version": "3.0.1", + "version": "4.0.4", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/recursion-context.git", - "reference": "367dcba38d6e1977be014dc4b22f47a484dac7fb" + "reference": "cd9d8cf3c5804de4341c283ed787f099f5506172" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/367dcba38d6e1977be014dc4b22f47a484dac7fb", - "reference": "367dcba38d6e1977be014dc4b22f47a484dac7fb", + "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/cd9d8cf3c5804de4341c283ed787f099f5506172", + "reference": "cd9d8cf3c5804de4341c283ed787f099f5506172", "shasum": "" }, "require": { - "php": ">=7.0" + "php": ">=7.3" }, "require-dev": { - "phpunit/phpunit": "^6.0" + "phpunit/phpunit": "^9.3" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "3.0.x-dev" + "dev-master": "4.0-dev" } }, "autoload": { @@ -2644,7 +3379,7 @@ "homepage": "http://www.github.com/sebastianbergmann/recursion-context", "support": { "issues": "https://github.com/sebastianbergmann/recursion-context/issues", - "source": "https://github.com/sebastianbergmann/recursion-context/tree/3.0.1" + "source": "https://github.com/sebastianbergmann/recursion-context/tree/4.0.4" }, "funding": [ { @@ -2652,29 +3387,32 @@ "type": "github" } ], - "time": "2020-11-30T07:34:24+00:00" + "time": "2020-10-26T13:17:30+00:00" }, { "name": "sebastian/resource-operations", - "version": "2.0.2", + "version": "3.0.3", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/resource-operations.git", - "reference": "31d35ca87926450c44eae7e2611d45a7a65ea8b3" + "reference": "0f4443cb3a1d92ce809899753bc0d5d5a8dd19a8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/resource-operations/zipball/31d35ca87926450c44eae7e2611d45a7a65ea8b3", - "reference": "31d35ca87926450c44eae7e2611d45a7a65ea8b3", + "url": "https://api.github.com/repos/sebastianbergmann/resource-operations/zipball/0f4443cb3a1d92ce809899753bc0d5d5a8dd19a8", + "reference": "0f4443cb3a1d92ce809899753bc0d5d5a8dd19a8", "shasum": "" }, "require": { - "php": ">=7.1" + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.0-dev" + "dev-master": "3.0-dev" } }, "autoload": { @@ -2696,7 +3434,63 @@ "homepage": "https://www.github.com/sebastianbergmann/resource-operations", "support": { "issues": "https://github.com/sebastianbergmann/resource-operations/issues", - "source": "https://github.com/sebastianbergmann/resource-operations/tree/2.0.2" + "source": "https://github.com/sebastianbergmann/resource-operations/tree/3.0.3" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-09-28T06:45:17+00:00" + }, + { + "name": "sebastian/type", + "version": "3.0.0", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/type.git", + "reference": "b233b84bc4465aff7b57cf1c4bc75c86d00d6dad" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/type/zipball/b233b84bc4465aff7b57cf1c4bc75c86d00d6dad", + "reference": "b233b84bc4465aff7b57cf1c4bc75c86d00d6dad", + "shasum": "" + }, + "require": { + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.5" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Collection of value objects that represent the types of the PHP type system", + "homepage": "https://github.com/sebastianbergmann/type", + "support": { + "issues": "https://github.com/sebastianbergmann/type/issues", + "source": "https://github.com/sebastianbergmann/type/tree/3.0.0" }, "funding": [ { @@ -2704,29 +3498,29 @@ "type": "github" } ], - "time": "2020-11-30T07:30:19+00:00" + "time": "2022-03-15T09:54:48+00:00" }, { "name": "sebastian/version", - "version": "2.0.1", + "version": "3.0.2", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/version.git", - "reference": "99732be0ddb3361e16ad77b68ba41efc8e979019" + "reference": "c6c1022351a901512170118436c764e473f6de8c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/99732be0ddb3361e16ad77b68ba41efc8e979019", - "reference": "99732be0ddb3361e16ad77b68ba41efc8e979019", + "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/c6c1022351a901512170118436c764e473f6de8c", + "reference": "c6c1022351a901512170118436c764e473f6de8c", "shasum": "" }, "require": { - "php": ">=5.6" + "php": ">=7.3" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.0.x-dev" + "dev-master": "3.0-dev" } }, "autoload": { @@ -2749,22 +3543,28 @@ "homepage": "https://github.com/sebastianbergmann/version", "support": { "issues": "https://github.com/sebastianbergmann/version/issues", - "source": "https://github.com/sebastianbergmann/version/tree/master" + "source": "https://github.com/sebastianbergmann/version/tree/3.0.2" }, - "time": "2016-10-03T07:35:21+00:00" + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-09-28T06:39:44+00:00" }, { "name": "squizlabs/php_codesniffer", - "version": "3.6.0", + "version": "3.7.1", "source": { "type": "git", "url": "https://github.com/squizlabs/PHP_CodeSniffer.git", - "reference": "ffced0d2c8fa8e6cdc4d695a743271fab6c38625" + "reference": "1359e176e9307e906dc3d890bcc9603ff6d90619" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/squizlabs/PHP_CodeSniffer/zipball/ffced0d2c8fa8e6cdc4d695a743271fab6c38625", - "reference": "ffced0d2c8fa8e6cdc4d695a743271fab6c38625", + "url": "https://api.github.com/repos/squizlabs/PHP_CodeSniffer/zipball/1359e176e9307e906dc3d890bcc9603ff6d90619", + "reference": "1359e176e9307e906dc3d890bcc9603ff6d90619", "shasum": "" }, "require": { @@ -2807,106 +3607,27 @@ "source": "https://github.com/squizlabs/PHP_CodeSniffer", "wiki": "https://github.com/squizlabs/PHP_CodeSniffer/wiki" }, - "time": "2021-04-09T00:54:41+00:00" - }, - { - "name": "symfony/polyfill-ctype", - "version": "v1.22.1", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-ctype.git", - "reference": "c6c942b1ac76c82448322025e084cadc56048b4e" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/c6c942b1ac76c82448322025e084cadc56048b4e", - "reference": "c6c942b1ac76c82448322025e084cadc56048b4e", - "shasum": "" - }, - "require": { - "php": ">=7.1" - }, - "suggest": { - "ext-ctype": "For best performance" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "1.22-dev" - }, - "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Polyfill\\Ctype\\": "" - }, - "files": [ - "bootstrap.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Gert de Pagter", - "email": "BackEndTea@gmail.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony polyfill for ctype functions", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "ctype", - "polyfill", - "portable" - ], - "support": { - "source": "https://github.com/symfony/polyfill-ctype/tree/v1.22.1" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2021-01-07T16:49:33+00:00" + "time": "2022-06-18T07:21:10+00:00" }, { "name": "theseer/tokenizer", - "version": "1.1.3", + "version": "1.2.1", "source": { "type": "git", "url": "https://github.com/theseer/tokenizer.git", - "reference": "11336f6f84e16a720dae9d8e6ed5019efa85a0f9" + "reference": "34a41e998c2183e22995f158c581e7b5e755ab9e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/theseer/tokenizer/zipball/11336f6f84e16a720dae9d8e6ed5019efa85a0f9", - "reference": "11336f6f84e16a720dae9d8e6ed5019efa85a0f9", + "url": "https://api.github.com/repos/theseer/tokenizer/zipball/34a41e998c2183e22995f158c581e7b5e755ab9e", + "reference": "34a41e998c2183e22995f158c581e7b5e755ab9e", "shasum": "" }, "require": { "ext-dom": "*", "ext-tokenizer": "*", "ext-xmlwriter": "*", - "php": "^7.0" + "php": "^7.2 || ^8.0" }, "type": "library", "autoload": { @@ -2928,36 +3649,47 @@ "description": "A small library for converting tokenized PHP source code into XML and potentially other formats", "support": { "issues": "https://github.com/theseer/tokenizer/issues", - "source": "https://github.com/theseer/tokenizer/tree/master" + "source": "https://github.com/theseer/tokenizer/tree/1.2.1" }, - "time": "2019-06-13T22:48:21+00:00" + "funding": [ + { + "url": "https://github.com/theseer", + "type": "github" + } + ], + "time": "2021-07-28T10:34:58+00:00" }, { "name": "webmozart/assert", - "version": "1.9.1", + "version": "1.11.0", "source": { "type": "git", "url": "https://github.com/webmozarts/assert.git", - "reference": "bafc69caeb4d49c39fd0779086c03a3738cbb389" + "reference": "11cb2199493b2f8a3b53e7f19068fc6aac760991" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/webmozarts/assert/zipball/bafc69caeb4d49c39fd0779086c03a3738cbb389", - "reference": "bafc69caeb4d49c39fd0779086c03a3738cbb389", + "url": "https://api.github.com/repos/webmozarts/assert/zipball/11cb2199493b2f8a3b53e7f19068fc6aac760991", + "reference": "11cb2199493b2f8a3b53e7f19068fc6aac760991", "shasum": "" }, "require": { - "php": "^5.3.3 || ^7.0 || ^8.0", - "symfony/polyfill-ctype": "^1.8" + "ext-ctype": "*", + "php": "^7.2 || ^8.0" }, "conflict": { "phpstan/phpstan": "<0.12.20", - "vimeo/psalm": "<3.9.1" + "vimeo/psalm": "<4.6.1 || 4.6.2" }, "require-dev": { - "phpunit/phpunit": "^4.8.36 || ^7.5.13" + "phpunit/phpunit": "^8.5.13" }, "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.10-dev" + } + }, "autoload": { "psr-4": { "Webmozart\\Assert\\": "src/" @@ -2981,9 +3713,9 @@ ], "support": { "issues": "https://github.com/webmozarts/assert/issues", - "source": "https://github.com/webmozarts/assert/tree/1.9.1" + "source": "https://github.com/webmozarts/assert/tree/1.11.0" }, - "time": "2020-07-08T17:02:28+00:00" + "time": "2022-06-03T18:03:27+00:00" } ], "aliases": [], @@ -2995,13 +3727,13 @@ "prefer-stable": false, "prefer-lowest": false, "platform": { - "php": ">=7.1", + "php": "^7.4 || ^8.0", "ext-json": "*", "ext-zlib": "*" }, "platform-dev": [], "platform-overrides": { - "php": "7.1.29" + "php": "7.4.0" }, - "plugin-api-version": "2.0.0" + "plugin-api-version": "2.3.0" } diff --git a/doc/md/Server-configuration.md b/doc/md/Server-configuration.md index e4c30ed06..b326080bb 100644 --- a/doc/md/Server-configuration.md +++ b/doc/md/Server-configuration.md @@ -38,13 +38,13 @@ Here is a screencast of the installation procedure Supported PHP versions: -Version | Status | Shaarli compatibility -:---:|:---:|:---: -8.0 | Supported | Yes -7.4 | Supported | Yes -7.3 | Supported | Yes -7.2 | Supported | Yes -7.1 | Supported | Yes +Version | Status | Shaarli compatibility +:---:|:---------------:|:---: +8.0 | Supported | Yes +7.4 | Supported | Yes +7.3 | EOL: 2022-08-03 | Yes (up to Shaarli 0.12.1) +7.2 | EOL: 2022-08-03 | Yes (up to Shaarli 0.12.1) +7.1 | EOL: 2022-08-03 | Yes (up to Shaarli 0.12.1) 7.0 | EOL: 2018-12-03 | Yes (up to Shaarli 0.10.x) 5.6 | EOL: 2018-12-31 | Yes (up to Shaarli 0.10.x) 5.5 | EOL: 2016-07-10 | Yes diff --git a/init.php b/init.php index d84627129..32f4c921d 100644 --- a/init.php +++ b/init.php @@ -36,7 +36,7 @@ // Ensure the PHP version is supported try { - ApplicationUtils::checkPHPVersion('7.1', PHP_VERSION); + ApplicationUtils::checkPHPVersion('7.4', PHP_VERSION); } catch (Exception $exc) { header('Content-Type: text/plain; charset=utf-8'); echo $exc->getMessage(); diff --git a/tests/bootstrap.php b/tests/bootstrap.php index e04032968..639463989 100644 --- a/tests/bootstrap.php +++ b/tests/bootstrap.php @@ -7,14 +7,6 @@ $conf = new \Shaarli\Config\ConfigManager('tests/utils/config/configJson'); new \Shaarli\Languages('en', $conf); -// is_iterable is only compatible with PHP 7.1+ -if (!function_exists('is_iterable')) { - function is_iterable($var) - { - return is_array($var) || $var instanceof \Traversable; - } -} - // raw functions require_once 'application/config/ConfigPlugin.php'; require_once 'application/bookmark/LinkUtils.php'; From 8ae5a066bc54de9b76c0f507074ed160d9e313d9 Mon Sep 17 00:00:00 2001 From: Adrien Crivelli Date: Wed, 3 Aug 2022 17:35:28 +0200 Subject: [PATCH 4/4] Incomplete attempts to migrate to slim4 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Many things were broken around PSR-11 and PSR-7 😭 --- application/api/ApiMiddleware.php | 16 +- application/api/controllers/ApiController.php | 8 +- .../api/controllers/HistoryController.php | 2 +- application/api/controllers/Info.php | 2 +- application/api/controllers/Links.php | 2 +- application/api/controllers/Tags.php | 2 +- application/container/ShaarliContainer.php | 2 +- application/front/ShaarliAdminMiddleware.php | 2 +- application/front/ShaarliMiddleware.php | 2 +- .../controller/admin/ConfigureController.php | 2 +- .../controller/admin/ExportController.php | 2 +- .../controller/admin/ImportController.php | 2 +- .../controller/admin/LogoutController.php | 2 +- .../controller/admin/ManageTagController.php | 2 +- .../controller/admin/MetadataController.php | 2 +- .../controller/admin/PasswordController.php | 2 +- .../controller/admin/PluginsController.php | 2 +- .../controller/admin/ServerController.php | 2 +- .../admin/SessionFilterController.php | 2 +- .../controller/admin/ShaareAddController.php | 2 +- .../admin/ShaareManageController.php | 2 +- .../admin/ShaarePublishController.php | 2 +- .../admin/ShaarliAdminController.php | 2 +- .../controller/admin/ThumbnailsController.php | 2 +- .../controller/admin/TokenController.php | 2 +- .../controller/admin/ToolsController.php | 2 +- .../visitor/BookmarkListController.php | 8 +- .../controller/visitor/DailyController.php | 2 +- .../controller/visitor/ErrorController.php | 2 +- .../visitor/ErrorNotFoundController.php | 2 +- .../controller/visitor/FeedController.php | 2 +- .../controller/visitor/InstallController.php | 2 +- .../controller/visitor/LoginController.php | 2 +- .../visitor/OpenSearchController.php | 2 +- .../visitor/PictureWallController.php | 2 +- .../visitor/PublicSessionFilterController.php | 2 +- .../visitor/ShaarliVisitorController.php | 2 +- .../controller/visitor/TagCloudController.php | 2 +- .../controller/visitor/TagController.php | 2 +- application/helper/DailyPageHelper.php | 2 +- application/legacy/LegacyController.php | 2 +- composer.json | 2 + composer.lock | 154 +++++++++++++++++- doc/md/dev/Plugin-system.md | 2 +- plugins/demo_plugin/DemoPluginController.php | 2 +- tests/api/ApiMiddlewareTest.php | 24 +-- tests/api/controllers/history/HistoryTest.php | 14 +- tests/api/controllers/info/InfoTest.php | 6 +- .../api/controllers/links/DeleteLinkTest.php | 8 +- tests/api/controllers/links/GetLinkIdTest.php | 8 +- tests/api/controllers/links/GetLinksTest.php | 50 +++--- tests/api/controllers/links/PostLinkTest.php | 14 +- tests/api/controllers/links/PutLinkTest.php | 16 +- tests/api/controllers/tags/DeleteTagTest.php | 10 +- tests/api/controllers/tags/GetTagNameTest.php | 10 +- tests/api/controllers/tags/GetTagsTest.php | 16 +- tests/api/controllers/tags/PutTagTest.php | 14 +- tests/front/ShaarliAdminMiddlewareTest.php | 8 +- tests/front/ShaarliMiddlewareTest.php | 16 +- .../admin/ConfigureControllerTest.php | 12 +- .../controller/admin/ExportControllerTest.php | 10 +- .../controller/admin/ImportControllerTest.php | 16 +- .../controller/admin/LogoutControllerTest.php | 4 +- .../admin/ManageTagControllerTest.php | 24 +-- .../admin/PasswordControllerTest.php | 14 +- .../admin/PluginsControllerTest.php | 12 +- .../controller/admin/ServerControllerTest.php | 8 +- .../admin/SessionFilterControllerTest.php | 12 +- .../admin/ShaareAddControllerTest.php | 6 +- .../ChangeVisibilityBookmarkTest.php | 20 +-- .../DeleteBookmarkTest.php | 18 +- .../PinBookmarkTest.php | 10 +- .../SharePrivateTest.php | 8 +- .../DisplayCreateBatchFormTest.php | 4 +- .../DisplayCreateFormTest.php | 16 +- .../DisplayEditFormTest.php | 10 +- .../SaveBookmarkTest.php | 16 +- .../admin/ShaarliAdminControllerTest.php | 8 +- .../admin/ThumbnailsControllerTest.php | 12 +- .../controller/admin/TokenControllerTest.php | 6 +- .../controller/admin/ToolsControllerTest.php | 6 +- .../visitor/BookmarkListControllerTest.php | 28 ++-- .../visitor/DailyControllerTest.php | 24 +-- .../visitor/ErrorControllerTest.php | 8 +- .../visitor/ErrorNotFoundControllerTest.php | 6 +- .../controller/visitor/FeedControllerTest.php | 8 +- .../visitor/InstallControllerTest.php | 16 +- .../visitor/LoginControllerTest.php | 28 ++-- .../visitor/OpenSearchControllerTest.php | 4 +- .../visitor/PictureWallControllerTest.php | 6 +- .../PublicSessionFilterControllerTest.php | 10 +- .../visitor/ShaarliVisitorControllerTest.php | 8 +- .../visitor/TagCloudControllerTest.php | 14 +- .../controller/visitor/TagControllerTest.php | 28 ++-- tests/helper/DailyPageHelperTest.php | 4 +- tests/legacy/LegacyControllerTest.php | 6 +- tests/netscape/BookmarkImportTest.php | 7 +- 97 files changed, 547 insertions(+), 392 deletions(-) diff --git a/application/api/ApiMiddleware.php b/application/api/ApiMiddleware.php index cc7af18e9..3d1fe927c 100644 --- a/application/api/ApiMiddleware.php +++ b/application/api/ApiMiddleware.php @@ -7,9 +7,9 @@ use Shaarli\Api\Exceptions\ApiException; use Shaarli\Bookmark\BookmarkFileService; use Shaarli\Config\ConfigManager; -use Slim\Container; -use Slim\Http\Request; +use Pimple\Container; use Slim\Http\Response; +use Slim\Http\ServerRequest; /** * Class ApiMiddleware @@ -46,7 +46,7 @@ class ApiMiddleware public function __construct($container) { $this->container = $container; - $this->conf = $this->container->get('conf'); + $this->conf = $this->container['conf']; $this->setLinkDb($this->conf); } @@ -56,7 +56,7 @@ public function __construct($container) * - execute the controller * - return the response * - * @param Request $request Slim request + * @param ServerRequestInterface $request Slim request * @param Response $response Slim response * @param callable $next Next action * @@ -87,7 +87,7 @@ public function __invoke($request, $response, $next) * Check the request validity (HTTP method, request value, etc.), * that the API is enabled, and the JWT token validity. * - * @param Request $request Slim request + * @param ServerRequestInterface $request Slim request * * @throws ApiAuthorizationException The API is disabled or the token is invalid. */ @@ -103,7 +103,7 @@ protected function checkRequest($request) * Check that the JWT token is set and valid. * The API secret setting must be set. * - * @param Request $request Slim request + * @param ServerRequestInterface $request Slim request * * @throws ApiAuthorizationException The token couldn't be validated. */ @@ -145,8 +145,8 @@ protected function setLinkDb($conf) { $linkDb = new BookmarkFileService( $conf, - $this->container->get('pluginManager'), - $this->container->get('history'), + $this->container['pluginManager'], + $this->container['history'], new FlockMutex(fopen(SHAARLI_MUTEX_FILE, 'r'), 2), true ); diff --git a/application/api/controllers/ApiController.php b/application/api/controllers/ApiController.php index 88a845ebc..23fad269d 100644 --- a/application/api/controllers/ApiController.php +++ b/application/api/controllers/ApiController.php @@ -5,7 +5,7 @@ use Shaarli\Bookmark\BookmarkServiceInterface; use Shaarli\Config\ConfigManager; use Shaarli\History; -use Slim\Container; +use Pimple\Container; /** * Abstract Class ApiController @@ -51,9 +51,9 @@ abstract class ApiController public function __construct(Container $ci) { $this->ci = $ci; - $this->conf = $ci->get('conf'); - $this->bookmarkService = $ci->get('db'); - $this->history = $ci->get('history'); + $this->conf = $ci['conf']; + $this->bookmarkService = $ci['db']; + $this->history = $ci['history']; if ($this->conf->get('dev.debug', false)) { $this->jsonStyle = JSON_PRETTY_PRINT; } else { diff --git a/application/api/controllers/HistoryController.php b/application/api/controllers/HistoryController.php index e16036f6d..25b26e6cc 100644 --- a/application/api/controllers/HistoryController.php +++ b/application/api/controllers/HistoryController.php @@ -3,7 +3,7 @@ namespace Shaarli\Api\Controllers; use Shaarli\Api\Exceptions\ApiBadParametersException; -use Slim\Http\Request; +use Slim\Http\ServerRequest; use Slim\Http\Response; /** diff --git a/application/api/controllers/Info.php b/application/api/controllers/Info.php index ae7db93e5..b68f002da 100644 --- a/application/api/controllers/Info.php +++ b/application/api/controllers/Info.php @@ -3,7 +3,7 @@ namespace Shaarli\Api\Controllers; use Shaarli\Bookmark\BookmarkFilter; -use Slim\Http\Request; +use Slim\Http\ServerRequest; use Slim\Http\Response; /** diff --git a/application/api/controllers/Links.php b/application/api/controllers/Links.php index fe4bdc9f5..ec38c6bd6 100644 --- a/application/api/controllers/Links.php +++ b/application/api/controllers/Links.php @@ -5,7 +5,7 @@ use Shaarli\Api\ApiUtils; use Shaarli\Api\Exceptions\ApiBadParametersException; use Shaarli\Api\Exceptions\ApiLinkNotFoundException; -use Slim\Http\Request; +use Slim\Http\ServerRequest; use Slim\Http\Response; /** diff --git a/application/api/controllers/Tags.php b/application/api/controllers/Tags.php index 5a23f6db7..073921147 100644 --- a/application/api/controllers/Tags.php +++ b/application/api/controllers/Tags.php @@ -6,7 +6,7 @@ use Shaarli\Api\Exceptions\ApiBadParametersException; use Shaarli\Api\Exceptions\ApiTagNotFoundException; use Shaarli\Bookmark\BookmarkFilter; -use Slim\Http\Request; +use Slim\Http\ServerRequest; use Slim\Http\Response; /** diff --git a/application/container/ShaarliContainer.php b/application/container/ShaarliContainer.php index be0a83001..b2d04a496 100644 --- a/application/container/ShaarliContainer.php +++ b/application/container/ShaarliContainer.php @@ -21,7 +21,7 @@ use Shaarli\Security\SessionManager; use Shaarli\Thumbnailer; use Shaarli\Updater\Updater; -use Slim\Container; +use Pimple\Container; /** * Extension of Slim container to document the injected objects. diff --git a/application/front/ShaarliAdminMiddleware.php b/application/front/ShaarliAdminMiddleware.php index 35ce4a3be..8cad3c18a 100644 --- a/application/front/ShaarliAdminMiddleware.php +++ b/application/front/ShaarliAdminMiddleware.php @@ -2,7 +2,7 @@ namespace Shaarli\Front; -use Slim\Http\Request; +use Slim\Http\ServerRequest; use Slim\Http\Response; /** diff --git a/application/front/ShaarliMiddleware.php b/application/front/ShaarliMiddleware.php index 164217f4f..443cd08a0 100644 --- a/application/front/ShaarliMiddleware.php +++ b/application/front/ShaarliMiddleware.php @@ -4,7 +4,7 @@ use Shaarli\Container\ShaarliContainer; use Shaarli\Front\Exception\UnauthorizedException; -use Slim\Http\Request; +use Slim\Http\ServerRequest; use Slim\Http\Response; /** diff --git a/application/front/controller/admin/ConfigureController.php b/application/front/controller/admin/ConfigureController.php index dc421661c..584ebf367 100644 --- a/application/front/controller/admin/ConfigureController.php +++ b/application/front/controller/admin/ConfigureController.php @@ -8,7 +8,7 @@ use Shaarli\Render\TemplatePage; use Shaarli\Render\ThemeUtils; use Shaarli\Thumbnailer; -use Slim\Http\Request; +use Slim\Http\ServerRequest; use Slim\Http\Response; use Throwable; diff --git a/application/front/controller/admin/ExportController.php b/application/front/controller/admin/ExportController.php index f01d7e9be..f71cb1739 100644 --- a/application/front/controller/admin/ExportController.php +++ b/application/front/controller/admin/ExportController.php @@ -7,7 +7,7 @@ use DateTime; use Shaarli\Bookmark\Bookmark; use Shaarli\Render\TemplatePage; -use Slim\Http\Request; +use Slim\Http\ServerRequest; use Slim\Http\Response; /** diff --git a/application/front/controller/admin/ImportController.php b/application/front/controller/admin/ImportController.php index c2ad6a09f..806f8ac59 100644 --- a/application/front/controller/admin/ImportController.php +++ b/application/front/controller/admin/ImportController.php @@ -6,7 +6,7 @@ use Psr\Http\Message\UploadedFileInterface; use Shaarli\Render\TemplatePage; -use Slim\Http\Request; +use Slim\Http\ServerRequest; use Slim\Http\Response; /** diff --git a/application/front/controller/admin/LogoutController.php b/application/front/controller/admin/LogoutController.php index 28165129f..421fada6f 100644 --- a/application/front/controller/admin/LogoutController.php +++ b/application/front/controller/admin/LogoutController.php @@ -6,7 +6,7 @@ use Shaarli\Security\CookieManager; use Shaarli\Security\LoginManager; -use Slim\Http\Request; +use Slim\Http\ServerRequest; use Slim\Http\Response; /** diff --git a/application/front/controller/admin/ManageTagController.php b/application/front/controller/admin/ManageTagController.php index 1333cce72..a119b3430 100644 --- a/application/front/controller/admin/ManageTagController.php +++ b/application/front/controller/admin/ManageTagController.php @@ -6,7 +6,7 @@ use Shaarli\Bookmark\BookmarkFilter; use Shaarli\Render\TemplatePage; -use Slim\Http\Request; +use Slim\Http\ServerRequest; use Slim\Http\Response; /** diff --git a/application/front/controller/admin/MetadataController.php b/application/front/controller/admin/MetadataController.php index ff8459449..644ff5ad3 100644 --- a/application/front/controller/admin/MetadataController.php +++ b/application/front/controller/admin/MetadataController.php @@ -4,7 +4,7 @@ namespace Shaarli\Front\Controller\Admin; -use Slim\Http\Request; +use Slim\Http\ServerRequest; use Slim\Http\Response; /** diff --git a/application/front/controller/admin/PasswordController.php b/application/front/controller/admin/PasswordController.php index 4aaf1f82c..712058de2 100644 --- a/application/front/controller/admin/PasswordController.php +++ b/application/front/controller/admin/PasswordController.php @@ -8,7 +8,7 @@ use Shaarli\Front\Exception\OpenShaarliPasswordException; use Shaarli\Front\Exception\ShaarliFrontException; use Shaarli\Render\TemplatePage; -use Slim\Http\Request; +use Slim\Http\ServerRequest; use Slim\Http\Response; use Throwable; diff --git a/application/front/controller/admin/PluginsController.php b/application/front/controller/admin/PluginsController.php index ae47c1af1..74e0f2c05 100644 --- a/application/front/controller/admin/PluginsController.php +++ b/application/front/controller/admin/PluginsController.php @@ -6,7 +6,7 @@ use Exception; use Shaarli\Render\TemplatePage; -use Slim\Http\Request; +use Slim\Http\ServerRequest; use Slim\Http\Response; /** diff --git a/application/front/controller/admin/ServerController.php b/application/front/controller/admin/ServerController.php index 4b74f4a94..b3d4c63f1 100644 --- a/application/front/controller/admin/ServerController.php +++ b/application/front/controller/admin/ServerController.php @@ -6,7 +6,7 @@ use Shaarli\Helper\ApplicationUtils; use Shaarli\Helper\FileUtils; -use Slim\Http\Request; +use Slim\Http\ServerRequest; use Slim\Http\Response; /** diff --git a/application/front/controller/admin/SessionFilterController.php b/application/front/controller/admin/SessionFilterController.php index 0917b6d20..91920ca5b 100644 --- a/application/front/controller/admin/SessionFilterController.php +++ b/application/front/controller/admin/SessionFilterController.php @@ -6,7 +6,7 @@ use Shaarli\Bookmark\BookmarkFilter; use Shaarli\Security\SessionManager; -use Slim\Http\Request; +use Slim\Http\ServerRequest; use Slim\Http\Response; /** diff --git a/application/front/controller/admin/ShaareAddController.php b/application/front/controller/admin/ShaareAddController.php index ab8e7f408..c261b5175 100644 --- a/application/front/controller/admin/ShaareAddController.php +++ b/application/front/controller/admin/ShaareAddController.php @@ -6,7 +6,7 @@ use Shaarli\Formatter\BookmarkMarkdownFormatter; use Shaarli\Render\TemplatePage; -use Slim\Http\Request; +use Slim\Http\ServerRequest; use Slim\Http\Response; class ShaareAddController extends ShaarliAdminController diff --git a/application/front/controller/admin/ShaareManageController.php b/application/front/controller/admin/ShaareManageController.php index 9633cd516..732f9e7d7 100644 --- a/application/front/controller/admin/ShaareManageController.php +++ b/application/front/controller/admin/ShaareManageController.php @@ -5,7 +5,7 @@ namespace Shaarli\Front\Controller\Admin; use Shaarli\Bookmark\Exception\BookmarkNotFoundException; -use Slim\Http\Request; +use Slim\Http\ServerRequest; use Slim\Http\Response; /** diff --git a/application/front/controller/admin/ShaarePublishController.php b/application/front/controller/admin/ShaarePublishController.php index fb9cacc22..b707afbe2 100644 --- a/application/front/controller/admin/ShaarePublishController.php +++ b/application/front/controller/admin/ShaarePublishController.php @@ -10,7 +10,7 @@ use Shaarli\Formatter\BookmarkMarkdownFormatter; use Shaarli\Render\TemplatePage; use Shaarli\Thumbnailer; -use Slim\Http\Request; +use Slim\Http\ServerRequest; use Slim\Http\Response; class ShaarePublishController extends ShaarliAdminController diff --git a/application/front/controller/admin/ShaarliAdminController.php b/application/front/controller/admin/ShaarliAdminController.php index c26c9cbe2..bc708673b 100644 --- a/application/front/controller/admin/ShaarliAdminController.php +++ b/application/front/controller/admin/ShaarliAdminController.php @@ -7,7 +7,7 @@ use Shaarli\Front\Controller\Visitor\ShaarliVisitorController; use Shaarli\Front\Exception\WrongTokenException; use Shaarli\Security\SessionManager; -use Slim\Http\Request; +use Slim\Http\ServerRequest; /** * Class ShaarliAdminController diff --git a/application/front/controller/admin/ThumbnailsController.php b/application/front/controller/admin/ThumbnailsController.php index 665dfd03e..9521cc276 100644 --- a/application/front/controller/admin/ThumbnailsController.php +++ b/application/front/controller/admin/ThumbnailsController.php @@ -6,7 +6,7 @@ use Shaarli\Bookmark\Exception\BookmarkNotFoundException; use Shaarli\Render\TemplatePage; -use Slim\Http\Request; +use Slim\Http\ServerRequest; use Slim\Http\Response; /** diff --git a/application/front/controller/admin/TokenController.php b/application/front/controller/admin/TokenController.php index 08d68d0a1..def49a241 100644 --- a/application/front/controller/admin/TokenController.php +++ b/application/front/controller/admin/TokenController.php @@ -4,7 +4,7 @@ namespace Shaarli\Front\Controller\Admin; -use Slim\Http\Request; +use Slim\Http\ServerRequest; use Slim\Http\Response; /** diff --git a/application/front/controller/admin/ToolsController.php b/application/front/controller/admin/ToolsController.php index 560e5e3e7..c82354494 100644 --- a/application/front/controller/admin/ToolsController.php +++ b/application/front/controller/admin/ToolsController.php @@ -5,7 +5,7 @@ namespace Shaarli\Front\Controller\Admin; use Shaarli\Render\TemplatePage; -use Slim\Http\Request; +use Slim\Http\ServerRequest; use Slim\Http\Response; /** diff --git a/application/front/controller/visitor/BookmarkListController.php b/application/front/controller/visitor/BookmarkListController.php index 4aae26528..05dd37c6a 100644 --- a/application/front/controller/visitor/BookmarkListController.php +++ b/application/front/controller/visitor/BookmarkListController.php @@ -10,7 +10,7 @@ use Shaarli\Legacy\UnknowLegacyRouteException; use Shaarli\Render\TemplatePage; use Shaarli\Thumbnailer; -use Slim\Http\Request; +use Slim\Http\ServerRequest; use Slim\Http\Response; /** @@ -24,7 +24,7 @@ class BookmarkListController extends ShaarliVisitorController /** * GET / - Displays the bookmark list, with optional filter parameters. */ - public function index(Request $request, Response $response): Response + public function index(ServerRequest $request, Response $response): Response { $legacyResponse = $this->processLegacyController($request, $response); if (null !== $legacyResponse) { @@ -123,7 +123,7 @@ public function index(Request $request, Response $response): Response /** * GET /shaare/{hash} - Display a single shaare */ - public function permalink(Request $request, Response $response, array $args): Response + public function permalink(ServerRequest $request, Response $response, array $args): Response { $privateKey = $request->getParam('key'); @@ -203,7 +203,7 @@ protected function initializeTemplateVars(): array * Process legacy routes if necessary. They used query parameters. * If no legacy routes is passed, return null. */ - protected function processLegacyController(Request $request, Response $response): ?Response + protected function processLegacyController(ServerRequest $request, Response $response): ?Response { // Legacy smallhash filter $queryString = $this->container->environment['QUERY_STRING'] ?? null; diff --git a/application/front/controller/visitor/DailyController.php b/application/front/controller/visitor/DailyController.php index 3739ec168..53779d0ae 100644 --- a/application/front/controller/visitor/DailyController.php +++ b/application/front/controller/visitor/DailyController.php @@ -8,7 +8,7 @@ use Shaarli\Bookmark\Bookmark; use Shaarli\Helper\DailyPageHelper; use Shaarli\Render\TemplatePage; -use Slim\Http\Request; +use Slim\Http\ServerRequest; use Slim\Http\Response; /** diff --git a/application/front/controller/visitor/ErrorController.php b/application/front/controller/visitor/ErrorController.php index 428e82542..3b84cda6f 100644 --- a/application/front/controller/visitor/ErrorController.php +++ b/application/front/controller/visitor/ErrorController.php @@ -5,7 +5,7 @@ namespace Shaarli\Front\Controller\Visitor; use Shaarli\Front\Exception\ShaarliFrontException; -use Slim\Http\Request; +use Slim\Http\ServerRequest; use Slim\Http\Response; /** diff --git a/application/front/controller/visitor/ErrorNotFoundController.php b/application/front/controller/visitor/ErrorNotFoundController.php index 758dd83ba..2bd9da0e2 100644 --- a/application/front/controller/visitor/ErrorNotFoundController.php +++ b/application/front/controller/visitor/ErrorNotFoundController.php @@ -4,7 +4,7 @@ namespace Shaarli\Front\Controller\Visitor; -use Slim\Http\Request; +use Slim\Http\ServerRequest; use Slim\Http\Response; /** diff --git a/application/front/controller/visitor/FeedController.php b/application/front/controller/visitor/FeedController.php index edc7ef43a..371ac4f91 100644 --- a/application/front/controller/visitor/FeedController.php +++ b/application/front/controller/visitor/FeedController.php @@ -5,7 +5,7 @@ namespace Shaarli\Front\Controller\Visitor; use Shaarli\Feed\FeedBuilder; -use Slim\Http\Request; +use Slim\Http\ServerRequest; use Slim\Http\Response; /** diff --git a/application/front/controller/visitor/InstallController.php b/application/front/controller/visitor/InstallController.php index 418d4a49c..b5a257a96 100644 --- a/application/front/controller/visitor/InstallController.php +++ b/application/front/controller/visitor/InstallController.php @@ -10,7 +10,7 @@ use Shaarli\Helper\ApplicationUtils; use Shaarli\Languages; use Shaarli\Security\SessionManager; -use Slim\Http\Request; +use Slim\Http\ServerRequest; use Slim\Http\Response; /** diff --git a/application/front/controller/visitor/LoginController.php b/application/front/controller/visitor/LoginController.php index 4b881535c..2ac3282f2 100644 --- a/application/front/controller/visitor/LoginController.php +++ b/application/front/controller/visitor/LoginController.php @@ -10,7 +10,7 @@ use Shaarli\Render\TemplatePage; use Shaarli\Security\CookieManager; use Shaarli\Security\SessionManager; -use Slim\Http\Request; +use Slim\Http\ServerRequest; use Slim\Http\Response; /** diff --git a/application/front/controller/visitor/OpenSearchController.php b/application/front/controller/visitor/OpenSearchController.php index 36d60acf1..851f67d1d 100644 --- a/application/front/controller/visitor/OpenSearchController.php +++ b/application/front/controller/visitor/OpenSearchController.php @@ -5,7 +5,7 @@ namespace Shaarli\Front\Controller\Visitor; use Shaarli\Render\TemplatePage; -use Slim\Http\Request; +use Slim\Http\ServerRequest; use Slim\Http\Response; /** diff --git a/application/front/controller/visitor/PictureWallController.php b/application/front/controller/visitor/PictureWallController.php index 9c8f07d7a..f8bb48a85 100644 --- a/application/front/controller/visitor/PictureWallController.php +++ b/application/front/controller/visitor/PictureWallController.php @@ -7,7 +7,7 @@ use Shaarli\Front\Exception\ThumbnailsDisabledException; use Shaarli\Render\TemplatePage; use Shaarli\Thumbnailer; -use Slim\Http\Request; +use Slim\Http\ServerRequest; use Slim\Http\Response; /** diff --git a/application/front/controller/visitor/PublicSessionFilterController.php b/application/front/controller/visitor/PublicSessionFilterController.php index 1a66362dc..c3b2a2767 100644 --- a/application/front/controller/visitor/PublicSessionFilterController.php +++ b/application/front/controller/visitor/PublicSessionFilterController.php @@ -5,7 +5,7 @@ namespace Shaarli\Front\Controller\Visitor; use Shaarli\Security\SessionManager; -use Slim\Http\Request; +use Slim\Http\ServerRequest; use Slim\Http\Response; /** diff --git a/application/front/controller/visitor/ShaarliVisitorController.php b/application/front/controller/visitor/ShaarliVisitorController.php index d3f28f2f7..d2417792e 100644 --- a/application/front/controller/visitor/ShaarliVisitorController.php +++ b/application/front/controller/visitor/ShaarliVisitorController.php @@ -6,7 +6,7 @@ use Shaarli\Bookmark\BookmarkFilter; use Shaarli\Container\ShaarliContainer; -use Slim\Http\Request; +use Slim\Http\ServerRequest; use Slim\Http\Response; /** diff --git a/application/front/controller/visitor/TagCloudController.php b/application/front/controller/visitor/TagCloudController.php index 46d62779d..677941f01 100644 --- a/application/front/controller/visitor/TagCloudController.php +++ b/application/front/controller/visitor/TagCloudController.php @@ -4,7 +4,7 @@ namespace Shaarli\Front\Controller\Visitor; -use Slim\Http\Request; +use Slim\Http\ServerRequest; use Slim\Http\Response; /** diff --git a/application/front/controller/visitor/TagController.php b/application/front/controller/visitor/TagController.php index 3aa58542b..008adddf2 100644 --- a/application/front/controller/visitor/TagController.php +++ b/application/front/controller/visitor/TagController.php @@ -4,7 +4,7 @@ namespace Shaarli\Front\Controller\Visitor; -use Slim\Http\Request; +use Slim\Http\ServerRequest; use Slim\Http\Response; /** diff --git a/application/helper/DailyPageHelper.php b/application/helper/DailyPageHelper.php index cb4494a83..b0c91db4e 100644 --- a/application/helper/DailyPageHelper.php +++ b/application/helper/DailyPageHelper.php @@ -8,7 +8,7 @@ use DateTimeImmutable; use Exception; use Shaarli\Bookmark\Bookmark; -use Slim\Http\Request; +use Slim\Http\ServerRequest; class DailyPageHelper { diff --git a/application/legacy/LegacyController.php b/application/legacy/LegacyController.php index 1fed418b7..06310cfb6 100644 --- a/application/legacy/LegacyController.php +++ b/application/legacy/LegacyController.php @@ -6,7 +6,7 @@ use Shaarli\Feed\FeedBuilder; use Shaarli\Front\Controller\Visitor\ShaarliVisitorController; -use Slim\Http\Request; +use Slim\Http\ServerRequest; use Slim\Http\Response; /** diff --git a/composer.json b/composer.json index 52a45cf86..27be98d00 100644 --- a/composer.json +++ b/composer.json @@ -24,7 +24,9 @@ "erusev/parsedown-extra": "^0.8.1", "gettext/gettext": "^4.4", "katzgrau/klogger": "^1.2", + "laminas/laminas-diactoros": "^2.14", "malkusch/lock": "^2.1", + "pimple/pimple": "^3.5", "pubsubhubbub/publisher": "dev-master", "shaarli/netscape-bookmark-parser": "^3.0", "slim/http": "^1.2", diff --git a/composer.lock b/composer.lock index 7f8bc25e0..eeed35538 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "4f74811e96b71ad35d3b5a2e564f210f", + "content-hash": "8a4466f4f46922765dcf66109e4ad5c3", "packages": [ { "name": "arthurhoaro/web-thumbnailer", @@ -364,6 +364,105 @@ }, "time": "2022-07-29T20:41:14+00:00" }, + { + "name": "laminas/laminas-diactoros", + "version": "2.14.0", + "source": { + "type": "git", + "url": "https://github.com/laminas/laminas-diactoros.git", + "reference": "6cb35f61913f06b2c91075db00f67cfd78869e28" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/laminas/laminas-diactoros/zipball/6cb35f61913f06b2c91075db00f67cfd78869e28", + "reference": "6cb35f61913f06b2c91075db00f67cfd78869e28", + "shasum": "" + }, + "require": { + "php": "^7.3 || ~8.0.0 || ~8.1.0", + "psr/http-factory": "^1.0", + "psr/http-message": "^1.0" + }, + "conflict": { + "phpspec/prophecy": "<1.9.0", + "zendframework/zend-diactoros": "*" + }, + "provide": { + "psr/http-factory-implementation": "1.0", + "psr/http-message-implementation": "1.0" + }, + "require-dev": { + "ext-curl": "*", + "ext-dom": "*", + "ext-gd": "*", + "ext-libxml": "*", + "http-interop/http-factory-tests": "^0.9.0", + "laminas/laminas-coding-standard": "~2.3.0", + "php-http/psr7-integration-tests": "^1.1.1", + "phpspec/prophecy-phpunit": "^2.0", + "phpunit/phpunit": "^9.5", + "psalm/plugin-phpunit": "^0.17.0", + "vimeo/psalm": "^4.24.0" + }, + "type": "library", + "extra": { + "laminas": { + "config-provider": "Laminas\\Diactoros\\ConfigProvider", + "module": "Laminas\\Diactoros" + } + }, + "autoload": { + "files": [ + "src/functions/create_uploaded_file.php", + "src/functions/marshal_headers_from_sapi.php", + "src/functions/marshal_method_from_sapi.php", + "src/functions/marshal_protocol_version_from_sapi.php", + "src/functions/marshal_uri_from_sapi.php", + "src/functions/normalize_server.php", + "src/functions/normalize_uploaded_files.php", + "src/functions/parse_cookie_header.php", + "src/functions/create_uploaded_file.legacy.php", + "src/functions/marshal_headers_from_sapi.legacy.php", + "src/functions/marshal_method_from_sapi.legacy.php", + "src/functions/marshal_protocol_version_from_sapi.legacy.php", + "src/functions/marshal_uri_from_sapi.legacy.php", + "src/functions/normalize_server.legacy.php", + "src/functions/normalize_uploaded_files.legacy.php", + "src/functions/parse_cookie_header.legacy.php" + ], + "psr-4": { + "Laminas\\Diactoros\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "description": "PSR HTTP Message implementations", + "homepage": "https://laminas.dev", + "keywords": [ + "http", + "laminas", + "psr", + "psr-17", + "psr-7" + ], + "support": { + "chat": "https://laminas.dev/chat", + "docs": "https://docs.laminas.dev/laminas-diactoros/", + "forum": "https://discourse.laminas.dev", + "issues": "https://github.com/laminas/laminas-diactoros/issues", + "rss": "https://github.com/laminas/laminas-diactoros/releases.atom", + "source": "https://github.com/laminas/laminas-diactoros" + }, + "funding": [ + { + "url": "https://funding.communitybridge.org/projects/laminas-project", + "type": "community_bridge" + } + ], + "time": "2022-07-28T12:23:48+00:00" + }, { "name": "malkusch/lock", "version": "v2.2.1", @@ -562,6 +661,59 @@ ], "time": "2020-10-26T05:33:50+00:00" }, + { + "name": "pimple/pimple", + "version": "v3.5.0", + "source": { + "type": "git", + "url": "https://github.com/silexphp/Pimple.git", + "reference": "a94b3a4db7fb774b3d78dad2315ddc07629e1bed" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/silexphp/Pimple/zipball/a94b3a4db7fb774b3d78dad2315ddc07629e1bed", + "reference": "a94b3a4db7fb774b3d78dad2315ddc07629e1bed", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "psr/container": "^1.1 || ^2.0" + }, + "require-dev": { + "symfony/phpunit-bridge": "^5.4@dev" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.4.x-dev" + } + }, + "autoload": { + "psr-0": { + "Pimple": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + } + ], + "description": "Pimple, a simple Dependency Injection Container", + "homepage": "https://pimple.symfony.com", + "keywords": [ + "container", + "dependency injection" + ], + "support": { + "source": "https://github.com/silexphp/Pimple/tree/v3.5.0" + }, + "time": "2021-10-28T11:13:42+00:00" + }, { "name": "psr/container", "version": "2.0.2", diff --git a/doc/md/dev/Plugin-system.md b/doc/md/dev/Plugin-system.md index 0ada57ea5..6295dffcc 100644 --- a/doc/md/dev/Plugin-system.md +++ b/doc/md/dev/Plugin-system.md @@ -151,7 +151,7 @@ This method must return an array of routes, each entry must contain the followin It will be later prefixed by `/plugin//`. - `callable` string, function name or FQN class's method to execute, e.g. `demo_plugin_custom_controller`. -Callable functions or methods must have `Slim\Http\Request` and `Slim\Http\Response` parameters +Callable functions or methods must have `Psr\Http\Message\ServerRequestInterface` and `Slim\Http\Response` parameters and return a `Slim\Http\Response`. We recommend creating a dedicated class and extend either `ShaarliVisitorController` or `ShaarliAdminController` to use helper functions they provide. diff --git a/plugins/demo_plugin/DemoPluginController.php b/plugins/demo_plugin/DemoPluginController.php index b8ace9c80..620f4dd80 100644 --- a/plugins/demo_plugin/DemoPluginController.php +++ b/plugins/demo_plugin/DemoPluginController.php @@ -5,7 +5,7 @@ namespace Shaarli\DemoPlugin; use Shaarli\Front\Controller\Admin\ShaarliAdminController; -use Slim\Http\Request; +use Slim\Http\ServerRequest; use Slim\Http\Response; class DemoPluginController extends ShaarliAdminController diff --git a/tests/api/ApiMiddlewareTest.php b/tests/api/ApiMiddlewareTest.php index 6e2226816..8c07333af 100644 --- a/tests/api/ApiMiddlewareTest.php +++ b/tests/api/ApiMiddlewareTest.php @@ -6,9 +6,9 @@ use Shaarli\History; use Shaarli\Plugin\PluginManager; use Shaarli\Tests\Utils\ReferenceLinkDB; -use Slim\Container; +use Pimple\Container; use Slim\Http\Environment; -use Slim\Http\Request; +use Slim\Http\ServerRequest; use Slim\Http\Response; /** @@ -75,7 +75,7 @@ protected function tearDown(): void */ public function testInvokeMiddlewareWithValidToken(): void { - $next = function (Request $request, Response $response): Response { + $next = function (ServerRequestInterface $request, Response $response): Response { return $response; }; $mw = new ApiMiddleware($this->container); @@ -84,7 +84,7 @@ public function testInvokeMiddlewareWithValidToken(): void 'REQUEST_URI' => '/echo', 'HTTP_AUTHORIZATION' => 'Bearer ' . ApiUtilsTest::generateValidJwtToken('NapoleonWasALizard'), ]); - $request = Request::createFromEnvironment($env); + $request = ServerRequestInterface::createFromEnvironment($env); $response = new Response(); /** @var Response $response */ $response = $mw($request, $response, $next); @@ -98,7 +98,7 @@ public function testInvokeMiddlewareWithValidToken(): void */ public function testInvokeMiddlewareWithValidTokenFromRedirectedHeader(): void { - $next = function (Request $request, Response $response): Response { + $next = function (ServerRequestInterface $request, Response $response): Response { return $response; }; @@ -109,7 +109,7 @@ public function testInvokeMiddlewareWithValidTokenFromRedirectedHeader(): void 'REQUEST_METHOD' => 'GET', 'REQUEST_URI' => '/echo', ]); - $request = Request::createFromEnvironment($env); + $request = ServerRequestInterface::createFromEnvironment($env); $response = new Response(); /** @var Response $response */ $response = $mw($request, $response, $next); @@ -129,7 +129,7 @@ public function testInvokeMiddlewareApiDisabled() 'REQUEST_METHOD' => 'GET', 'REQUEST_URI' => '/echo', ]); - $request = Request::createFromEnvironment($env); + $request = ServerRequestInterface::createFromEnvironment($env); $response = new Response(); /** @var Response $response */ $response = $mw($request, $response, null); @@ -152,7 +152,7 @@ public function testInvokeMiddlewareApiDisabledDebug() 'REQUEST_METHOD' => 'GET', 'REQUEST_URI' => '/echo', ]); - $request = Request::createFromEnvironment($env); + $request = ServerRequestInterface::createFromEnvironment($env); $response = new Response(); /** @var Response $response */ $response = $mw($request, $response, null); @@ -175,7 +175,7 @@ public function testInvokeMiddlewareNoTokenProvidedDebug() 'REQUEST_METHOD' => 'GET', 'REQUEST_URI' => '/echo', ]); - $request = Request::createFromEnvironment($env); + $request = ServerRequestInterface::createFromEnvironment($env); $response = new Response(); /** @var Response $response */ $response = $mw($request, $response, null); @@ -200,7 +200,7 @@ public function testInvokeMiddlewareNoSecretSetDebug() 'REQUEST_URI' => '/echo', 'HTTP_AUTHORIZATION' => 'Bearer jwt', ]); - $request = Request::createFromEnvironment($env); + $request = ServerRequestInterface::createFromEnvironment($env); $response = new Response(); /** @var Response $response */ $response = $mw($request, $response, null); @@ -223,7 +223,7 @@ public function testInvalidJwtAuthHeaderDebug() 'REQUEST_URI' => '/echo', 'HTTP_AUTHORIZATION' => 'PolarBearer jwt', ]); - $request = Request::createFromEnvironment($env); + $request = ServerRequestInterface::createFromEnvironment($env); $response = new Response(); /** @var Response $response */ $response = $mw($request, $response, null); @@ -249,7 +249,7 @@ public function testInvokeMiddlewareInvalidJwtDebug() 'REQUEST_URI' => '/echo', 'HTTP_AUTHORIZATION' => 'Bearer jwt', ]); - $request = Request::createFromEnvironment($env); + $request = ServerRequestInterface::createFromEnvironment($env); $response = new Response(); /** @var Response $response */ $response = $mw($request, $response, null); diff --git a/tests/api/controllers/history/HistoryTest.php b/tests/api/controllers/history/HistoryTest.php index f0596b913..4899def3a 100644 --- a/tests/api/controllers/history/HistoryTest.php +++ b/tests/api/controllers/history/HistoryTest.php @@ -6,9 +6,9 @@ use Shaarli\History; use Shaarli\TestCase; use Shaarli\Tests\Utils\ReferenceHistory; -use Slim\Container; +use Pimple\Container; use Slim\Http\Environment; -use Slim\Http\Request; +use Slim\Http\ServerRequest; use Slim\Http\Response; class HistoryTest extends TestCase @@ -70,7 +70,7 @@ public function testGetHistory() $env = Environment::mock([ 'REQUEST_METHOD' => 'GET', ]); - $request = Request::createFromEnvironment($env); + $request = ServerRequestInterface::createFromEnvironment($env); $response = $this->controller->getHistory($request, new Response()); $this->assertEquals(200, $response->getStatusCode()); @@ -123,7 +123,7 @@ public function testGetHistoryLimit() 'REQUEST_METHOD' => 'GET', 'QUERY_STRING' => 'limit=1' ]); - $request = Request::createFromEnvironment($env); + $request = ServerRequestInterface::createFromEnvironment($env); $response = $this->controller->getHistory($request, new Response()); $this->assertEquals(200, $response->getStatusCode()); @@ -148,7 +148,7 @@ public function testGetHistoryOffset() 'REQUEST_METHOD' => 'GET', 'QUERY_STRING' => 'offset=4' ]); - $request = Request::createFromEnvironment($env); + $request = ServerRequestInterface::createFromEnvironment($env); $response = $this->controller->getHistory($request, new Response()); $this->assertEquals(200, $response->getStatusCode()); @@ -173,7 +173,7 @@ public function testGetHistorySince() 'REQUEST_METHOD' => 'GET', 'QUERY_STRING' => 'since=2017-03-03T00:00:00%2B00:00' ]); - $request = Request::createFromEnvironment($env); + $request = ServerRequestInterface::createFromEnvironment($env); $response = $this->controller->getHistory($request, new Response()); $this->assertEquals(200, $response->getStatusCode()); @@ -198,7 +198,7 @@ public function testGetHistorySinceOffsetLimit() 'REQUEST_METHOD' => 'GET', 'QUERY_STRING' => 'since=2017-02-01T00:00:00%2B00:00&offset=1&limit=1' ]); - $request = Request::createFromEnvironment($env); + $request = ServerRequestInterface::createFromEnvironment($env); $response = $this->controller->getHistory($request, new Response()); $this->assertEquals(200, $response->getStatusCode()); diff --git a/tests/api/controllers/info/InfoTest.php b/tests/api/controllers/info/InfoTest.php index 2b0fd5107..0e6b110de 100644 --- a/tests/api/controllers/info/InfoTest.php +++ b/tests/api/controllers/info/InfoTest.php @@ -9,9 +9,9 @@ use Shaarli\Plugin\PluginManager; use Shaarli\TestCase; use Shaarli\Tests\Utils\ReferenceLinkDB; -use Slim\Container; +use Pimple\Container; use Slim\Http\Environment; -use Slim\Http\Request; +use Slim\Http\ServerRequest; use Slim\Http\Response; /** @@ -91,7 +91,7 @@ public function testGetInfo() $env = Environment::mock([ 'REQUEST_METHOD' => 'GET', ]); - $request = Request::createFromEnvironment($env); + $request = ServerRequestInterface::createFromEnvironment($env); $response = $this->controller->getInfo($request, new Response()); $this->assertEquals(200, $response->getStatusCode()); diff --git a/tests/api/controllers/links/DeleteLinkTest.php b/tests/api/controllers/links/DeleteLinkTest.php index 2c3c3eccf..9ed0bd5cf 100644 --- a/tests/api/controllers/links/DeleteLinkTest.php +++ b/tests/api/controllers/links/DeleteLinkTest.php @@ -9,9 +9,9 @@ use Shaarli\Plugin\PluginManager; use Shaarli\Tests\Utils\ReferenceHistory; use Shaarli\Tests\Utils\ReferenceLinkDB; -use Slim\Container; +use Pimple\Container; use Slim\Http\Environment; -use Slim\Http\Request; +use Slim\Http\ServerRequest; use Slim\Http\Response; class DeleteLinkTest extends \Shaarli\TestCase @@ -111,7 +111,7 @@ public function testDeleteLinkValid() $env = Environment::mock([ 'REQUEST_METHOD' => 'DELETE', ]); - $request = Request::createFromEnvironment($env); + $request = ServerRequestInterface::createFromEnvironment($env); $response = $this->controller->deleteLink($request, new Response(), ['id' => $id]); $this->assertEquals(204, $response->getStatusCode()); @@ -146,7 +146,7 @@ public function testDeleteLink404() $env = Environment::mock([ 'REQUEST_METHOD' => 'DELETE', ]); - $request = Request::createFromEnvironment($env); + $request = ServerRequestInterface::createFromEnvironment($env); $this->controller->deleteLink($request, new Response(), ['id' => $id]); } diff --git a/tests/api/controllers/links/GetLinkIdTest.php b/tests/api/controllers/links/GetLinkIdTest.php index 5fbb75051..d7d85c91d 100644 --- a/tests/api/controllers/links/GetLinkIdTest.php +++ b/tests/api/controllers/links/GetLinkIdTest.php @@ -9,9 +9,9 @@ use Shaarli\History; use Shaarli\Plugin\PluginManager; use Shaarli\Tests\Utils\ReferenceLinkDB; -use Slim\Container; +use Pimple\Container; use Slim\Http\Environment; -use Slim\Http\Request; +use Slim\Http\ServerRequest; use Slim\Http\Response; /** @@ -104,7 +104,7 @@ public function testGetLinkId() $env = Environment::mock([ 'REQUEST_METHOD' => 'GET', ]); - $request = Request::createFromEnvironment($env); + $request = ServerRequestInterface::createFromEnvironment($env); $response = $this->controller->getLink($request, new Response(), ['id' => $id]); $this->assertEquals(200, $response->getStatusCode()); @@ -140,7 +140,7 @@ public function testGetLink404() $env = Environment::mock([ 'REQUEST_METHOD' => 'GET', ]); - $request = Request::createFromEnvironment($env); + $request = ServerRequestInterface::createFromEnvironment($env); $this->controller->getLink($request, new Response(), ['id' => -1]); } diff --git a/tests/api/controllers/links/GetLinksTest.php b/tests/api/controllers/links/GetLinksTest.php index 217eb5d16..94e7d6a7d 100644 --- a/tests/api/controllers/links/GetLinksTest.php +++ b/tests/api/controllers/links/GetLinksTest.php @@ -10,9 +10,9 @@ use Shaarli\History; use Shaarli\Plugin\PluginManager; use Shaarli\Tests\Utils\ReferenceLinkDB; -use Slim\Container; +use Pimple\Container; use Slim\Http\Environment; -use Slim\Http\Request; +use Slim\Http\ServerRequest; use Slim\Http\Response; /** @@ -104,7 +104,7 @@ public function testGetLinks() $env = Environment::mock([ 'REQUEST_METHOD' => 'GET', ]); - $request = Request::createFromEnvironment($env); + $request = ServerRequestInterface::createFromEnvironment($env); $response = $this->controller->getLinks($request, new Response()); $this->assertEquals(200, $response->getStatusCode()); @@ -157,7 +157,7 @@ public function testGetLinksOffsetLimit() 'REQUEST_METHOD' => 'GET', 'QUERY_STRING' => 'offset=3&limit=1' ]); - $request = Request::createFromEnvironment($env); + $request = ServerRequestInterface::createFromEnvironment($env); $response = $this->controller->getLinks($request, new Response()); $this->assertEquals(200, $response->getStatusCode()); $data = json_decode((string) $response->getBody(), true); @@ -175,7 +175,7 @@ public function testGetLinksLimitAll() 'REQUEST_METHOD' => 'GET', 'QUERY_STRING' => 'limit=all' ]); - $request = Request::createFromEnvironment($env); + $request = ServerRequestInterface::createFromEnvironment($env); $response = $this->controller->getLinks($request, new Response()); $this->assertEquals(200, $response->getStatusCode()); $data = json_decode((string) $response->getBody(), true); @@ -199,7 +199,7 @@ public function testGetLinksOffsetTooHigh() 'REQUEST_METHOD' => 'GET', 'QUERY_STRING' => 'offset=100' ]); - $request = Request::createFromEnvironment($env); + $request = ServerRequestInterface::createFromEnvironment($env); $response = $this->controller->getLinks($request, new Response()); $this->assertEquals(200, $response->getStatusCode()); $data = json_decode((string) $response->getBody(), true); @@ -217,7 +217,7 @@ public function testGetLinksVisibilityAll() 'QUERY_STRING' => 'visibility=all' ] ); - $request = Request::createFromEnvironment($env); + $request = ServerRequestInterface::createFromEnvironment($env); $response = $this->controller->getLinks($request, new Response()); $this->assertEquals(200, $response->getStatusCode()); $data = json_decode((string)$response->getBody(), true); @@ -236,7 +236,7 @@ public function testGetLinksVisibilityPrivate() 'REQUEST_METHOD' => 'GET', 'QUERY_STRING' => 'visibility=private' ]); - $request = Request::createFromEnvironment($env); + $request = ServerRequestInterface::createFromEnvironment($env); $response = $this->controller->getLinks($request, new Response()); $this->assertEquals(200, $response->getStatusCode()); $data = json_decode((string) $response->getBody(), true); @@ -256,7 +256,7 @@ public function testGetLinksVisibilityPublic() 'QUERY_STRING' => 'visibility=public' ] ); - $request = Request::createFromEnvironment($env); + $request = ServerRequestInterface::createFromEnvironment($env); $response = $this->controller->getLinks($request, new Response()); $this->assertEquals(200, $response->getStatusCode()); $data = json_decode((string)$response->getBody(), true); @@ -277,7 +277,7 @@ public function testGetLinksSearchTerm() 'REQUEST_METHOD' => 'GET', 'QUERY_STRING' => 'searchterm=Tropical' ]); - $request = Request::createFromEnvironment($env); + $request = ServerRequestInterface::createFromEnvironment($env); $response = $this->controller->getLinks($request, new Response()); $this->assertEquals(200, $response->getStatusCode()); $data = json_decode((string) $response->getBody(), true); @@ -290,7 +290,7 @@ public function testGetLinksSearchTerm() 'REQUEST_METHOD' => 'GET', 'QUERY_STRING' => 'searchterm=tag3' ]); - $request = Request::createFromEnvironment($env); + $request = ServerRequestInterface::createFromEnvironment($env); $response = $this->controller->getLinks($request, new Response()); $this->assertEquals(200, $response->getStatusCode()); $data = json_decode((string) $response->getBody(), true); @@ -303,7 +303,7 @@ public function testGetLinksSearchTerm() 'REQUEST_METHOD' => 'GET', 'QUERY_STRING' => 'searchterm=stallman' ]); - $request = Request::createFromEnvironment($env); + $request = ServerRequestInterface::createFromEnvironment($env); $response = $this->controller->getLinks($request, new Response()); $this->assertEquals(200, $response->getStatusCode()); $data = json_decode((string) $response->getBody(), true); @@ -318,7 +318,7 @@ public function testGetLinksSearchTerm() 'REQUEST_METHOD' => 'GET', 'QUERY_STRING' => 'searchterm=stallman+software' ]); - $request = Request::createFromEnvironment($env); + $request = ServerRequestInterface::createFromEnvironment($env); $response = $this->controller->getLinks($request, new Response()); $this->assertEquals(200, $response->getStatusCode()); $data = json_decode((string) $response->getBody(), true); @@ -333,7 +333,7 @@ public function testGetLinksSearchTerm() 'REQUEST_METHOD' => 'GET', 'QUERY_STRING' => 'searchterm=' . urlencode('@web') ]); - $request = Request::createFromEnvironment($env); + $request = ServerRequestInterface::createFromEnvironment($env); $response = $this->controller->getLinks($request, new Response()); $this->assertEquals(200, $response->getStatusCode()); $data = json_decode((string) $response->getBody(), true); @@ -350,7 +350,7 @@ public function testGetLinksSearchTermNoResult() 'REQUEST_METHOD' => 'GET', 'QUERY_STRING' => 'searchterm=nope' ]); - $request = Request::createFromEnvironment($env); + $request = ServerRequestInterface::createFromEnvironment($env); $response = $this->controller->getLinks($request, new Response()); $this->assertEquals(200, $response->getStatusCode()); $data = json_decode((string) $response->getBody(), true); @@ -364,7 +364,7 @@ public function testGetLinksSearchTags() 'REQUEST_METHOD' => 'GET', 'QUERY_STRING' => 'searchtags=dev', ]); - $request = Request::createFromEnvironment($env); + $request = ServerRequestInterface::createFromEnvironment($env); $response = $this->controller->getLinks($request, new Response()); $this->assertEquals(200, $response->getStatusCode()); $data = json_decode((string) $response->getBody(), true); @@ -379,7 +379,7 @@ public function testGetLinksSearchTags() 'REQUEST_METHOD' => 'GET', 'QUERY_STRING' => 'searchtags=stuff+-gnu', ]); - $request = Request::createFromEnvironment($env); + $request = ServerRequestInterface::createFromEnvironment($env); $response = $this->controller->getLinks($request, new Response()); $this->assertEquals(200, $response->getStatusCode()); $data = json_decode((string) $response->getBody(), true); @@ -392,7 +392,7 @@ public function testGetLinksSearchTags() 'REQUEST_METHOD' => 'GET', 'QUERY_STRING' => 'searchtags=*Tuff', ]); - $request = Request::createFromEnvironment($env); + $request = ServerRequestInterface::createFromEnvironment($env); $response = $this->controller->getLinks($request, new Response()); $this->assertEquals(200, $response->getStatusCode()); $data = json_decode((string) $response->getBody(), true); @@ -404,7 +404,7 @@ public function testGetLinksSearchTags() 'REQUEST_METHOD' => 'GET', 'QUERY_STRING' => 'searchtags=c*', ]); - $request = Request::createFromEnvironment($env); + $request = ServerRequestInterface::createFromEnvironment($env); $response = $this->controller->getLinks($request, new Response()); $this->assertEquals(200, $response->getStatusCode()); $data = json_decode((string) $response->getBody(), true); @@ -416,7 +416,7 @@ public function testGetLinksSearchTags() 'REQUEST_METHOD' => 'GET', 'QUERY_STRING' => 'searchtags=w*b', ]); - $request = Request::createFromEnvironment($env); + $request = ServerRequestInterface::createFromEnvironment($env); $response = $this->controller->getLinks($request, new Response()); $this->assertEquals(200, $response->getStatusCode()); $data = json_decode((string) $response->getBody(), true); @@ -428,7 +428,7 @@ public function testGetLinksSearchTags() 'REQUEST_METHOD' => 'GET', 'QUERY_STRING' => 'searchtags=*', ]); - $request = Request::createFromEnvironment($env); + $request = ServerRequestInterface::createFromEnvironment($env); $response = $this->controller->getLinks($request, new Response()); $this->assertEquals(200, $response->getStatusCode()); $data = json_decode((string) $response->getBody(), true); @@ -441,7 +441,7 @@ public function testGetLinksSearchTags() 'REQUEST_METHOD' => 'GET', 'QUERY_STRING' => 'searchtags=*stuff*', ]); - $request = Request::createFromEnvironment($env); + $request = ServerRequestInterface::createFromEnvironment($env); $response = $this->controller->getLinks($request, new Response()); $this->assertEquals(200, $response->getStatusCode()); $data = json_decode((string) $response->getBody(), true); @@ -453,7 +453,7 @@ public function testGetLinksSearchTags() 'REQUEST_METHOD' => 'GET', 'QUERY_STRING' => 'searchtags=*a*+-*e*', ]); - $request = Request::createFromEnvironment($env); + $request = ServerRequestInterface::createFromEnvironment($env); $response = $this->controller->getLinks($request, new Response()); $this->assertEquals(200, $response->getStatusCode()); $data = json_decode((string) $response->getBody(), true); @@ -465,7 +465,7 @@ public function testGetLinksSearchTags() 'REQUEST_METHOD' => 'GET', 'QUERY_STRING' => 'searchtags=-*', ]); - $request = Request::createFromEnvironment($env); + $request = ServerRequestInterface::createFromEnvironment($env); $response = $this->controller->getLinks($request, new Response()); $this->assertEquals(200, $response->getStatusCode()); $data = json_decode((string) $response->getBody(), true); @@ -481,7 +481,7 @@ public function testGetLinksSearchTermsAndTags() 'REQUEST_METHOD' => 'GET', 'QUERY_STRING' => 'searchterm=poke&searchtags=dev', ]); - $request = Request::createFromEnvironment($env); + $request = ServerRequestInterface::createFromEnvironment($env); $response = $this->controller->getLinks($request, new Response()); $this->assertEquals(200, $response->getStatusCode()); $data = json_decode((string) $response->getBody(), true); diff --git a/tests/api/controllers/links/PostLinkTest.php b/tests/api/controllers/links/PostLinkTest.php index faf43ee10..0473ce334 100644 --- a/tests/api/controllers/links/PostLinkTest.php +++ b/tests/api/controllers/links/PostLinkTest.php @@ -11,9 +11,9 @@ use Shaarli\TestCase; use Shaarli\Tests\Utils\ReferenceHistory; use Shaarli\Tests\Utils\ReferenceLinkDB; -use Slim\Container; +use Pimple\Container; use Slim\Http\Environment; -use Slim\Http\Request; +use Slim\Http\ServerRequest; use Slim\Http\Response; use Slim\Router; @@ -133,7 +133,7 @@ public function testPostLinkMinimal() 'REQUEST_METHOD' => 'POST', ]); - $request = Request::createFromEnvironment($env); + $request = ServerRequestInterface::createFromEnvironment($env); $response = $this->controller->postLink($request, new Response()); $this->assertEquals(201, $response->getStatusCode()); @@ -179,7 +179,7 @@ public function testPostLinkFull() 'CONTENT_TYPE' => 'application/json' ]); - $request = Request::createFromEnvironment($env); + $request = ServerRequestInterface::createFromEnvironment($env); $request = $request->withParsedBody($link); $response = $this->controller->postLink($request, new Response()); @@ -215,7 +215,7 @@ public function testPostLinkDuplicate() 'CONTENT_TYPE' => 'application/json' ]); - $request = Request::createFromEnvironment($env); + $request = ServerRequestInterface::createFromEnvironment($env); $request = $request->withParsedBody($link); $response = $this->controller->postLink($request, new Response()); @@ -252,7 +252,7 @@ public function testPostLinkWithTagString(): void 'CONTENT_TYPE' => 'application/json' ]); - $request = Request::createFromEnvironment($env); + $request = ServerRequestInterface::createFromEnvironment($env); $request = $request->withParsedBody($link); $response = $this->controller->postLink($request, new Response()); @@ -276,7 +276,7 @@ public function testPostLinkWithTagString2(): void 'CONTENT_TYPE' => 'application/json' ]); - $request = Request::createFromEnvironment($env); + $request = ServerRequestInterface::createFromEnvironment($env); $request = $request->withParsedBody($link); $response = $this->controller->postLink($request, new Response()); diff --git a/tests/api/controllers/links/PutLinkTest.php b/tests/api/controllers/links/PutLinkTest.php index 9bd196db8..628a9254b 100644 --- a/tests/api/controllers/links/PutLinkTest.php +++ b/tests/api/controllers/links/PutLinkTest.php @@ -10,9 +10,9 @@ use Shaarli\Plugin\PluginManager; use Shaarli\Tests\Utils\ReferenceHistory; use Shaarli\Tests\Utils\ReferenceLinkDB; -use Slim\Container; +use Pimple\Container; use Slim\Http\Environment; -use Slim\Http\Request; +use Slim\Http\ServerRequest; use Slim\Http\Response; class PutLinkTest extends \Shaarli\TestCase @@ -116,7 +116,7 @@ public function testPutLinkMinimal() 'REQUEST_METHOD' => 'PUT', ]); $id = '41'; - $request = Request::createFromEnvironment($env); + $request = ServerRequestInterface::createFromEnvironment($env); $response = $this->controller->putLink($request, new Response(), ['id' => $id]); $this->assertEquals(200, $response->getStatusCode()); @@ -162,7 +162,7 @@ public function testPutLinkWithValues() 'tags' => ['corneille', 'rodrigue'], 'private' => true, ]; - $request = Request::createFromEnvironment($env); + $request = ServerRequestInterface::createFromEnvironment($env); $request = $request->withParsedBody($update); $response = $this->controller->putLink($request, new Response(), ['id' => $id]); @@ -202,7 +202,7 @@ public function testPutLinkDuplicate() 'CONTENT_TYPE' => 'application/json' ]); - $request = Request::createFromEnvironment($env); + $request = ServerRequestInterface::createFromEnvironment($env); $request = $request->withParsedBody($link); $response = $this->controller->putLink($request, new Response(), ['id' => 41]); @@ -237,7 +237,7 @@ public function testGetLink404() $env = Environment::mock([ 'REQUEST_METHOD' => 'PUT', ]); - $request = Request::createFromEnvironment($env); + $request = ServerRequestInterface::createFromEnvironment($env); $this->controller->putLink($request, new Response(), ['id' => -1]); } @@ -256,7 +256,7 @@ public function testPutLinkWithTagString(): void 'CONTENT_TYPE' => 'application/json' ]); - $request = Request::createFromEnvironment($env); + $request = ServerRequestInterface::createFromEnvironment($env); $request = $request->withParsedBody($link); $response = $this->controller->putLink($request, new Response(), ['id' => $id]); @@ -280,7 +280,7 @@ public function testPutLinkWithTagString2(): void 'CONTENT_TYPE' => 'application/json' ]); - $request = Request::createFromEnvironment($env); + $request = ServerRequestInterface::createFromEnvironment($env); $request = $request->withParsedBody($link); $response = $this->controller->putLink($request, new Response(), ['id' => $id]); diff --git a/tests/api/controllers/tags/DeleteTagTest.php b/tests/api/controllers/tags/DeleteTagTest.php index 63a3e2645..ff8cb066b 100644 --- a/tests/api/controllers/tags/DeleteTagTest.php +++ b/tests/api/controllers/tags/DeleteTagTest.php @@ -10,9 +10,9 @@ use Shaarli\Plugin\PluginManager; use Shaarli\Tests\Utils\ReferenceHistory; use Shaarli\Tests\Utils\ReferenceLinkDB; -use Slim\Container; +use Pimple\Container; use Slim\Http\Environment; -use Slim\Http\Request; +use Slim\Http\ServerRequest; use Slim\Http\Response; class DeleteTagTest extends \Shaarli\TestCase @@ -113,7 +113,7 @@ public function testDeleteTagValid() $env = Environment::mock([ 'REQUEST_METHOD' => 'DELETE', ]); - $request = Request::createFromEnvironment($env); + $request = ServerRequestInterface::createFromEnvironment($env); $response = $this->controller->deleteTag($request, new Response(), ['tagName' => $tagName]); $this->assertEquals(204, $response->getStatusCode()); @@ -153,7 +153,7 @@ public function testDeleteTagCaseSensitivity() $env = Environment::mock([ 'REQUEST_METHOD' => 'DELETE', ]); - $request = Request::createFromEnvironment($env); + $request = ServerRequestInterface::createFromEnvironment($env); $response = $this->controller->deleteTag($request, new Response(), ['tagName' => $tagName]); $this->assertEquals(204, $response->getStatusCode()); @@ -191,7 +191,7 @@ public function testDeleteLink404() $env = Environment::mock([ 'REQUEST_METHOD' => 'DELETE', ]); - $request = Request::createFromEnvironment($env); + $request = ServerRequestInterface::createFromEnvironment($env); $this->controller->deleteTag($request, new Response(), ['tagName' => $tagName]); } diff --git a/tests/api/controllers/tags/GetTagNameTest.php b/tests/api/controllers/tags/GetTagNameTest.php index 8ba4b83ca..bc029ed1c 100644 --- a/tests/api/controllers/tags/GetTagNameTest.php +++ b/tests/api/controllers/tags/GetTagNameTest.php @@ -9,9 +9,9 @@ use Shaarli\History; use Shaarli\Plugin\PluginManager; use Shaarli\Tests\Utils\ReferenceLinkDB; -use Slim\Container; +use Pimple\Container; use Slim\Http\Environment; -use Slim\Http\Request; +use Slim\Http\ServerRequest; use Slim\Http\Response; /** @@ -100,7 +100,7 @@ public function testGetTag() $env = Environment::mock([ 'REQUEST_METHOD' => 'GET', ]); - $request = Request::createFromEnvironment($env); + $request = ServerRequestInterface::createFromEnvironment($env); $response = $this->controller->getTag($request, new Response(), ['tagName' => $tagName]); $this->assertEquals(200, $response->getStatusCode()); @@ -119,7 +119,7 @@ public function testGetTagNotCaseSensitive() $env = Environment::mock([ 'REQUEST_METHOD' => 'GET', ]); - $request = Request::createFromEnvironment($env); + $request = ServerRequestInterface::createFromEnvironment($env); $response = $this->controller->getTag($request, new Response(), ['tagName' => $tagName]); $this->assertEquals(200, $response->getStatusCode()); @@ -140,7 +140,7 @@ public function testGetTag404() $env = Environment::mock([ 'REQUEST_METHOD' => 'GET', ]); - $request = Request::createFromEnvironment($env); + $request = ServerRequestInterface::createFromEnvironment($env); $this->controller->getTag($request, new Response(), ['tagName' => 'nopenope']); } diff --git a/tests/api/controllers/tags/GetTagsTest.php b/tests/api/controllers/tags/GetTagsTest.php index 1a1830816..2354d02ed 100644 --- a/tests/api/controllers/tags/GetTagsTest.php +++ b/tests/api/controllers/tags/GetTagsTest.php @@ -9,9 +9,9 @@ use Shaarli\History; use Shaarli\Plugin\PluginManager; use Shaarli\Tests\Utils\ReferenceLinkDB; -use Slim\Container; +use Pimple\Container; use Slim\Http\Environment; -use Slim\Http\Request; +use Slim\Http\ServerRequest; use Slim\Http\Response; /** @@ -105,7 +105,7 @@ public function testGetTagsAll() $env = Environment::mock([ 'REQUEST_METHOD' => 'GET', ]); - $request = Request::createFromEnvironment($env); + $request = ServerRequestInterface::createFromEnvironment($env); $response = $this->controller->getTags($request, new Response()); $this->assertEquals(200, $response->getStatusCode()); @@ -139,7 +139,7 @@ public function testGetTagsOffsetLimit() 'REQUEST_METHOD' => 'GET', 'QUERY_STRING' => 'offset=1&limit=1' ]); - $request = Request::createFromEnvironment($env); + $request = ServerRequestInterface::createFromEnvironment($env); $response = $this->controller->getTags($request, new Response()); $this->assertEquals(200, $response->getStatusCode()); $data = json_decode((string) $response->getBody(), true); @@ -159,7 +159,7 @@ public function testGetTagsLimitAll() 'REQUEST_METHOD' => 'GET', 'QUERY_STRING' => 'limit=all' ]); - $request = Request::createFromEnvironment($env); + $request = ServerRequestInterface::createFromEnvironment($env); $response = $this->controller->getTags($request, new Response()); $this->assertEquals(200, $response->getStatusCode()); $data = json_decode((string) $response->getBody(), true); @@ -176,7 +176,7 @@ public function testGetTagsOffsetTooHigh() 'REQUEST_METHOD' => 'GET', 'QUERY_STRING' => 'offset=100' ]); - $request = Request::createFromEnvironment($env); + $request = ServerRequestInterface::createFromEnvironment($env); $response = $this->controller->getTags($request, new Response()); $this->assertEquals(200, $response->getStatusCode()); $data = json_decode((string) $response->getBody(), true); @@ -193,7 +193,7 @@ public function testGetTagsVisibilityPrivate() 'REQUEST_METHOD' => 'GET', 'QUERY_STRING' => 'visibility=private' ]); - $request = Request::createFromEnvironment($env); + $request = ServerRequestInterface::createFromEnvironment($env); $response = $this->controller->getTags($request, new Response()); $this->assertEquals(200, $response->getStatusCode()); $data = json_decode((string) $response->getBody(), true); @@ -215,7 +215,7 @@ public function testGetTagsVisibilityPublic() 'QUERY_STRING' => 'visibility=public' ] ); - $request = Request::createFromEnvironment($env); + $request = ServerRequestInterface::createFromEnvironment($env); $response = $this->controller->getTags($request, new Response()); $this->assertEquals(200, $response->getStatusCode()); $data = json_decode((string)$response->getBody(), true); diff --git a/tests/api/controllers/tags/PutTagTest.php b/tests/api/controllers/tags/PutTagTest.php index b2ebcd523..d33c049cb 100644 --- a/tests/api/controllers/tags/PutTagTest.php +++ b/tests/api/controllers/tags/PutTagTest.php @@ -11,9 +11,9 @@ use Shaarli\Plugin\PluginManager; use Shaarli\Tests\Utils\ReferenceHistory; use Shaarli\Tests\Utils\ReferenceLinkDB; -use Slim\Container; +use Pimple\Container; use Slim\Http\Environment; -use Slim\Http\Request; +use Slim\Http\ServerRequest; use Slim\Http\Response; class PutTagTest extends \Shaarli\TestCase @@ -115,7 +115,7 @@ public function testPutLinkValid() ]); $tagName = 'gnu'; $update = ['name' => $newName = 'newtag']; - $request = Request::createFromEnvironment($env); + $request = ServerRequestInterface::createFromEnvironment($env); $request = $request->withParsedBody($update); $response = $this->controller->putTag($request, new Response(), ['tagName' => $tagName]); @@ -157,7 +157,7 @@ public function testPutTagMerge() 'REQUEST_METHOD' => 'PUT', ]); $update = ['name' => $newName]; - $request = Request::createFromEnvironment($env); + $request = ServerRequestInterface::createFromEnvironment($env); $request = $request->withParsedBody($update); $response = $this->controller->putTag($request, new Response(), ['tagName' => $tagName]); @@ -189,13 +189,13 @@ public function testPutTagEmpty() $env = Environment::mock([ 'REQUEST_METHOD' => 'PUT', ]); - $request = Request::createFromEnvironment($env); + $request = ServerRequestInterface::createFromEnvironment($env); $env = Environment::mock([ 'REQUEST_METHOD' => 'PUT', ]); $update = ['name' => $newName]; - $request = Request::createFromEnvironment($env); + $request = ServerRequestInterface::createFromEnvironment($env); $request = $request->withParsedBody($update); try { @@ -218,7 +218,7 @@ public function testPutTag404() $env = Environment::mock([ 'REQUEST_METHOD' => 'PUT', ]); - $request = Request::createFromEnvironment($env); + $request = ServerRequestInterface::createFromEnvironment($env); $this->controller->putTag($request, new Response(), ['tagName' => 'nopenope']); } diff --git a/tests/front/ShaarliAdminMiddlewareTest.php b/tests/front/ShaarliAdminMiddlewareTest.php index 4d0726127..4f96480c1 100644 --- a/tests/front/ShaarliAdminMiddlewareTest.php +++ b/tests/front/ShaarliAdminMiddlewareTest.php @@ -9,7 +9,7 @@ use Shaarli\Security\LoginManager; use Shaarli\TestCase; use Shaarli\Updater\Updater; -use Slim\Http\Request; +use Slim\Http\ServerRequest; use Slim\Http\Response; use Slim\Http\Uri; @@ -52,7 +52,7 @@ public function testMiddlewareWhileLoggedOut(): void { $this->container->loginManager->expects(static::once())->method('isLoggedIn')->willReturn(false); - $request = $this->createMock(Request::class); + $request = $this->createMock(ServerRequest::class); $request->method('getUri')->willReturnCallback(function (): Uri { $uri = $this->createMock(Uri::class); $uri->method('getBasePath')->willReturn('/subfolder'); @@ -80,7 +80,7 @@ public function testMiddlewareWhileLoggedIn(): void { $this->container->loginManager->method('isLoggedIn')->willReturn(true); - $request = $this->createMock(Request::class); + $request = $this->createMock(ServerRequest::class); $request->method('getUri')->willReturnCallback(function (): Uri { $uri = $this->createMock(Uri::class); $uri->method('getBasePath')->willReturn('/subfolder'); @@ -89,7 +89,7 @@ public function testMiddlewareWhileLoggedIn(): void }); $response = new Response(); - $controller = function (Request $request, Response $response): Response { + $controller = function (ServerRequestInterface $request, Response $response): Response { return $response->withStatus(418); // I'm a tea pot }; diff --git a/tests/front/ShaarliMiddlewareTest.php b/tests/front/ShaarliMiddlewareTest.php index 2fc1e69b4..dac8edaab 100644 --- a/tests/front/ShaarliMiddlewareTest.php +++ b/tests/front/ShaarliMiddlewareTest.php @@ -13,7 +13,7 @@ use Shaarli\Security\LoginManager; use Shaarli\TestCase; use Shaarli\Updater\Updater; -use Slim\Http\Request; +use Slim\Http\ServerRequest; use Slim\Http\Response; use Slim\Http\Uri; @@ -53,7 +53,7 @@ public function tearDown(): void */ public function testMiddlewareExecution(): void { - $request = $this->createMock(Request::class); + $request = $this->createMock(ServerRequest::class); $request->method('getUri')->willReturnCallback(function (): Uri { $uri = $this->createMock(Uri::class); $uri->method('getBasePath')->willReturn('/subfolder'); @@ -62,7 +62,7 @@ public function testMiddlewareExecution(): void }); $response = new Response(); - $controller = function (Request $request, Response $response): Response { + $controller = function (ServerRequestInterface $request, Response $response): Response { return $response->withStatus(418); // I'm a tea pot }; @@ -79,7 +79,7 @@ public function testMiddlewareExecution(): void */ public function testMiddlewareExecutionWithFrontException(): void { - $request = $this->createMock(Request::class); + $request = $this->createMock(ServerRequest::class); $request->method('getUri')->willReturnCallback(function (): Uri { $uri = $this->createMock(Uri::class); $uri->method('getBasePath')->willReturn('/subfolder'); @@ -111,7 +111,7 @@ public function testMiddlewareExecutionWithFrontException(): void */ public function testMiddlewareExecutionWithUnauthorizedException(): void { - $request = $this->createMock(Request::class); + $request = $this->createMock(ServerRequest::class); $request->method('getUri')->willReturnCallback(function (): Uri { $uri = $this->createMock(Uri::class); $uri->method('getBasePath')->willReturn('/subfolder'); @@ -140,7 +140,7 @@ public function testMiddlewareExecutionWithUnauthorizedException(): void */ public function testMiddlewareExecutionWithServerException(): void { - $request = $this->createMock(Request::class); + $request = $this->createMock(ServerRequest::class); $request->method('getUri')->willReturnCallback(function (): Uri { $uri = $this->createMock(Uri::class); $uri->method('getBasePath')->willReturn('/subfolder'); @@ -175,7 +175,7 @@ public function testMiddlewareExecutionWithServerException(): void public function testMiddlewareExecutionWithUpdates(): void { - $request = $this->createMock(Request::class); + $request = $this->createMock(ServerRequest::class); $request->method('getUri')->willReturnCallback(function (): Uri { $uri = $this->createMock(Uri::class); $uri->method('getBasePath')->willReturn('/subfolder'); @@ -184,7 +184,7 @@ public function testMiddlewareExecutionWithUpdates(): void }); $response = new Response(); - $controller = function (Request $request, Response $response): Response { + $controller = function (ServerRequestInterface $request, Response $response): Response { return $response->withStatus(418); // I'm a tea pot }; diff --git a/tests/front/controller/admin/ConfigureControllerTest.php b/tests/front/controller/admin/ConfigureControllerTest.php index 822429d79..19628d87d 100644 --- a/tests/front/controller/admin/ConfigureControllerTest.php +++ b/tests/front/controller/admin/ConfigureControllerTest.php @@ -9,7 +9,7 @@ use Shaarli\Security\SessionManager; use Shaarli\TestCase; use Shaarli\Thumbnailer; -use Slim\Http\Request; +use Slim\Http\ServerRequest; use Slim\Http\Response; class ConfigureControllerTest extends TestCase @@ -34,7 +34,7 @@ public function testIndex(): void $assignedVariables = []; $this->assignTemplateVars($assignedVariables); - $request = $this->createMock(Request::class); + $request = $this->createMock(ServerRequest::class); $response = new Response(); $this->container->conf = $this->createMock(ConfigManager::class); @@ -113,7 +113,7 @@ public function testSaveNewConfig(): void 'thumbnails.mode' => $parameters['enableThumbnails'], ]; - $request = $this->createMock(Request::class); + $request = $this->createMock(ServerRequest::class); $request ->expects(static::atLeastOnce()) ->method('getParam')->willReturnCallback(function (string $key) use ($parameters) { @@ -159,7 +159,7 @@ public function testSaveNewConfigWrongToken(): void $this->container->conf->expects(static::never())->method('set'); $this->container->conf->expects(static::never())->method('write'); - $request = $this->createMock(Request::class); + $request = $this->createMock(ServerRequest::class); $response = new Response(); $this->expectException(WrongTokenException::class); @@ -175,7 +175,7 @@ public function testSaveNewConfigThumbnailsActivation(): void $session = []; $this->assignSessionVars($session); - $request = $this->createMock(Request::class); + $request = $this->createMock(ServerRequest::class); $request ->expects(static::atLeastOnce()) ->method('getParam')->willReturnCallback(function (string $key) { @@ -211,7 +211,7 @@ public function testSaveNewConfigThumbnailsAlreadyActive(): void $session = []; $this->assignSessionVars($session); - $request = $this->createMock(Request::class); + $request = $this->createMock(ServerRequest::class); $request ->expects(static::atLeastOnce()) ->method('getParam')->willReturnCallback(function (string $key) { diff --git a/tests/front/controller/admin/ExportControllerTest.php b/tests/front/controller/admin/ExportControllerTest.php index a8401c1f1..7a9787524 100644 --- a/tests/front/controller/admin/ExportControllerTest.php +++ b/tests/front/controller/admin/ExportControllerTest.php @@ -10,7 +10,7 @@ use Shaarli\Netscape\NetscapeBookmarkUtils; use Shaarli\Security\SessionManager; use Shaarli\TestCase; -use Slim\Http\Request; +use Slim\Http\ServerRequest; use Slim\Http\Response; class ExportControllerTest extends TestCase @@ -35,7 +35,7 @@ public function testIndex(): void $assignedVariables = []; $this->assignTemplateVars($assignedVariables); - $request = $this->createMock(Request::class); + $request = $this->createMock(ServerRequest::class); $response = new Response(); $result = $this->controller->index($request, $response); @@ -59,7 +59,7 @@ public function testExportDefault(): void 'prepend_note_url' => 'on', ]; - $request = $this->createMock(Request::class); + $request = $this->createMock(ServerRequest::class); $request->method('getParam')->willReturnCallback(function (string $key) use ($parameters) { return $parameters[$key] ?? null; }); @@ -115,7 +115,7 @@ function ( */ public function testExportSelectionMissing(): void { - $request = $this->createMock(Request::class); + $request = $this->createMock(ServerRequest::class); $response = new Response(); $this->container->sessionManager @@ -139,7 +139,7 @@ public function testExportErrorEncountered(): void 'selection' => 'all', ]; - $request = $this->createMock(Request::class); + $request = $this->createMock(ServerRequest::class); $request->method('getParam')->willReturnCallback(function (string $key) use ($parameters) { return $parameters[$key] ?? null; }); diff --git a/tests/front/controller/admin/ImportControllerTest.php b/tests/front/controller/admin/ImportControllerTest.php index 505131153..64dc3ff1f 100644 --- a/tests/front/controller/admin/ImportControllerTest.php +++ b/tests/front/controller/admin/ImportControllerTest.php @@ -8,9 +8,9 @@ use Shaarli\Netscape\NetscapeBookmarkUtils; use Shaarli\Security\SessionManager; use Shaarli\TestCase; -use Slim\Http\Request; +use Slim\Http\ServerRequest; use Slim\Http\Response; -use Slim\Http\UploadedFile; +use Laminas\Diactoros\UploadedFile; class ImportControllerTest extends TestCase { @@ -34,7 +34,7 @@ public function testIndex(): void $assignedVariables = []; $this->assignTemplateVars($assignedVariables); - $request = $this->createMock(Request::class); + $request = $this->createMock(ServerRequest::class); $response = new Response(); $result = $this->controller->index($request, $response); @@ -57,9 +57,9 @@ public function testImportDefault(): void 'other' => 'param', ]; - $requestFile = new UploadedFile('file', 'name', 'type', 123); + $requestFile = new UploadedFile('file', 123, UPLOAD_ERR_OK, 'name', 'type'); - $request = $this->createMock(Request::class); + $request = $this->createMock(ServerRequest::class); $request->method('getParams')->willReturnCallback(function () use ($parameters) { return $parameters; }); @@ -103,7 +103,7 @@ function ( */ public function testImportFileMissing(): void { - $request = $this->createMock(Request::class); + $request = $this->createMock(ServerRequest::class); $response = new Response(); $this->container->sessionManager @@ -123,9 +123,9 @@ public function testImportFileMissing(): void */ public function testImportEmptyFile(): void { - $requestFile = new UploadedFile('file', 'name', 'type', 0); + $requestFile = new UploadedFile('file', 0, UPLOAD_ERR_OK, 'name', 'type');; - $request = $this->createMock(Request::class); + $request = $this->createMock(ServerRequest::class); $request->method('getUploadedFiles')->willReturn(['filetoupload' => $requestFile]); $response = new Response(); diff --git a/tests/front/controller/admin/LogoutControllerTest.php b/tests/front/controller/admin/LogoutControllerTest.php index 94e53019a..ca2b8403f 100644 --- a/tests/front/controller/admin/LogoutControllerTest.php +++ b/tests/front/controller/admin/LogoutControllerTest.php @@ -7,7 +7,7 @@ use Shaarli\Security\CookieManager; use Shaarli\Security\SessionManager; use Shaarli\TestCase; -use Slim\Http\Request; +use Slim\Http\ServerRequest; use Slim\Http\Response; class LogoutControllerTest extends TestCase @@ -26,7 +26,7 @@ public function setUp(): void public function testValidControllerInvoke(): void { - $request = $this->createMock(Request::class); + $request = $this->createMock(ServerRequest::class); $response = new Response(); $this->container->pageCacheManager->expects(static::once())->method('invalidateCaches'); diff --git a/tests/front/controller/admin/ManageTagControllerTest.php b/tests/front/controller/admin/ManageTagControllerTest.php index 56a64cbb7..b90738b86 100644 --- a/tests/front/controller/admin/ManageTagControllerTest.php +++ b/tests/front/controller/admin/ManageTagControllerTest.php @@ -11,7 +11,7 @@ use Shaarli\Front\Exception\WrongTokenException; use Shaarli\Security\SessionManager; use Shaarli\TestCase; -use Slim\Http\Request; +use Slim\Http\ServerRequest; use Slim\Http\Response; class ManageTagControllerTest extends TestCase @@ -36,7 +36,7 @@ public function testIndex(): void $assignedVariables = []; $this->assignTemplateVars($assignedVariables); - $request = $this->createMock(Request::class); + $request = $this->createMock(ServerRequest::class); $request->method('getParam')->with('fromtag')->willReturn('fromtag'); $response = new Response(); @@ -63,7 +63,7 @@ public function testIndexWhitespaceSeparator(): void return $key === 'general.tags_separator' ? ' ' : $key; }); - $request = $this->createMock(Request::class); + $request = $this->createMock(ServerRequest::class); $response = new Response(); $this->controller->index($request, $response); @@ -85,7 +85,7 @@ public function testSaveRenameTagValid(): void 'fromtag' => 'old-tag', 'totag' => 'new-tag', ]; - $request = $this->createMock(Request::class); + $request = $this->createMock(ServerRequest::class); $request ->expects(static::atLeastOnce()) ->method('getParam') @@ -138,7 +138,7 @@ public function testSaveDeleteTagValid(): void 'deletetag' => 'delete', 'fromtag' => 'old-tag', ]; - $request = $this->createMock(Request::class); + $request = $this->createMock(ServerRequest::class); $request ->expects(static::atLeastOnce()) ->method('getParam') @@ -190,7 +190,7 @@ public function testSaveWrongToken(): void $this->container->conf->expects(static::never())->method('set'); $this->container->conf->expects(static::never())->method('write'); - $request = $this->createMock(Request::class); + $request = $this->createMock(ServerRequest::class); $response = new Response(); $this->expectException(WrongTokenException::class); @@ -209,7 +209,7 @@ public function testSaveRenameTagMissingFrom(): void $requestParameters = [ 'renametag' => 'rename', ]; - $request = $this->createMock(Request::class); + $request = $this->createMock(ServerRequest::class); $request ->expects(static::atLeastOnce()) ->method('getParam') @@ -241,7 +241,7 @@ public function testSaveDeleteTagMissingFrom(): void $requestParameters = [ 'deletetag' => 'delete', ]; - $request = $this->createMock(Request::class); + $request = $this->createMock(ServerRequest::class); $request ->expects(static::atLeastOnce()) ->method('getParam') @@ -274,7 +274,7 @@ public function testSaveRenameTagMissingTo(): void 'renametag' => 'rename', 'fromtag' => 'old-tag' ]; - $request = $this->createMock(Request::class); + $request = $this->createMock(ServerRequest::class); $request ->expects(static::atLeastOnce()) ->method('getParam') @@ -305,7 +305,7 @@ public function testChangeSeparatorValid(): void $session = []; $this->assignSessionVars($session); - $request = $this->createMock(Request::class); + $request = $this->createMock(ServerRequest::class); $request ->expects(static::atLeastOnce()) ->method('getParam') @@ -345,7 +345,7 @@ public function testChangeSeparatorInvalidTooLong(): void $session = []; $this->assignSessionVars($session); - $request = $this->createMock(Request::class); + $request = $this->createMock(ServerRequest::class); $request ->expects(static::atLeastOnce()) ->method('getParam') @@ -381,7 +381,7 @@ public function testChangeSeparatorInvalidReservedCharacter(): void $session = []; $this->assignSessionVars($session); - $request = $this->createMock(Request::class); + $request = $this->createMock(ServerRequest::class); $request ->expects(static::atLeastOnce()) ->method('getParam') diff --git a/tests/front/controller/admin/PasswordControllerTest.php b/tests/front/controller/admin/PasswordControllerTest.php index e73b37118..cf8fc939a 100644 --- a/tests/front/controller/admin/PasswordControllerTest.php +++ b/tests/front/controller/admin/PasswordControllerTest.php @@ -9,8 +9,8 @@ use Shaarli\Front\Exception\WrongTokenException; use Shaarli\Security\SessionManager; use Shaarli\TestCase; -use Slim\Http\Request; use Slim\Http\Response; +use Slim\Http\ServerRequest; class PasswordControllerTest extends TestCase { @@ -35,7 +35,7 @@ public function setUp(): void */ public function testGetPage(): void { - $request = $this->createMock(Request::class); + $request = $this->createMock(ServerRequest::class); $response = new Response(); $result = $this->controller->index($request, $response); @@ -50,7 +50,7 @@ public function testGetPage(): void */ public function testPostNewPasswordDefault(): void { - $request = $this->createMock(Request::class); + $request = $this->createMock(ServerRequest::class); $request->method('getParam')->willReturnCallback(function (string $key): string { if ('oldpassword' === $key) { return 'old'; @@ -94,7 +94,7 @@ public function testPostNewPasswordDefault(): void */ public function testPostNewPasswordWrongOldPassword(): void { - $request = $this->createMock(Request::class); + $request = $this->createMock(ServerRequest::class); $request->method('getParam')->willReturnCallback(function (string $key): string { if ('oldpassword' === $key) { return 'wrong'; @@ -143,7 +143,7 @@ public function testPostNewPasswordWrongToken(): void $this->container->conf->expects(static::never())->method('set'); $this->container->conf->expects(static::never())->method('write'); - $request = $this->createMock(Request::class); + $request = $this->createMock(ServerRequest::class); $response = new Response(); $this->expectException(WrongTokenException::class); @@ -165,7 +165,7 @@ public function testPostNewEmptyPassword(): void $this->container->conf->expects(static::never())->method('set'); $this->container->conf->expects(static::never())->method('write'); - $request = $this->createMock(Request::class); + $request = $this->createMock(ServerRequest::class); $request->method('getParam')->willReturnCallback(function (string $key): string { if ('oldpassword' === $key) { return 'old'; @@ -193,7 +193,7 @@ public function testPostNewPasswordOnOpenShaarli(): void $this->container->conf = $this->createMock(ConfigManager::class); $this->container->conf->method('get')->with('security.open_shaarli')->willReturn(true); - $request = $this->createMock(Request::class); + $request = $this->createMock(ServerRequest::class); $response = new Response(); $this->expectException(OpenShaarliPasswordException::class); diff --git a/tests/front/controller/admin/PluginsControllerTest.php b/tests/front/controller/admin/PluginsControllerTest.php index fbec3197b..0e22f07d4 100644 --- a/tests/front/controller/admin/PluginsControllerTest.php +++ b/tests/front/controller/admin/PluginsControllerTest.php @@ -9,7 +9,7 @@ use Shaarli\Plugin\PluginManager; use Shaarli\Security\SessionManager; use Shaarli\TestCase; -use Slim\Http\Request; +use Slim\Http\ServerRequest; use Slim\Http\Response; class PluginsControllerTest extends TestCase @@ -51,7 +51,7 @@ public function testIndex(): void $assignedVariables = []; $this->assignTemplateVars($assignedVariables); - $request = $this->createMock(Request::class); + $request = $this->createMock(ServerRequest::class); $response = new Response(); $data = [ @@ -93,7 +93,7 @@ public function testSaveEnabledPlugins(): void 'plugin2' => 'on', ]; - $request = $this->createMock(Request::class); + $request = $this->createMock(ServerRequest::class); $request ->expects(static::atLeastOnce()) ->method('getParams') @@ -132,7 +132,7 @@ public function testSavePluginParameters(): void 'token' => 'this parameter should not be saved' ]; - $request = $this->createMock(Request::class); + $request = $this->createMock(ServerRequest::class); $request ->expects(static::atLeastOnce()) ->method('getParams') @@ -164,7 +164,7 @@ public function testSavePluginParameters(): void */ public function testSaveWithError(): void { - $request = $this->createMock(Request::class); + $request = $this->createMock(ServerRequest::class); $response = new Response(); $this->container->conf = $this->createMock(ConfigManager::class); @@ -199,7 +199,7 @@ public function testSaveWrongToken(): void $this->container->sessionManager = $this->createMock(SessionManager::class); $this->container->sessionManager->method('checkToken')->willReturn(false); - $request = $this->createMock(Request::class); + $request = $this->createMock(ServerRequest::class); $response = new Response(); $this->expectException(WrongTokenException::class); diff --git a/tests/front/controller/admin/ServerControllerTest.php b/tests/front/controller/admin/ServerControllerTest.php index 355cce7d3..4adbf70eb 100644 --- a/tests/front/controller/admin/ServerControllerTest.php +++ b/tests/front/controller/admin/ServerControllerTest.php @@ -7,7 +7,7 @@ use Shaarli\Config\ConfigManager; use Shaarli\Security\SessionManager; use Shaarli\TestCase; -use Slim\Http\Request; +use Slim\Http\ServerRequest; use Slim\Http\Response; /** @@ -51,7 +51,7 @@ public function tearDown(): void */ public function testIndex(): void { - $request = $this->createMock(Request::class); + $request = $this->createMock(ServerRequest::class); $response = new Response(); // Save RainTPL assigned variables @@ -107,7 +107,7 @@ public function testClearMainCache(): void ->with(SessionManager::KEY_SUCCESS_MESSAGES, ['Shaarli\'s cache folder has been cleared!']) ; - $request = $this->createMock(Request::class); + $request = $this->createMock(ServerRequest::class); $request->method('getQueryParam')->with('type')->willReturn('main'); $response = new Response(); @@ -159,7 +159,7 @@ public function testClearThumbnailsCache(): void }); ; - $request = $this->createMock(Request::class); + $request = $this->createMock(ServerRequest::class); $request->method('getQueryParam')->with('type')->willReturn('thumbnails'); $response = new Response(); diff --git a/tests/front/controller/admin/SessionFilterControllerTest.php b/tests/front/controller/admin/SessionFilterControllerTest.php index 712a625b2..f5f6cba1f 100644 --- a/tests/front/controller/admin/SessionFilterControllerTest.php +++ b/tests/front/controller/admin/SessionFilterControllerTest.php @@ -7,7 +7,7 @@ use Shaarli\Security\LoginManager; use Shaarli\Security\SessionManager; use Shaarli\TestCase; -use Slim\Http\Request; +use Slim\Http\ServerRequest; use Slim\Http\Response; class SessionFilterControllerTest extends TestCase @@ -40,7 +40,7 @@ public function testVisibility(): void ->with(SessionManager::KEY_VISIBILITY, 'private') ; - $request = $this->createMock(Request::class); + $request = $this->createMock(ServerRequest::class); $response = new Response(); $result = $this->controller->visibility($request, $response, $arg); @@ -75,7 +75,7 @@ public function testVisibilityToggleOff(): void ->with(SessionManager::KEY_VISIBILITY) ; - $request = $this->createMock(Request::class); + $request = $this->createMock(ServerRequest::class); $response = new Response(); $result = $this->controller->visibility($request, $response, $arg); @@ -104,7 +104,7 @@ public function testVisibilitySwitch(): void ->with(SessionManager::KEY_VISIBILITY, 'private') ; - $request = $this->createMock(Request::class); + $request = $this->createMock(ServerRequest::class); $response = new Response(); $result = $this->controller->visibility($request, $response, $arg); @@ -134,7 +134,7 @@ public function testVisibilityInvalidValue(): void ->with(SessionManager::KEY_VISIBILITY) ; - $request = $this->createMock(Request::class); + $request = $this->createMock(ServerRequest::class); $response = new Response(); $result = $this->controller->visibility($request, $response, $arg); @@ -165,7 +165,7 @@ public function testVisibilityLoggedOut(): void ->with(SessionManager::KEY_VISIBILITY) ; - $request = $this->createMock(Request::class); + $request = $this->createMock(ServerRequest::class); $response = new Response(); $result = $this->controller->visibility($request, $response, $arg); diff --git a/tests/front/controller/admin/ShaareAddControllerTest.php b/tests/front/controller/admin/ShaareAddControllerTest.php index a27ebe649..8184e05de 100644 --- a/tests/front/controller/admin/ShaareAddControllerTest.php +++ b/tests/front/controller/admin/ShaareAddControllerTest.php @@ -8,7 +8,7 @@ use Shaarli\Formatter\BookmarkMarkdownFormatter; use Shaarli\Http\HttpAccess; use Shaarli\TestCase; -use Slim\Http\Request; +use Slim\Http\ServerRequest; use Slim\Http\Response; class ShaareAddControllerTest extends TestCase @@ -34,7 +34,7 @@ public function testAddShaare(): void $assignedVariables = []; $this->assignTemplateVars($assignedVariables); - $request = $this->createMock(Request::class); + $request = $this->createMock(ServerRequest::class); $response = new Response(); $expectedTags = [ @@ -73,7 +73,7 @@ public function testAddShaareWithoutMd(): void $assignedVariables = []; $this->assignTemplateVars($assignedVariables); - $request = $this->createMock(Request::class); + $request = $this->createMock(ServerRequest::class); $response = new Response(); $expectedTags = [ diff --git a/tests/front/controller/admin/ShaareManageControllerTest/ChangeVisibilityBookmarkTest.php b/tests/front/controller/admin/ShaareManageControllerTest/ChangeVisibilityBookmarkTest.php index 28b1c0231..04c2fd693 100644 --- a/tests/front/controller/admin/ShaareManageControllerTest/ChangeVisibilityBookmarkTest.php +++ b/tests/front/controller/admin/ShaareManageControllerTest/ChangeVisibilityBookmarkTest.php @@ -14,7 +14,7 @@ use Shaarli\Http\HttpAccess; use Shaarli\Security\SessionManager; use Shaarli\TestCase; -use Slim\Http\Request; +use Slim\Http\ServerRequest; use Slim\Http\Response; class ChangeVisibilityBookmarkTest extends TestCase @@ -39,7 +39,7 @@ public function testSetSingleBookmarkPrivate(): void { $parameters = ['id' => '123', 'newVisibility' => 'private']; - $request = $this->createMock(Request::class); + $request = $this->createMock(ServerRequest::class); $request ->method('getParam') ->willReturnCallback(function (string $key) use ($parameters): ?string { @@ -87,7 +87,7 @@ public function testSetSingleBookmarkPublic(): void { $parameters = ['id' => '123', 'newVisibility' => 'public']; - $request = $this->createMock(Request::class); + $request = $this->createMock(ServerRequest::class); $request ->method('getParam') ->willReturnCallback(function (string $key) use ($parameters): ?string { @@ -133,7 +133,7 @@ public function testSetSinglePrivateBookmarkPrivate(): void { $parameters = ['id' => '123', 'newVisibility' => 'private']; - $request = $this->createMock(Request::class); + $request = $this->createMock(ServerRequest::class); $request ->method('getParam') ->willReturnCallback(function (string $key) use ($parameters): ?string { @@ -179,7 +179,7 @@ public function testSetMultipleBookmarksPrivate(): void { $parameters = ['id' => '123 456 789', 'newVisibility' => 'private']; - $request = $this->createMock(Request::class); + $request = $this->createMock(ServerRequest::class); $request ->method('getParam') ->willReturnCallback(function (string $key) use ($parameters): ?string { @@ -240,7 +240,7 @@ public function testChangeVisibilitySingleBookmarkNotFound(): void { $parameters = ['id' => '123', 'newVisibility' => 'private']; - $request = $this->createMock(Request::class); + $request = $this->createMock(ServerRequest::class); $request ->method('getParam') ->willReturnCallback(function (string $key) use ($parameters): ?string { @@ -284,7 +284,7 @@ public function testChangeVisibilityMultipleBookmarksOneNotFound(): void { $parameters = ['id' => '123 456 789', 'newVisibility' => 'public']; - $request = $this->createMock(Request::class); + $request = $this->createMock(ServerRequest::class); $request ->method('getParam') ->willReturnCallback(function (string $key) use ($parameters): ?string { @@ -347,7 +347,7 @@ public function testChangeVisibilityInvalidId(): void { $parameters = ['id' => 'nope not an ID', 'newVisibility' => 'private']; - $request = $this->createMock(Request::class); + $request = $this->createMock(ServerRequest::class); $request ->method('getParam') ->willReturnCallback(function (string $key) use ($parameters): ?string { @@ -373,7 +373,7 @@ public function testChangeVisibilityInvalidId(): void */ public function testChangeVisibilityEmptyId(): void { - $request = $this->createMock(Request::class); + $request = $this->createMock(ServerRequest::class); $response = new Response(); $this->container->sessionManager @@ -395,7 +395,7 @@ public function testChangeVisibilityWithInvalidVisibility(): void { $parameters = ['id' => '123', 'newVisibility' => 'invalid']; - $request = $this->createMock(Request::class); + $request = $this->createMock(ServerRequest::class); $request ->method('getParam') ->willReturnCallback(function (string $key) use ($parameters): ?string { diff --git a/tests/front/controller/admin/ShaareManageControllerTest/DeleteBookmarkTest.php b/tests/front/controller/admin/ShaareManageControllerTest/DeleteBookmarkTest.php index 42d0c0d65..ac57ffc23 100644 --- a/tests/front/controller/admin/ShaareManageControllerTest/DeleteBookmarkTest.php +++ b/tests/front/controller/admin/ShaareManageControllerTest/DeleteBookmarkTest.php @@ -13,7 +13,7 @@ use Shaarli\Http\HttpAccess; use Shaarli\Security\SessionManager; use Shaarli\TestCase; -use Slim\Http\Request; +use Slim\Http\ServerRequest; use Slim\Http\Response; class DeleteBookmarkTest extends TestCase @@ -40,7 +40,7 @@ public function testDeleteSingleBookmark(): void $this->container->environment['HTTP_REFERER'] = 'http://shaarli/subfolder/shaare/abcdef'; - $request = $this->createMock(Request::class); + $request = $this->createMock(ServerRequest::class); $request ->method('getParam') ->willReturnCallback(function (string $key) use ($parameters): ?string { @@ -94,7 +94,7 @@ public function testDeleteMultipleBookmarks(): void $this->container->environment['HTTP_REFERER'] = 'http://shaarli/subfolder/?searchtags=abcdef'; - $request = $this->createMock(Request::class); + $request = $this->createMock(ServerRequest::class); $request ->method('getParam') ->willReturnCallback(function (string $key) use ($parameters): ?string { @@ -166,7 +166,7 @@ public function testDeleteSingleBookmarkNotFound(): void { $parameters = ['id' => '123']; - $request = $this->createMock(Request::class); + $request = $this->createMock(ServerRequest::class); $request ->method('getParam') ->willReturnCallback(function (string $key) use ($parameters): ?string { @@ -215,7 +215,7 @@ public function testDeleteMultipleBookmarksOneNotFound(): void { $parameters = ['id' => '123 456 789']; - $request = $this->createMock(Request::class); + $request = $this->createMock(ServerRequest::class); $request ->method('getParam') ->willReturnCallback(function (string $key) use ($parameters): ?string { @@ -300,7 +300,7 @@ public function testDeleteInvalidId(): void { $parameters = ['id' => 'nope not an ID']; - $request = $this->createMock(Request::class); + $request = $this->createMock(ServerRequest::class); $request ->method('getParam') ->willReturnCallback(function (string $key) use ($parameters): ?string { @@ -326,7 +326,7 @@ public function testDeleteInvalidId(): void */ public function testDeleteEmptyId(): void { - $request = $this->createMock(Request::class); + $request = $this->createMock(ServerRequest::class); $response = new Response(); $this->container->sessionManager @@ -351,7 +351,7 @@ public function testDeleteBookmarkFromBookmarklet(): void 'source' => 'bookmarklet', ]; - $request = $this->createMock(Request::class); + $request = $this->createMock(ServerRequest::class); $request ->method('getParam') ->willReturnCallback(function (string $key) use ($parameters): ?string { @@ -393,7 +393,7 @@ public function testDeleteBookmarkFromBatch(): void 'source' => 'batch', ]; - $request = $this->createMock(Request::class); + $request = $this->createMock(ServerRequest::class); $request ->method('getParam') ->willReturnCallback(function (string $key) use ($parameters): ?string { diff --git a/tests/front/controller/admin/ShaareManageControllerTest/PinBookmarkTest.php b/tests/front/controller/admin/ShaareManageControllerTest/PinBookmarkTest.php index b89206ce1..bc4789069 100644 --- a/tests/front/controller/admin/ShaareManageControllerTest/PinBookmarkTest.php +++ b/tests/front/controller/admin/ShaareManageControllerTest/PinBookmarkTest.php @@ -11,7 +11,7 @@ use Shaarli\Http\HttpAccess; use Shaarli\Security\SessionManager; use Shaarli\TestCase; -use Slim\Http\Request; +use Slim\Http\ServerRequest; use Slim\Http\Response; class PinBookmarkTest extends TestCase @@ -38,7 +38,7 @@ public function testPinBookmarkIsStickyNull(?bool $sticky, bool $expectedValue): { $id = 123; - $request = $this->createMock(Request::class); + $request = $this->createMock(ServerRequest::class); $response = new Response(); $bookmark = (new Bookmark()) @@ -79,7 +79,7 @@ public function testDisplayEditFormInvalidId(): void { $id = 'invalid'; - $request = $this->createMock(Request::class); + $request = $this->createMock(ServerRequest::class); $response = new Response(); $this->container->sessionManager @@ -99,7 +99,7 @@ public function testDisplayEditFormInvalidId(): void */ public function testDisplayEditFormIdNotProvided(): void { - $request = $this->createMock(Request::class); + $request = $this->createMock(ServerRequest::class); $response = new Response(); $this->container->sessionManager @@ -121,7 +121,7 @@ public function testDisplayEditFormBookmarkNotFound(): void { $id = 123; - $request = $this->createMock(Request::class); + $request = $this->createMock(ServerRequest::class); $response = new Response(); $this->container->bookmarkService diff --git a/tests/front/controller/admin/ShaareManageControllerTest/SharePrivateTest.php b/tests/front/controller/admin/ShaareManageControllerTest/SharePrivateTest.php index ae61dfb7e..12461d6d4 100644 --- a/tests/front/controller/admin/ShaareManageControllerTest/SharePrivateTest.php +++ b/tests/front/controller/admin/ShaareManageControllerTest/SharePrivateTest.php @@ -9,7 +9,7 @@ use Shaarli\Front\Controller\Admin\ShaareManageController; use Shaarli\Http\HttpAccess; use Shaarli\TestCase; -use Slim\Http\Request; +use Slim\Http\ServerRequest; use Slim\Http\Response; /** @@ -36,7 +36,7 @@ public function setUp(): void public function testSharePrivateWithNewPrivateBookmark(): void { $hash = 'abcdcef'; - $request = $this->createMock(Request::class); + $request = $this->createMock(ServerRequest::class); $response = new Response(); $bookmark = (new Bookmark()) @@ -76,7 +76,7 @@ public function testSharePrivateWithExistingPrivateBookmark(): void { $hash = 'abcdcef'; $existingKey = 'this is a private key'; - $request = $this->createMock(Request::class); + $request = $this->createMock(ServerRequest::class); $response = new Response(); $bookmark = (new Bookmark()) @@ -110,7 +110,7 @@ public function testSharePrivateWithExistingPrivateBookmark(): void public function testSharePrivateWithPublicBookmark(): void { $hash = 'abcdcef'; - $request = $this->createMock(Request::class); + $request = $this->createMock(ServerRequest::class); $response = new Response(); $bookmark = (new Bookmark()) diff --git a/tests/front/controller/admin/ShaarePublishControllerTest/DisplayCreateBatchFormTest.php b/tests/front/controller/admin/ShaarePublishControllerTest/DisplayCreateBatchFormTest.php index ce8e112b6..a11338690 100644 --- a/tests/front/controller/admin/ShaarePublishControllerTest/DisplayCreateBatchFormTest.php +++ b/tests/front/controller/admin/ShaarePublishControllerTest/DisplayCreateBatchFormTest.php @@ -9,7 +9,7 @@ use Shaarli\Http\HttpAccess; use Shaarli\Http\MetadataRetriever; use Shaarli\TestCase; -use Slim\Http\Request; +use Slim\Http\ServerRequest; use Slim\Http\Response; class DisplayCreateBatchFormTest extends TestCase @@ -40,7 +40,7 @@ public function testDisplayCreateFormBatch(): void 'https://domain3.tld/url3', ]; - $request = $this->createMock(Request::class); + $request = $this->createMock(ServerRequest::class); $request->method('getParam')->willReturnCallback(function (string $key) use ($urls): ?string { return $key === 'urls' ? implode(PHP_EOL, $urls) : null; }); diff --git a/tests/front/controller/admin/ShaarePublishControllerTest/DisplayCreateFormTest.php b/tests/front/controller/admin/ShaarePublishControllerTest/DisplayCreateFormTest.php index 964773da1..56b490ee6 100644 --- a/tests/front/controller/admin/ShaarePublishControllerTest/DisplayCreateFormTest.php +++ b/tests/front/controller/admin/ShaarePublishControllerTest/DisplayCreateFormTest.php @@ -11,7 +11,7 @@ use Shaarli\Http\HttpAccess; use Shaarli\Http\MetadataRetriever; use Shaarli\TestCase; -use Slim\Http\Request; +use Slim\Http\ServerRequest; use Slim\Http\Response; class DisplayCreateFormTest extends TestCase @@ -49,7 +49,7 @@ public function testDisplayCreateFormWithUrlAndWithMetadataRetrieval(): void $remoteDesc = 'Sometimes the meta description is relevant.'; $remoteTags = 'abc def'; - $request = $this->createMock(Request::class); + $request = $this->createMock(ServerRequest::class); $request->method('getParam')->willReturnCallback(function (string $key) use ($url): ?string { return $key === 'post' ? $url : null; }); @@ -128,7 +128,7 @@ public function testDisplayCreateFormWithUrlAndWithoutMetadata(): void $url = 'http://url.tld/other?part=3&utm_ad=pay#hash'; $expectedUrl = str_replace('&utm_ad=pay', '', $url); - $request = $this->createMock(Request::class); + $request = $this->createMock(ServerRequest::class); $request->method('getParam')->willReturnCallback(function (string $key) use ($url): ?string { return $key === 'post' ? $url : null; }); @@ -198,7 +198,7 @@ public function testDisplayCreateFormWithFullParameters(): void ]; $expectedUrl = str_replace('&utm_ad=pay', '', $parameters['post']); - $request = $this->createMock(Request::class); + $request = $this->createMock(ServerRequest::class); $request ->method('getParam') ->willReturnCallback(function (string $key) use ($parameters): ?string { @@ -231,7 +231,7 @@ public function testDisplayCreateFormEmpty(): void $assignedVariables = []; $this->assignTemplateVars($assignedVariables); - $request = $this->createMock(Request::class); + $request = $this->createMock(ServerRequest::class); $response = new Response(); $this->container->httpAccess->expects(static::never())->method('getHttpResponse'); @@ -259,7 +259,7 @@ public function testDisplayCreateFormNotHttp(): void $this->assignTemplateVars($assignedVariables); $url = 'magnet://kubuntu.torrent'; - $request = $this->createMock(Request::class); + $request = $this->createMock(ServerRequest::class); $request ->method('getParam') ->willReturnCallback(function (string $key) use ($url): ?string { @@ -299,7 +299,7 @@ public function testDisplayCreateFormWithMarkdownEnabled(): void }) ; - $request = $this->createMock(Request::class); + $request = $this->createMock(ServerRequest::class); $response = new Response(); $result = $this->controller->displayCreateForm($request, $response); @@ -321,7 +321,7 @@ public function testDisplayCreateFormWithExistingUrl(): void $url = 'http://url.tld/other?part=3&utm_ad=pay#hash'; $expectedUrl = str_replace('&utm_ad=pay', '', $url); - $request = $this->createMock(Request::class); + $request = $this->createMock(ServerRequest::class); $request ->method('getParam') ->willReturnCallback(function (string $key) use ($url): ?string { diff --git a/tests/front/controller/admin/ShaarePublishControllerTest/DisplayEditFormTest.php b/tests/front/controller/admin/ShaarePublishControllerTest/DisplayEditFormTest.php index 738cea123..d6a141827 100644 --- a/tests/front/controller/admin/ShaarePublishControllerTest/DisplayEditFormTest.php +++ b/tests/front/controller/admin/ShaarePublishControllerTest/DisplayEditFormTest.php @@ -11,7 +11,7 @@ use Shaarli\Http\HttpAccess; use Shaarli\Security\SessionManager; use Shaarli\TestCase; -use Slim\Http\Request; +use Slim\Http\ServerRequest; use Slim\Http\Response; class DisplayEditFormTest extends TestCase @@ -40,7 +40,7 @@ public function testDisplayEditFormDefault(): void $id = 11; - $request = $this->createMock(Request::class); + $request = $this->createMock(ServerRequest::class); $response = new Response(); $this->container->httpAccess->expects(static::never())->method('getHttpResponse'); @@ -87,7 +87,7 @@ public function testDisplayEditFormInvalidId(): void { $id = 'invalid'; - $request = $this->createMock(Request::class); + $request = $this->createMock(ServerRequest::class); $response = new Response(); $this->container->sessionManager @@ -108,7 +108,7 @@ public function testDisplayEditFormInvalidId(): void */ public function testDisplayEditFormIdNotProvided(): void { - $request = $this->createMock(Request::class); + $request = $this->createMock(ServerRequest::class); $response = new Response(); $this->container->sessionManager @@ -131,7 +131,7 @@ public function testDisplayEditFormBookmarkNotFound(): void { $id = 123; - $request = $this->createMock(Request::class); + $request = $this->createMock(ServerRequest::class); $response = new Response(); $this->container->bookmarkService diff --git a/tests/front/controller/admin/ShaarePublishControllerTest/SaveBookmarkTest.php b/tests/front/controller/admin/ShaarePublishControllerTest/SaveBookmarkTest.php index 91c377e89..db1c81b4a 100644 --- a/tests/front/controller/admin/ShaarePublishControllerTest/SaveBookmarkTest.php +++ b/tests/front/controller/admin/ShaarePublishControllerTest/SaveBookmarkTest.php @@ -13,7 +13,7 @@ use Shaarli\Security\SessionManager; use Shaarli\TestCase; use Shaarli\Thumbnailer; -use Slim\Http\Request; +use Slim\Http\ServerRequest; use Slim\Http\Response; class SaveBookmarkTest extends TestCase @@ -46,7 +46,7 @@ public function testSaveBookmark(): void 'returnurl' => 'http://shaarli/subfolder/admin/add-shaare' ]; - $request = $this->createMock(Request::class); + $request = $this->createMock(ServerRequest::class); $request ->method('getParam') ->willReturnCallback(function (string $key) use ($parameters): ?string { @@ -132,7 +132,7 @@ public function testSaveExistingBookmark(): void 'returnurl' => 'http://shaarli/subfolder/?page=2' ]; - $request = $this->createMock(Request::class); + $request = $this->createMock(ServerRequest::class); $request ->method('getParam') ->willReturnCallback(function (string $key) use ($parameters): ?string { @@ -213,7 +213,7 @@ public function testSaveBookmarkWithThumbnailSync(): void { $parameters = ['lf_url' => 'http://url.tld/other?part=3#hash']; - $request = $this->createMock(Request::class); + $request = $this->createMock(ServerRequest::class); $request ->method('getParam') ->willReturnCallback(function (string $key) use ($parameters): ?string { @@ -263,7 +263,7 @@ public function testSaveBookmarkWithIdZero(): void { $parameters = ['lf_id' => '0']; - $request = $this->createMock(Request::class); + $request = $this->createMock(ServerRequest::class); $request ->method('getParam') ->willReturnCallback(function (string $key) use ($parameters): ?string { @@ -287,7 +287,7 @@ public function testSaveBookmarkWithThumbnailAsync(): void { $parameters = ['lf_url' => 'http://url.tld/other?part=3#hash']; - $request = $this->createMock(Request::class); + $request = $this->createMock(ServerRequest::class); $request ->method('getParam') ->willReturnCallback(function (string $key) use ($parameters): ?string { @@ -332,7 +332,7 @@ public function testSaveBookmarkFromBookmarklet(): void { $parameters = ['source' => 'bookmarklet']; - $request = $this->createMock(Request::class); + $request = $this->createMock(ServerRequest::class); $request ->method('getParam') ->willReturnCallback(function (string $key) use ($parameters): ?string { @@ -358,7 +358,7 @@ public function testSaveBookmarkWrongToken(): void $this->container->bookmarkService->expects(static::never())->method('addOrSet'); $this->container->bookmarkService->expects(static::never())->method('set'); - $request = $this->createMock(Request::class); + $request = $this->createMock(ServerRequest::class); $response = new Response(); $this->expectException(WrongTokenException::class); diff --git a/tests/front/controller/admin/ShaarliAdminControllerTest.php b/tests/front/controller/admin/ShaarliAdminControllerTest.php index 95ac76f1e..bda406aa8 100644 --- a/tests/front/controller/admin/ShaarliAdminControllerTest.php +++ b/tests/front/controller/admin/ShaarliAdminControllerTest.php @@ -7,7 +7,7 @@ use Shaarli\Front\Exception\WrongTokenException; use Shaarli\Security\SessionManager; use Shaarli\TestCase; -use Slim\Http\Request; +use Slim\Http\ServerRequest; /** * Class ShaarliControllerTest @@ -28,7 +28,7 @@ public function setUp(): void $this->controller = new class ($this->container) extends ShaarliAdminController { - public function checkToken(Request $request): bool + public function checkToken(ServerRequestInterface $request): bool { return parent::checkToken($request); } @@ -55,7 +55,7 @@ public function saveErrorMessage(string $message): void */ public function testCheckTokenWithValidToken(): void { - $request = $this->createMock(Request::class); + $request = $this->createMock(ServerRequest::class); $request->method('getParam')->with('token')->willReturn($token = '12345'); $this->container->sessionManager = $this->createMock(SessionManager::class); @@ -69,7 +69,7 @@ public function testCheckTokenWithValidToken(): void */ public function testCheckTokenWithNotValidToken(): void { - $request = $this->createMock(Request::class); + $request = $this->createMock(ServerRequest::class); $request->method('getParam')->with('token')->willReturn($token = '12345'); $this->container->sessionManager = $this->createMock(SessionManager::class); diff --git a/tests/front/controller/admin/ThumbnailsControllerTest.php b/tests/front/controller/admin/ThumbnailsControllerTest.php index 0c9b63c3a..50f9032ba 100644 --- a/tests/front/controller/admin/ThumbnailsControllerTest.php +++ b/tests/front/controller/admin/ThumbnailsControllerTest.php @@ -9,7 +9,7 @@ use Shaarli\Bookmark\SearchResult; use Shaarli\TestCase; use Shaarli\Thumbnailer; -use Slim\Http\Request; +use Slim\Http\ServerRequest; use Slim\Http\Response; class ThumbnailsControllerTest extends TestCase @@ -35,7 +35,7 @@ public function testIndex(): void $assignedVariables = []; $this->assignTemplateVars($assignedVariables); - $request = $this->createMock(Request::class); + $request = $this->createMock(ServerRequest::class); $response = new Response(); $this->container->bookmarkService @@ -63,7 +63,7 @@ public function testIndex(): void */ public function testAjaxUpdateValid(): void { - $request = $this->createMock(Request::class); + $request = $this->createMock(ServerRequest::class); $response = new Response(); $bookmark = (new Bookmark()) @@ -113,7 +113,7 @@ public function testAjaxUpdateValid(): void */ public function testAjaxUpdateInvalidId(): void { - $request = $this->createMock(Request::class); + $request = $this->createMock(ServerRequest::class); $response = new Response(); $result = $this->controller->ajaxUpdate($request, $response, ['id' => 'nope']); @@ -126,7 +126,7 @@ public function testAjaxUpdateInvalidId(): void */ public function testAjaxUpdateNoId(): void { - $request = $this->createMock(Request::class); + $request = $this->createMock(ServerRequest::class); $response = new Response(); $result = $this->controller->ajaxUpdate($request, $response, []); @@ -140,7 +140,7 @@ public function testAjaxUpdateNoId(): void public function testAjaxUpdateBookmarkNotFound(): void { $id = 123; - $request = $this->createMock(Request::class); + $request = $this->createMock(ServerRequest::class); $response = new Response(); $this->container->bookmarkService diff --git a/tests/front/controller/admin/TokenControllerTest.php b/tests/front/controller/admin/TokenControllerTest.php index d2f0907f5..f6455ed51 100644 --- a/tests/front/controller/admin/TokenControllerTest.php +++ b/tests/front/controller/admin/TokenControllerTest.php @@ -4,8 +4,8 @@ namespace Shaarli\Front\Controller\Admin; -use Shaarli\TestCase; -use Slim\Http\Request; +use Slim\Http\ServerRequest;Shaarli\TestCase; +use Slim\Http\ServerRequest; use Slim\Http\Response; class TokenControllerTest extends TestCase @@ -24,7 +24,7 @@ public function setUp(): void public function testGetToken(): void { - $request = $this->createMock(Request::class); + $request = $this->createMock(ServerRequest::class); $response = new Response(); $this->container->sessionManager diff --git a/tests/front/controller/admin/ToolsControllerTest.php b/tests/front/controller/admin/ToolsControllerTest.php index e82f8b143..0cafb9477 100644 --- a/tests/front/controller/admin/ToolsControllerTest.php +++ b/tests/front/controller/admin/ToolsControllerTest.php @@ -5,7 +5,7 @@ namespace Shaarli\Front\Controller\Admin; use Shaarli\TestCase; -use Slim\Http\Request; +use Slim\Http\ServerRequest; use Slim\Http\Response; class ToolsControllerTest extends TestCase @@ -24,7 +24,7 @@ public function setUp(): void public function testDefaultInvokeWithHttps(): void { - $request = $this->createMock(Request::class); + $request = $this->createMock(ServerRequest::class); $response = new Response(); $this->container->environment = [ @@ -47,7 +47,7 @@ public function testDefaultInvokeWithHttps(): void public function testDefaultInvokeWithoutHttps(): void { - $request = $this->createMock(Request::class); + $request = $this->createMock(ServerRequest::class); $response = new Response(); $this->container->environment = [ diff --git a/tests/front/controller/visitor/BookmarkListControllerTest.php b/tests/front/controller/visitor/BookmarkListControllerTest.php index cd2740cd0..bf0d40874 100644 --- a/tests/front/controller/visitor/BookmarkListControllerTest.php +++ b/tests/front/controller/visitor/BookmarkListControllerTest.php @@ -11,7 +11,7 @@ use Shaarli\Security\LoginManager; use Shaarli\TestCase; use Shaarli\Thumbnailer; -use Slim\Http\Request; +use Slim\Http\ServerRequest; use Slim\Http\Response; class BookmarkListControllerTest extends TestCase @@ -36,7 +36,7 @@ public function testIndexDefaultFirstPage(): void $assignedVariables = []; $this->assignTemplateVars($assignedVariables); - $request = $this->createMock(Request::class); + $request = $this->createMock(ServerRequest::class); $response = new Response(); $this->container->bookmarkService @@ -104,7 +104,7 @@ public function testIndexDefaultSecondPage(): void $assignedVariables = []; $this->assignTemplateVars($assignedVariables); - $request = $this->createMock(Request::class); + $request = $this->createMock(ServerRequest::class); $request->method('getParam')->willReturnCallback(function (string $key) { if ('page' === $key) { return '2'; @@ -174,7 +174,7 @@ public function testIndexDefaultWithFilters(): void $assignedVariables = []; $this->assignTemplateVars($assignedVariables); - $request = $this->createMock(Request::class); + $request = $this->createMock(ServerRequest::class); $request->method('getParam')->willReturnCallback(function (string $key) { if ('searchtags' === $key) { return 'abc@def'; @@ -241,7 +241,7 @@ public function testPermalinkValid(): void $assignedVariables = []; $this->assignTemplateVars($assignedVariables); - $request = $this->createMock(Request::class); + $request = $this->createMock(ServerRequest::class); $response = new Response(); $this->container->bookmarkService @@ -276,7 +276,7 @@ public function testPermalinkNotFound(): void $assignedVariables = []; $this->assignTemplateVars($assignedVariables); - $request = $this->createMock(Request::class); + $request = $this->createMock(ServerRequest::class); $response = new Response(); $this->container->bookmarkService @@ -308,7 +308,7 @@ public function testPermalinkWithPrivateKey(): void $assignedVariables = []; $this->assignTemplateVars($assignedVariables); - $request = $this->createMock(Request::class); + $request = $this->createMock(ServerRequest::class); $request->method('getParam')->willReturnCallback(function (string $key, $default = null) use ($privateKey) { return $key === 'key' ? $privateKey : $default; }); @@ -334,7 +334,7 @@ public function testPermalinkWithPrivateKey(): void */ public function testThumbnailUpdateFromLinkList(): void { - $request = $this->createMock(Request::class); + $request = $this->createMock(ServerRequest::class); $response = new Response(); $this->container->loginManager = $this->createMock(LoginManager::class); @@ -390,7 +390,7 @@ public function testThumbnailUpdateFromLinkList(): void */ public function testThumbnailUpdateFromPermalink(): void { - $request = $this->createMock(Request::class); + $request = $this->createMock(ServerRequest::class); $response = new Response(); $this->container->loginManager = $this->createMock(LoginManager::class); @@ -432,7 +432,7 @@ public function testThumbnailUpdateFromPermalink(): void */ public function testThumbnailUpdateFromPermalinkAsync(): void { - $request = $this->createMock(Request::class); + $request = $this->createMock(ServerRequest::class); $response = new Response(); $this->container->loginManager = $this->createMock(LoginManager::class); @@ -476,7 +476,7 @@ public function testLegacyControllerPermalink(): void $hash = 'abcdef'; $this->container->environment['QUERY_STRING'] = $hash; - $request = $this->createMock(Request::class); + $request = $this->createMock(ServerRequest::class); $response = new Response(); $result = $this->controller->index($request, $response); @@ -490,7 +490,7 @@ public function testLegacyControllerPermalink(): void */ public function testLegacyControllerDoPage(): void { - $request = $this->createMock(Request::class); + $request = $this->createMock(ServerRequest::class); $request->method('getQueryParam')->with('do')->willReturn('picwall'); $response = new Response(); @@ -505,7 +505,7 @@ public function testLegacyControllerDoPage(): void */ public function testLegacyControllerUnknownDoPage(): void { - $request = $this->createMock(Request::class); + $request = $this->createMock(ServerRequest::class); $request->method('getQueryParam')->with('do')->willReturn('nope'); $response = new Response(); @@ -520,7 +520,7 @@ public function testLegacyControllerUnknownDoPage(): void */ public function testLegacyControllerGetParameter(): void { - $request = $this->createMock(Request::class); + $request = $this->createMock(ServerRequest::class); $request->method('getQueryParams')->willReturn(['post' => $url = 'http://url.tld']); $response = new Response(); diff --git a/tests/front/controller/visitor/DailyControllerTest.php b/tests/front/controller/visitor/DailyControllerTest.php index a0dd54e10..f09907c6c 100644 --- a/tests/front/controller/visitor/DailyControllerTest.php +++ b/tests/front/controller/visitor/DailyControllerTest.php @@ -8,7 +8,7 @@ use Shaarli\Bookmark\SearchResult; use Shaarli\Feed\CachedPage; use Shaarli\TestCase; -use Slim\Http\Request; +use Slim\Http\ServerRequest; use Slim\Http\Response; class DailyControllerTest extends TestCase @@ -32,7 +32,7 @@ public function testValidIndexControllerInvokeDefault(): void $previousDate = new \DateTime('2 days ago 00:00:00'); $nextDate = new \DateTime('today 00:00:00'); - $request = $this->createMock(Request::class); + $request = $this->createMock(ServerRequest::class); $request->method('getQueryParam')->willReturnCallback(function (string $key) use ($currentDay): ?string { return $key === 'day' ? $currentDay->format('Ymd') : null; }); @@ -175,7 +175,7 @@ public function testValidIndexControllerInvokeNoFutureOrPast(): void { $currentDay = new \DateTimeImmutable('2020-05-13'); - $request = $this->createMock(Request::class); + $request = $this->createMock(ServerRequest::class); $request->method('getQueryParam')->willReturnCallback(function (string $key) use ($currentDay): ?string { return $key === 'day' ? $currentDay->format('Ymd') : null; }); @@ -241,7 +241,7 @@ public function testValidIndexControllerInvokeHeightAdjustment(): void { $currentDay = new \DateTimeImmutable('2020-05-13'); - $request = $this->createMock(Request::class); + $request = $this->createMock(ServerRequest::class); $response = new Response(); // Save RainTPL assigned variables @@ -300,7 +300,7 @@ public function testValidIndexControllerInvokeHeightAdjustment(): void */ public function testValidIndexControllerInvokeNoBookmark(): void { - $request = $this->createMock(Request::class); + $request = $this->createMock(ServerRequest::class); $response = new Response(); // Save RainTPL assigned variables @@ -347,7 +347,7 @@ public function testValidRssControllerInvokeDefault(): void new \DateTimeImmutable('+1 month'), ]; - $request = $this->createMock(Request::class); + $request = $this->createMock(ServerRequest::class); $response = new Response(); $this->container->bookmarkService->expects(static::once())->method('search')->willReturn( @@ -431,7 +431,7 @@ public function testValidRssControllerInvokeDefault(): void */ public function testValidRssControllerInvokeTriggerCache(): void { - $request = $this->createMock(Request::class); + $request = $this->createMock(ServerRequest::class); $response = new Response(); $this->container->pageCacheManager->method('getCachePage')->willReturnCallback(function (): CachedPage { @@ -455,7 +455,7 @@ public function testValidRssControllerInvokeTriggerCache(): void */ public function testValidRssControllerInvokeNoBookmark(): void { - $request = $this->createMock(Request::class); + $request = $this->createMock(ServerRequest::class); $response = new Response(); $this->container->bookmarkService @@ -486,7 +486,7 @@ public function testSimpleIndexWeekly(): void $currentDay = new \DateTimeImmutable('2020-05-13'); $expectedDay = new \DateTimeImmutable('2020-05-11'); - $request = $this->createMock(Request::class); + $request = $this->createMock(ServerRequest::class); $request->method('getQueryParam')->willReturnCallback(function (string $key) use ($currentDay): ?string { return $key === 'week' ? $currentDay->format('YW') : null; }); @@ -546,7 +546,7 @@ public function testSimpleIndexMonthly(): void $currentDay = new \DateTimeImmutable('2020-05-13'); $expectedDay = new \DateTimeImmutable('2020-05-01'); - $request = $this->createMock(Request::class); + $request = $this->createMock(ServerRequest::class); $request->method('getQueryParam')->willReturnCallback(function (string $key) use ($currentDay): ?string { return $key === 'month' ? $currentDay->format('Ym') : null; }); @@ -613,7 +613,7 @@ public function testSimpleRssWeekly(): void ]; $this->container->environment['QUERY_STRING'] = 'week'; - $request = $this->createMock(Request::class); + $request = $this->createMock(ServerRequest::class); $request->method('getQueryParam')->willReturnCallback(function (string $key): ?string { return $key === 'week' ? '' : null; }); @@ -676,7 +676,7 @@ public function testSimpleRssMonthly(): void ]; $this->container->environment['QUERY_STRING'] = 'month'; - $request = $this->createMock(Request::class); + $request = $this->createMock(ServerRequest::class); $request->method('getQueryParam')->willReturnCallback(function (string $key): ?string { return $key === 'month' ? '' : null; }); diff --git a/tests/front/controller/visitor/ErrorControllerTest.php b/tests/front/controller/visitor/ErrorControllerTest.php index e0dc8db86..ed7dc6b99 100644 --- a/tests/front/controller/visitor/ErrorControllerTest.php +++ b/tests/front/controller/visitor/ErrorControllerTest.php @@ -6,7 +6,7 @@ use Shaarli\Front\Exception\ShaarliFrontException; use Shaarli\TestCase; -use Slim\Http\Request; +use Slim\Http\ServerRequest; use Slim\Http\Response; class ErrorControllerTest extends TestCase @@ -28,7 +28,7 @@ public function setUp(): void */ public function testDisplayFrontExceptionError(): void { - $request = $this->createMock(Request::class); + $request = $this->createMock(ServerRequest::class); $response = new Response(); $message = 'error message'; @@ -56,7 +56,7 @@ public function testDisplayFrontExceptionError(): void */ public function testDisplayAnyExceptionErrorNoDebugLoggedIn(): void { - $request = $this->createMock(Request::class); + $request = $this->createMock(ServerRequest::class); $response = new Response(); // Save RainTPL assigned variables @@ -79,7 +79,7 @@ public function testDisplayAnyExceptionErrorNoDebugLoggedIn(): void */ public function testDisplayAnyExceptionErrorNoDebug(): void { - $request = $this->createMock(Request::class); + $request = $this->createMock(ServerRequest::class); $response = new Response(); // Save RainTPL assigned variables diff --git a/tests/front/controller/visitor/ErrorNotFoundControllerTest.php b/tests/front/controller/visitor/ErrorNotFoundControllerTest.php index a1cbbecfc..a0dafff18 100644 --- a/tests/front/controller/visitor/ErrorNotFoundControllerTest.php +++ b/tests/front/controller/visitor/ErrorNotFoundControllerTest.php @@ -5,7 +5,7 @@ namespace Shaarli\Front\Controller\Visitor; use Shaarli\TestCase; -use Slim\Http\Request; +use Slim\Http\ServerRequest; use Slim\Http\Response; use Slim\Http\Uri; @@ -28,7 +28,7 @@ public function setUp(): void */ public function testDisplayNotFoundError(): void { - $request = $this->createMock(Request::class); + $request = $this->createMock(ServerRequest::class); $request->expects(static::once())->method('getRequestTarget')->willReturn('/'); $request->method('getUri')->willReturnCallback(function (): Uri { $uri = $this->createMock(Uri::class); @@ -58,7 +58,7 @@ public function testDisplayNotFoundError(): void */ public function testDisplayNotFoundErrorFromAPI(): void { - $request = $this->createMock(Request::class); + $request = $this->createMock(ServerRequest::class); $request->expects(static::once())->method('getRequestTarget')->willReturn('/sufolder/api/v1/links'); $request->method('getUri')->willReturnCallback(function (): Uri { $uri = $this->createMock(Uri::class); diff --git a/tests/front/controller/visitor/FeedControllerTest.php b/tests/front/controller/visitor/FeedControllerTest.php index 4ae7c9252..004d2b2ed 100644 --- a/tests/front/controller/visitor/FeedControllerTest.php +++ b/tests/front/controller/visitor/FeedControllerTest.php @@ -6,7 +6,7 @@ use Shaarli\Feed\FeedBuilder; use Shaarli\TestCase; -use Slim\Http\Request; +use Slim\Http\ServerRequest; use Slim\Http\Response; class FeedControllerTest extends TestCase @@ -30,7 +30,7 @@ public function setUp(): void */ public function testDefaultRssController(): void { - $request = $this->createMock(Request::class); + $request = $this->createMock(ServerRequest::class); $response = new Response(); $this->container->feedBuilder->expects(static::once())->method('setLocale'); @@ -71,7 +71,7 @@ public function testDefaultRssController(): void */ public function testDefaultAtomController(): void { - $request = $this->createMock(Request::class); + $request = $this->createMock(ServerRequest::class); $response = new Response(); $this->container->feedBuilder->expects(static::once())->method('setLocale'); @@ -112,7 +112,7 @@ public function testDefaultAtomController(): void */ public function testAtomControllerWithParameters(): void { - $request = $this->createMock(Request::class); + $request = $this->createMock(ServerRequest::class); $request->method('getParams')->willReturn(['parameter' => 'value']); $response = new Response(); diff --git a/tests/front/controller/visitor/InstallControllerTest.php b/tests/front/controller/visitor/InstallControllerTest.php index ea29592ce..dc0f70111 100644 --- a/tests/front/controller/visitor/InstallControllerTest.php +++ b/tests/front/controller/visitor/InstallControllerTest.php @@ -8,7 +8,7 @@ use Shaarli\Front\Exception\AlreadyInstalledException; use Shaarli\Security\SessionManager; use Shaarli\TestCase; -use Slim\Http\Request; +use Slim\Http\ServerRequest; use Slim\Http\Response; class InstallControllerTest extends TestCase @@ -52,7 +52,7 @@ public function testInstallIndexWithValidSession(): void $assignedVariables = []; $this->assignTemplateVars($assignedVariables); - $request = $this->createMock(Request::class); + $request = $this->createMock(ServerRequest::class); $response = new Response(); $this->container->sessionManager = $this->createMock(SessionManager::class); @@ -107,7 +107,7 @@ public function testInstallWithExistingConfigFile(): void */ public function testInstallRedirectToSessionTest(): void { - $request = $this->createMock(Request::class); + $request = $this->createMock(ServerRequest::class); $response = new Response(); $this->container->sessionManager = $this->createMock(SessionManager::class); @@ -128,7 +128,7 @@ public function testInstallRedirectToSessionTest(): void */ public function testInstallSessionTestValid(): void { - $request = $this->createMock(Request::class); + $request = $this->createMock(ServerRequest::class); $response = new Response(); $this->container->sessionManager = $this->createMock(SessionManager::class); @@ -152,7 +152,7 @@ public function testInstallSessionTestError(): void $assignedVars = []; $this->assignTemplateVars($assignedVars); - $request = $this->createMock(Request::class); + $request = $this->createMock(ServerRequest::class); $response = new Response(); $this->container->sessionManager = $this->createMock(SessionManager::class); @@ -201,7 +201,7 @@ public function testSaveInstallValid(): void 'general.header_link' => '/subfolder', ]; - $request = $this->createMock(Request::class); + $request = $this->createMock(ServerRequest::class); $request->method('getParam')->willReturnCallback(function (string $key) use ($providedParameters) { return $providedParameters[$key] ?? null; }); @@ -253,7 +253,7 @@ public function testSaveInstallDefaultValues(): void { $confSettings = []; - $request = $this->createMock(Request::class); + $request = $this->createMock(ServerRequest::class); $response = new Response(); $this->container->conf->method('set')->willReturnCallback(function (string $key, $value) use (&$confSettings) { @@ -286,7 +286,7 @@ public function testSaveInstallDefaultValuesWithoutSubfolder(): void $this->container->basePath = ''; - $request = $this->createMock(Request::class); + $request = $this->createMock(ServerRequest::class); $response = new Response(); $this->container->conf->method('set')->willReturnCallback(function (string $key, $value) use (&$confSettings) { diff --git a/tests/front/controller/visitor/LoginControllerTest.php b/tests/front/controller/visitor/LoginControllerTest.php index 00d9eab3b..0304260cd 100644 --- a/tests/front/controller/visitor/LoginControllerTest.php +++ b/tests/front/controller/visitor/LoginControllerTest.php @@ -11,7 +11,7 @@ use Shaarli\Security\CookieManager; use Shaarli\Security\SessionManager; use Shaarli\TestCase; -use Slim\Http\Request; +use Slim\Http\ServerRequest; use Slim\Http\Response; class LoginControllerTest extends TestCase @@ -36,7 +36,7 @@ public function setUp(): void */ public function testValidControllerInvoke(): void { - $request = $this->createMock(Request::class); + $request = $this->createMock(ServerRequest::class); $request ->expects(static::atLeastOnce()) ->method('getParam') @@ -76,7 +76,7 @@ public function testValidControllerInvokeWithUserName(): void { $this->container->environment = ['HTTP_REFERER' => '> referer']; - $request = $this->createMock(Request::class); + $request = $this->createMock(ServerRequest::class); $request ->expects(static::atLeastOnce()) ->method('getParam') @@ -119,7 +119,7 @@ public function testValidControllerInvokeWithUserName(): void */ public function testLoginControllerWhileLoggedIn(): void { - $request = $this->createMock(Request::class); + $request = $this->createMock(ServerRequest::class); $response = new Response(); $this->container->loginManager->expects(static::once())->method('isLoggedIn')->willReturn(true); @@ -136,7 +136,7 @@ public function testLoginControllerWhileLoggedIn(): void */ public function testLoginControllerOpenShaarli(): void { - $request = $this->createMock(Request::class); + $request = $this->createMock(ServerRequest::class); $response = new Response(); $conf = $this->createMock(ConfigManager::class); @@ -160,7 +160,7 @@ public function testLoginControllerOpenShaarli(): void */ public function testLoginControllerWhileBanned(): void { - $request = $this->createMock(Request::class); + $request = $this->createMock(ServerRequest::class); $response = new Response(); $this->container->loginManager->method('isLoggedIn')->willReturn(false); @@ -180,7 +180,7 @@ public function testProcessLoginWithValidParameters(): void 'login' => 'bob', 'password' => 'pass', ]; - $request = $this->createMock(Request::class); + $request = $this->createMock(ServerRequest::class); $request ->expects(static::atLeastOnce()) ->method('getParam') @@ -224,7 +224,7 @@ public function testProcessLoginWithReturnUrl(): void $parameters = [ 'returnurl' => 'http://shaarli/subfolder/admin/shaare', ]; - $request = $this->createMock(Request::class); + $request = $this->createMock(ServerRequest::class); $request ->expects(static::atLeastOnce()) ->method('getParam') @@ -253,7 +253,7 @@ public function testProcessLoginLongLastingSession(): void $parameters = [ 'longlastingsession' => true, ]; - $request = $this->createMock(Request::class); + $request = $this->createMock(ServerRequest::class); $request ->expects(static::atLeastOnce()) ->method('getParam') @@ -303,7 +303,7 @@ public function testProcessLoginWrongCredentials(): void $parameters = [ 'returnurl' => 'http://shaarli/subfolder/admin/shaare', ]; - $request = $this->createMock(Request::class); + $request = $this->createMock(ServerRequest::class); $request ->expects(static::atLeastOnce()) ->method('getParam') @@ -334,7 +334,7 @@ public function testProcessLoginWrongCredentials(): void */ public function testProcessLoginWrongToken(): void { - $request = $this->createMock(Request::class); + $request = $this->createMock(ServerRequest::class); $response = new Response(); $this->container->sessionManager = $this->createMock(SessionManager::class); @@ -350,7 +350,7 @@ public function testProcessLoginWrongToken(): void */ public function testProcessLoginAlreadyLoggedIn(): void { - $request = $this->createMock(Request::class); + $request = $this->createMock(ServerRequest::class); $response = new Response(); $this->container->loginManager->method('isLoggedIn')->willReturn(true); @@ -368,7 +368,7 @@ public function testProcessLoginAlreadyLoggedIn(): void */ public function testProcessLoginInOpenShaarli(): void { - $request = $this->createMock(Request::class); + $request = $this->createMock(ServerRequest::class); $response = new Response(); $this->container->conf = $this->createMock(ConfigManager::class); @@ -390,7 +390,7 @@ public function testProcessLoginInOpenShaarli(): void */ public function testProcessLoginWhileBanned(): void { - $request = $this->createMock(Request::class); + $request = $this->createMock(ServerRequest::class); $response = new Response(); $this->container->loginManager->method('canLogin')->willReturn(false); diff --git a/tests/front/controller/visitor/OpenSearchControllerTest.php b/tests/front/controller/visitor/OpenSearchControllerTest.php index 42d876c36..f7528e7f2 100644 --- a/tests/front/controller/visitor/OpenSearchControllerTest.php +++ b/tests/front/controller/visitor/OpenSearchControllerTest.php @@ -5,7 +5,7 @@ namespace Shaarli\Front\Controller\Visitor; use Shaarli\TestCase; -use Slim\Http\Request; +use Slim\Http\ServerRequest; use Slim\Http\Response; class OpenSearchControllerTest extends TestCase @@ -24,7 +24,7 @@ public function setUp(): void public function testOpenSearchController(): void { - $request = $this->createMock(Request::class); + $request = $this->createMock(ServerRequest::class); $response = new Response(); // Save RainTPL assigned variables diff --git a/tests/front/controller/visitor/PictureWallControllerTest.php b/tests/front/controller/visitor/PictureWallControllerTest.php index 429e99a2d..f811d113e 100644 --- a/tests/front/controller/visitor/PictureWallControllerTest.php +++ b/tests/front/controller/visitor/PictureWallControllerTest.php @@ -10,7 +10,7 @@ use Shaarli\Front\Exception\ThumbnailsDisabledException; use Shaarli\TestCase; use Shaarli\Thumbnailer; -use Slim\Http\Request; +use Slim\Http\ServerRequest; use Slim\Http\Response; class PictureWallControllerTest extends TestCase @@ -29,7 +29,7 @@ public function setUp(): void public function testValidControllerInvokeDefault(): void { - $request = $this->createMock(Request::class); + $request = $this->createMock(ServerRequest::class); $request->expects(static::once())->method('getQueryParams')->willReturn([]); $response = new Response(); @@ -107,7 +107,7 @@ public function testControllerWithThumbnailsDisabled(): void { $this->expectException(ThumbnailsDisabledException::class); - $request = $this->createMock(Request::class); + $request = $this->createMock(ServerRequest::class); $response = new Response(); // ConfigManager: thumbnails are disabled diff --git a/tests/front/controller/visitor/PublicSessionFilterControllerTest.php b/tests/front/controller/visitor/PublicSessionFilterControllerTest.php index 7e3b00afa..b89b20902 100644 --- a/tests/front/controller/visitor/PublicSessionFilterControllerTest.php +++ b/tests/front/controller/visitor/PublicSessionFilterControllerTest.php @@ -6,7 +6,7 @@ use Shaarli\Security\SessionManager; use Shaarli\TestCase; -use Slim\Http\Request; +use Slim\Http\ServerRequest; use Slim\Http\Response; class PublicSessionFilterControllerTest extends TestCase @@ -30,7 +30,7 @@ public function testLinksPerPage(): void { $this->container->environment['HTTP_REFERER'] = 'http://shaarli/subfolder/controller/?searchtag=abc'; - $request = $this->createMock(Request::class); + $request = $this->createMock(ServerRequest::class); $request->method('getParam')->with('nb')->willReturn('8'); $response = new Response(); @@ -52,7 +52,7 @@ public function testLinksPerPage(): void */ public function testLinksPerPageNotValid(): void { - $request = $this->createMock(Request::class); + $request = $this->createMock(ServerRequest::class); $request->method('getParam')->with('nb')->willReturn('test'); $response = new Response(); @@ -76,7 +76,7 @@ public function testUntaggedOnly(): void { $this->container->environment['HTTP_REFERER'] = 'http://shaarli/subfolder/controller/?searchtag=abc'; - $request = $this->createMock(Request::class); + $request = $this->createMock(ServerRequest::class); $response = new Response(); $this->container->sessionManager @@ -99,7 +99,7 @@ public function testUntaggedOnlyToggleOff(): void { $this->container->environment['HTTP_REFERER'] = 'http://shaarli/subfolder/controller/?searchtag=abc'; - $request = $this->createMock(Request::class); + $request = $this->createMock(ServerRequest::class); $response = new Response(); $this->container->sessionManager diff --git a/tests/front/controller/visitor/ShaarliVisitorControllerTest.php b/tests/front/controller/visitor/ShaarliVisitorControllerTest.php index 61886f7d4..72e9f255b 100644 --- a/tests/front/controller/visitor/ShaarliVisitorControllerTest.php +++ b/tests/front/controller/visitor/ShaarliVisitorControllerTest.php @@ -6,7 +6,7 @@ use Shaarli\Bookmark\BookmarkFilter; use Shaarli\TestCase; -use Slim\Http\Request; +use Slim\Http\ServerRequest; use Slim\Http\Response; /** @@ -25,7 +25,7 @@ class ShaarliVisitorControllerTest extends TestCase /** @var mixed[] List of variable assigned to the template */ protected $assignedValues; - /** @var Request */ + /** @var ServerRequestInterface */ protected $request; public function setUp(): void @@ -45,7 +45,7 @@ public function render(string $template): string } public function redirectFromReferer( - Request $request, + ServerRequestInterface $request, Response $response, array $loopTerms = [], array $clearParams = [], @@ -56,7 +56,7 @@ public function redirectFromReferer( }; $this->assignedValues = []; - $this->request = $this->createMock(Request::class); + $this->request = $this->createMock(ServerRequest::class); } public function testAssignView(): void diff --git a/tests/front/controller/visitor/TagCloudControllerTest.php b/tests/front/controller/visitor/TagCloudControllerTest.php index f25094614..53fddce7f 100644 --- a/tests/front/controller/visitor/TagCloudControllerTest.php +++ b/tests/front/controller/visitor/TagCloudControllerTest.php @@ -6,7 +6,7 @@ use Shaarli\Bookmark\BookmarkFilter; use Shaarli\TestCase; -use Slim\Http\Request; +use Slim\Http\ServerRequest; use Slim\Http\Response; class TagCloudControllerTest extends TestCase @@ -35,7 +35,7 @@ public function testValidCloudControllerInvokeDefault(): void ]; $expectedOrder = ['abc', 'def', 'ghi']; - $request = $this->createMock(Request::class); + $request = $this->createMock(ServerRequest::class); $response = new Response(); // Save RainTPL assigned variables @@ -94,7 +94,7 @@ public function testValidCloudControllerInvokeDefault(): void */ public function testValidCloudControllerInvokeWithParameters(): void { - $request = $this->createMock(Request::class); + $request = $this->createMock(ServerRequest::class); $request ->method('getQueryParam') ->with() @@ -161,7 +161,7 @@ public function testValidCloudControllerInvokeWithParameters(): void */ public function testEmptyCloud(): void { - $request = $this->createMock(Request::class); + $request = $this->createMock(ServerRequest::class); $response = new Response(); // Save RainTPL assigned variables @@ -215,7 +215,7 @@ public function testValidListControllerInvokeDefault(): void 'ghi' => 1, ]; - $request = $this->createMock(Request::class); + $request = $this->createMock(ServerRequest::class); $response = new Response(); // Save RainTPL assigned variables @@ -271,7 +271,7 @@ public function testValidListControllerInvokeDefault(): void */ public function testValidListControllerInvokeWithParameters(): void { - $request = $this->createMock(Request::class); + $request = $this->createMock(ServerRequest::class); $request ->method('getQueryParam') ->with() @@ -336,7 +336,7 @@ public function testValidListControllerInvokeWithParameters(): void */ public function testEmptyList(): void { - $request = $this->createMock(Request::class); + $request = $this->createMock(ServerRequest::class); $response = new Response(); // Save RainTPL assigned variables diff --git a/tests/front/controller/visitor/TagControllerTest.php b/tests/front/controller/visitor/TagControllerTest.php index 5a556c6de..1339095d3 100644 --- a/tests/front/controller/visitor/TagControllerTest.php +++ b/tests/front/controller/visitor/TagControllerTest.php @@ -5,7 +5,7 @@ namespace Shaarli\Front\Controller\Visitor; use Shaarli\TestCase; -use Slim\Http\Request; +use Slim\Http\ServerRequest; use Slim\Http\Response; class TagControllerTest extends TestCase @@ -25,7 +25,7 @@ public function testAddTagWithReferer(): void { $this->container->environment = ['HTTP_REFERER' => 'http://shaarli/controller/']; - $request = $this->createMock(Request::class); + $request = $this->createMock(ServerRequest::class); $response = new Response(); $tags = ['newTag' => 'abc']; @@ -41,7 +41,7 @@ public function testAddTagWithRefererAndExistingSearch(): void { $this->container->environment = ['HTTP_REFERER' => 'http://shaarli/controller/?searchtags=def']; - $request = $this->createMock(Request::class); + $request = $this->createMock(ServerRequest::class); $response = new Response(); $tags = ['newTag' => 'abc']; @@ -55,7 +55,7 @@ public function testAddTagWithRefererAndExistingSearch(): void public function testAddTagWithoutRefererAndExistingSearch(): void { - $request = $this->createMock(Request::class); + $request = $this->createMock(ServerRequest::class); $response = new Response(); $tags = ['newTag' => 'abc']; @@ -71,7 +71,7 @@ public function testAddTagRemoveLegacyQueryParam(): void { $this->container->environment = ['HTTP_REFERER' => 'http://shaarli/controller/?searchtags=def&addtag=abc']; - $request = $this->createMock(Request::class); + $request = $this->createMock(ServerRequest::class); $response = new Response(); $tags = ['newTag' => 'abc']; @@ -87,7 +87,7 @@ public function testAddTagResetPagination(): void { $this->container->environment = ['HTTP_REFERER' => 'http://shaarli/controller/?searchtags=def&page=12']; - $request = $this->createMock(Request::class); + $request = $this->createMock(ServerRequest::class); $response = new Response(); $tags = ['newTag' => 'abc']; @@ -103,7 +103,7 @@ public function testAddTagWithRefererAndEmptySearch(): void { $this->container->environment = ['HTTP_REFERER' => 'http://shaarli/controller/?searchtags=']; - $request = $this->createMock(Request::class); + $request = $this->createMock(ServerRequest::class); $response = new Response(); $tags = ['newTag' => 'abc']; @@ -119,7 +119,7 @@ public function testAddTagWithoutNewTagWithReferer(): void { $this->container->environment = ['HTTP_REFERER' => 'http://shaarli/controller/?searchtags=def']; - $request = $this->createMock(Request::class); + $request = $this->createMock(ServerRequest::class); $response = new Response(); $result = $this->controller->addTag($request, $response, []); @@ -131,7 +131,7 @@ public function testAddTagWithoutNewTagWithReferer(): void public function testAddTagWithoutNewTagWithoutReferer(): void { - $request = $this->createMock(Request::class); + $request = $this->createMock(ServerRequest::class); $response = new Response(); $result = $this->controller->addTag($request, $response, []); @@ -145,7 +145,7 @@ public function testRemoveTagWithoutMatchingTag(): void { $this->container->environment = ['HTTP_REFERER' => 'http://shaarli/controller/?searchtags=def']; - $request = $this->createMock(Request::class); + $request = $this->createMock(ServerRequest::class); $response = new Response(); $tags = ['tag' => 'abc']; @@ -161,7 +161,7 @@ public function testRemoveTagWithoutTagsearch(): void { $this->container->environment = ['HTTP_REFERER' => 'http://shaarli/controller/']; - $request = $this->createMock(Request::class); + $request = $this->createMock(ServerRequest::class); $response = new Response(); $tags = ['tag' => 'abc']; @@ -175,7 +175,7 @@ public function testRemoveTagWithoutTagsearch(): void public function testRemoveTagWithoutReferer(): void { - $request = $this->createMock(Request::class); + $request = $this->createMock(ServerRequest::class); $response = new Response(); $tags = ['tag' => 'abc']; @@ -191,7 +191,7 @@ public function testRemoveTagWithoutTag(): void { $this->container->environment = ['HTTP_REFERER' => 'http://shaarli/controller/?searchtag=abc']; - $request = $this->createMock(Request::class); + $request = $this->createMock(ServerRequest::class); $response = new Response(); $result = $this->controller->removeTag($request, $response, []); @@ -203,7 +203,7 @@ public function testRemoveTagWithoutTag(): void public function testRemoveTagWithoutTagWithoutReferer(): void { - $request = $this->createMock(Request::class); + $request = $this->createMock(ServerRequest::class); $response = new Response(); $result = $this->controller->removeTag($request, $response, []); diff --git a/tests/helper/DailyPageHelperTest.php b/tests/helper/DailyPageHelperTest.php index 8dab908d9..e838a5ae8 100644 --- a/tests/helper/DailyPageHelperTest.php +++ b/tests/helper/DailyPageHelperTest.php @@ -9,7 +9,7 @@ use DateTimeInterface; use Shaarli\Bookmark\Bookmark; use Shaarli\TestCase; -use Slim\Http\Request; +use Slim\Http\ServerRequest; class DailyPageHelperTest extends TestCase { @@ -18,7 +18,7 @@ class DailyPageHelperTest extends TestCase */ public function testExtractRequestedType(array $queryParams, string $expectedType): void { - $request = $this->createMock(Request::class); + $request = $this->createMock(ServerRequest::class); $request->method('getQueryParam')->willReturnCallback(function ($key) use ($queryParams): ?string { return $queryParams[$key] ?? null; }); diff --git a/tests/legacy/LegacyControllerTest.php b/tests/legacy/LegacyControllerTest.php index 1a2549a37..1776d9da5 100644 --- a/tests/legacy/LegacyControllerTest.php +++ b/tests/legacy/LegacyControllerTest.php @@ -6,7 +6,7 @@ use Shaarli\Front\Controller\Visitor\FrontControllerMockHelper; use Shaarli\TestCase; -use Slim\Http\Request; +use Slim\Http\ServerRequest; use Slim\Http\Response; class LegacyControllerTest extends TestCase @@ -28,7 +28,7 @@ public function setUp(): void */ public function testProcess(string $legacyRoute, array $queryParameters, string $slimRoute, bool $isLoggedIn): void { - $request = $this->createMock(Request::class); + $request = $this->createMock(ServerRequest::class); $request->method('getQueryParams')->willReturn($queryParameters); $request ->method('getParam') @@ -47,7 +47,7 @@ public function testProcess(string $legacyRoute, array $queryParameters, string public function testProcessNotFound(): void { - $request = $this->createMock(Request::class); + $request = $this->createMock(ServerRequest::class); $response = new Response(); $this->expectException(UnknowLegacyRouteException::class); diff --git a/tests/netscape/BookmarkImportTest.php b/tests/netscape/BookmarkImportTest.php index d880c3aa9..fe8125992 100644 --- a/tests/netscape/BookmarkImportTest.php +++ b/tests/netscape/BookmarkImportTest.php @@ -12,7 +12,7 @@ use Shaarli\History; use Shaarli\Plugin\PluginManager; use Shaarli\TestCase; -use Slim\Http\UploadedFile; +use Laminas\Diactoros\UploadedFile; /** * Utility function to load a file's metadata in a $_FILES-like array @@ -25,9 +25,10 @@ function file2array($filename) { return new UploadedFile( __DIR__ . '/input/' . $filename, + filesize(__DIR__ . '/input/' . $filename), + UPLOAD_ERR_OK, $filename, - null, - filesize(__DIR__ . '/input/' . $filename) + 'type' ); }