From ad2edc085bad49b4565c4a85a30160364cc74e15 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Corentin=20No=C3=ABl?= Date: Wed, 26 Nov 2025 14:28:50 +0100 Subject: [PATCH] fix: Remove use CurlHandle statement MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit PHP is warning that "The use statement with non-compound name 'CurlHandle' has no effect". This makes the web updater fail to update when the warning is propagated. Signed-off-by: Corentin Noël --- index.php | 5 +- lib/Updater.php | 5 +- updater.phar | Bin 1323006 -> 1321734 bytes .../.github/workflows/phpstan.yml | 35 -------- .../.github/workflows/tests.yaml | 80 ------------------ .../composer-bin-plugin/.makefile/touch.sh | 61 ------------- .../composer-bin-plugin/.phive/phars.xml | 6 -- .../bamarni/composer-bin-plugin/composer.json | 2 +- .../src/BamarniBinPlugin.php | 1 + .../src/Command/BinCommand.php | 2 + .../Command/CouldNotCreateNamespaceDir.php | 1 + .../composer-bin-plugin/src/Config/Config.php | 1 + .../src/Input/BinInputFactory.php | 4 +- .../src/Input/InvalidBinInput.php | 1 + vendor/composer/InstalledVersions.php | 45 +--------- vendor/composer/installed.json | 16 ++-- vendor/composer/installed.php | 10 +-- 17 files changed, 31 insertions(+), 244 deletions(-) delete mode 100644 vendor/bamarni/composer-bin-plugin/.github/workflows/phpstan.yml delete mode 100644 vendor/bamarni/composer-bin-plugin/.github/workflows/tests.yaml delete mode 100755 vendor/bamarni/composer-bin-plugin/.makefile/touch.sh delete mode 100644 vendor/bamarni/composer-bin-plugin/.phive/phars.xml diff --git a/index.php b/index.php index 2d630209..df73ab07 100644 --- a/index.php +++ b/index.php @@ -28,7 +28,6 @@ class LogException extends \Exception { use Closure; -use CurlHandle; class Updater { /** @var int */ @@ -694,7 +693,7 @@ private function getDownloadURLs(): array { } - private function getCurl(string $url): CurlHandle { + private function getCurl(string $url): \CurlHandle { $ch = curl_init($url); if ($ch === false) { throw new \Exception('Fail to open cUrl handler'); @@ -773,7 +772,7 @@ private function isAbleToDecompress(string $ext): bool { return $ext === 'zip' && extension_loaded($ext); } - private function downloadProgressCallback(CurlHandle $resource, int $download_size, int $downloaded): void { + private function downloadProgressCallback(\CurlHandle $resource, int $download_size, int $downloaded): void { if ($download_size !== 0) { $progress = (int)round($downloaded * 100 / $download_size); if ($progress > $this->previousProgress) { diff --git a/lib/Updater.php b/lib/Updater.php index 9a915277..846dc0de 100644 --- a/lib/Updater.php +++ b/lib/Updater.php @@ -10,7 +10,6 @@ namespace NC\Updater; use Closure; -use CurlHandle; class Updater { /** @var int */ @@ -676,7 +675,7 @@ private function getDownloadURLs(): array { } - private function getCurl(string $url): CurlHandle { + private function getCurl(string $url): \CurlHandle { $ch = curl_init($url); if ($ch === false) { throw new \Exception('Fail to open cUrl handler'); @@ -755,7 +754,7 @@ private function isAbleToDecompress(string $ext): bool { return $ext === 'zip' && extension_loaded($ext); } - private function downloadProgressCallback(CurlHandle $resource, int $download_size, int $downloaded): void { + private function downloadProgressCallback(\CurlHandle $resource, int $download_size, int $downloaded): void { if ($download_size !== 0) { $progress = (int)round($downloaded * 100 / $download_size); if ($progress > $this->previousProgress) { diff --git a/updater.phar b/updater.phar index b851fb5cace8d248ac9914e7b29ed2d3054feca1..9312294d5f7567a11f8a0116390776961b94712e 100755 GIT binary patch delta 9768 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 N@MIMF^cv9Xe*p66L16#@ delta 10346 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 C^Z54w diff --git a/vendor/bamarni/composer-bin-plugin/.github/workflows/phpstan.yml b/vendor/bamarni/composer-bin-plugin/.github/workflows/phpstan.yml deleted file mode 100644 index ebb57672..00000000 --- a/vendor/bamarni/composer-bin-plugin/.github/workflows/phpstan.yml +++ /dev/null @@ -1,35 +0,0 @@ -name: "Static analysis" - -on: - push: - branches: - - "main" - - "master" - pull_request: null - -jobs: - static-analysis: - runs-on: "ubuntu-latest" - name: "PHPStan on PHP ${{ matrix.php }}" - strategy: - fail-fast: false - matrix: - php: - - "8.1" - steps: - - name: "Check out repository code" - uses: "actions/checkout@v2" - - - name: "Setup PHP" - uses: "shivammathur/setup-php@v2" - with: - php-version: "${{ matrix.php }}" - tools: "composer" - - - name: "Install Composer dependencies" - uses: "ramsey/composer-install@v2" - with: - dependency-versions: "highest" - - - name: "Perform static analysis" - run: "make phpstan" diff --git a/vendor/bamarni/composer-bin-plugin/.github/workflows/tests.yaml b/vendor/bamarni/composer-bin-plugin/.github/workflows/tests.yaml deleted file mode 100644 index 5bec38a4..00000000 --- a/vendor/bamarni/composer-bin-plugin/.github/workflows/tests.yaml +++ /dev/null @@ -1,80 +0,0 @@ -name: "Tests" - -on: - push: - branches: - - "main" - - "master" - pull_request: null - -jobs: - unit-tests: - runs-on: "ubuntu-latest" - name: "Unit Tests on PHP ${{ matrix.php }} and ${{ matrix.tools }}" - strategy: - fail-fast: false - matrix: - php: - - "7.2" - - "7.3" - - "7.4" - - "8.0" - - "8.1" - tools: [ "composer" ] - dependency-versions: [ "highest" ] - include: - - php: "7.2" - tools: "composer:v2.0" - dependency-versions: "lowest" - - steps: - - name: "Check out repository code" - uses: "actions/checkout@v2" - - - name: "Setup PHP" - uses: "shivammathur/setup-php@v2" - with: - php-version: "${{ matrix.php }}" - tools: "${{ matrix.tools }}" - - - name: "Install Composer dependencies" - uses: "ramsey/composer-install@v2" - with: - dependency-versions: "${{ matrix.dependency-versions }}" - - - name: "Validate composer.json" - run: "composer validate --strict --no-check-lock" - - - name: "Run tests" - run: "vendor/bin/phpunit --group default" - - e2e-tests: - runs-on: "ubuntu-latest" - name: "E2E Tests on PHP ${{ matrix.php }}" - strategy: - fail-fast: false - matrix: - php: - - "8.1" - - steps: - - name: "Check out repository code" - uses: "actions/checkout@v2" - - - name: "Setup PHP" - uses: "shivammathur/setup-php@v2" - with: - php-version: "${{ matrix.php }}" - tools: "composer" - - - name: "Correct bin plugin version for e2e scenarios (PR-only)" - if: github.event_name == 'pull_request' - run: find e2e -maxdepth 1 -mindepth 1 -type d -exec bash -c "cd {} && composer require --dev bamarni/composer-bin-plugin:dev-${GITHUB_SHA} --no-update" \; - - - name: "Install Composer dependencies" - uses: "ramsey/composer-install@v2" - with: - dependency-versions: "highest" - - - name: "Run tests" - run: "vendor/bin/phpunit --group e2e" diff --git a/vendor/bamarni/composer-bin-plugin/.makefile/touch.sh b/vendor/bamarni/composer-bin-plugin/.makefile/touch.sh deleted file mode 100755 index 5c0a7759..00000000 --- a/vendor/bamarni/composer-bin-plugin/.makefile/touch.sh +++ /dev/null @@ -1,61 +0,0 @@ -#!/usr/bin/env bash -# -# Takes a given string, e.g. 'bin/console' or 'docker-compose exec php bin/console' -# and split it by words. For each words, if the target is a file, it is touched. -# -# This allows to implement a similar rule to: -# -# ```Makefile -# bin/php-cs-fixer: vendor -# touch $@ -# ``` -# -# Indeed when the rule `bin/php-cs-fixer` is replaced with a docker-compose -# equivalent, it will not play out as nicely. -# -# Arguments: -# $1 - {string} Command potentially containing a file -# - -set -Eeuo pipefail; - - -readonly ERROR_COLOR="\e[41m"; -readonly NO_COLOR="\e[0m"; - - -if [ $# -ne 1 ]; then - printf "${ERROR_COLOR}Illegal number of parameters.${NO_COLOR}\n"; - - exit 1; -fi - - -readonly FILES="$1"; - - -####################################### -# Touch the given file path if the target is a file and do not create the file -# if does not exist. -# -# Globals: -# None -# -# Arguments: -# $1 - {string} File path -# -# Returns: -# None -####################################### -touch_file() { - local file="$1"; - - if [ -e ${file} ]; then - touch -c ${file}; - fi -} - -for file in ${FILES} -do - touch_file ${file}; -done diff --git a/vendor/bamarni/composer-bin-plugin/.phive/phars.xml b/vendor/bamarni/composer-bin-plugin/.phive/phars.xml deleted file mode 100644 index 335086e3..00000000 --- a/vendor/bamarni/composer-bin-plugin/.phive/phars.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/vendor/bamarni/composer-bin-plugin/composer.json b/vendor/bamarni/composer-bin-plugin/composer.json index 5b3809ba..e6f6e452 100644 --- a/vendor/bamarni/composer-bin-plugin/composer.json +++ b/vendor/bamarni/composer-bin-plugin/composer.json @@ -21,7 +21,7 @@ "phpstan/extension-installer": "^1.1", "phpstan/phpstan": "^1.8", "phpstan/phpstan-phpunit": "^1.1", - "phpunit/phpunit": "^8.5 || ^9.5", + "phpunit/phpunit": "^8.5 || ^9.6 || ^10.0", "symfony/console": "^2.8.52 || ^3.4.35 || ^4.4 || ^5.0 || ^6.0", "symfony/finder": "^2.8.52 || ^3.4.35 || ^4.4 || ^5.0 || ^6.0", "symfony/process": "^2.8.52 || ^3.4.35 || ^4.4 || ^5.0 || ^6.0" diff --git a/vendor/bamarni/composer-bin-plugin/src/BamarniBinPlugin.php b/vendor/bamarni/composer-bin-plugin/src/BamarniBinPlugin.php index 1d21c93b..19e36e0a 100644 --- a/vendor/bamarni/composer-bin-plugin/src/BamarniBinPlugin.php +++ b/vendor/bamarni/composer-bin-plugin/src/BamarniBinPlugin.php @@ -24,6 +24,7 @@ use Symfony\Component\Console\Input\InputInterface; use Symfony\Component\Console\Output\OutputInterface; use Throwable; + use function count; use function in_array; use function sprintf; diff --git a/vendor/bamarni/composer-bin-plugin/src/Command/BinCommand.php b/vendor/bamarni/composer-bin-plugin/src/Command/BinCommand.php index 9edb4c3e..eaf6ff0a 100644 --- a/vendor/bamarni/composer-bin-plugin/src/Command/BinCommand.php +++ b/vendor/bamarni/composer-bin-plugin/src/Command/BinCommand.php @@ -19,6 +19,7 @@ use Symfony\Component\Console\Input\InputInterface; use Symfony\Component\Console\Output\OutputInterface; use Throwable; + use function chdir; use function count; use function file_exists; @@ -30,6 +31,7 @@ use function mkdir; use function putenv; use function sprintf; + use const GLOB_ONLYDIR; /** diff --git a/vendor/bamarni/composer-bin-plugin/src/Command/CouldNotCreateNamespaceDir.php b/vendor/bamarni/composer-bin-plugin/src/Command/CouldNotCreateNamespaceDir.php index 33145078..8985a7cd 100644 --- a/vendor/bamarni/composer-bin-plugin/src/Command/CouldNotCreateNamespaceDir.php +++ b/vendor/bamarni/composer-bin-plugin/src/Command/CouldNotCreateNamespaceDir.php @@ -5,6 +5,7 @@ namespace Bamarni\Composer\Bin\Command; use RuntimeException; + use function sprintf; final class CouldNotCreateNamespaceDir extends RuntimeException diff --git a/vendor/bamarni/composer-bin-plugin/src/Config/Config.php b/vendor/bamarni/composer-bin-plugin/src/Config/Config.php index fa62b3a1..629ab868 100644 --- a/vendor/bamarni/composer-bin-plugin/src/Config/Config.php +++ b/vendor/bamarni/composer-bin-plugin/src/Config/Config.php @@ -5,6 +5,7 @@ namespace Bamarni\Composer\Bin\Config; use Composer\Composer; + use function array_key_exists; use function array_merge; use function function_exists; diff --git a/vendor/bamarni/composer-bin-plugin/src/Input/BinInputFactory.php b/vendor/bamarni/composer-bin-plugin/src/Input/BinInputFactory.php index dab96f68..0b0a1816 100644 --- a/vendor/bamarni/composer-bin-plugin/src/Input/BinInputFactory.php +++ b/vendor/bamarni/composer-bin-plugin/src/Input/BinInputFactory.php @@ -6,6 +6,7 @@ use Symfony\Component\Console\Input\InputInterface; use Symfony\Component\Console\Input\StringInput; + use function array_filter; use function array_map; use function implode; @@ -61,7 +62,7 @@ public static function createInput( public static function createNamespaceInput(InputInterface $previousInput): InputInterface { $matchResult = preg_match( - '/^(.+?\s?)(--(?: .+)?)?$/', + '/^([^\s]+)(.*?\s?)(--(?: .+)?)?$/', $previousInput->__toString(), $matches ); @@ -77,6 +78,7 @@ public static function createNamespaceInput(InputInterface $previousInput): Inpu $matches[1], '--working-dir=.', $matches[2] ?? '', + $matches[3] ?? '', ] ) ); diff --git a/vendor/bamarni/composer-bin-plugin/src/Input/InvalidBinInput.php b/vendor/bamarni/composer-bin-plugin/src/Input/InvalidBinInput.php index 2418d9c8..7f44ff5e 100644 --- a/vendor/bamarni/composer-bin-plugin/src/Input/InvalidBinInput.php +++ b/vendor/bamarni/composer-bin-plugin/src/Input/InvalidBinInput.php @@ -6,6 +6,7 @@ use RuntimeException; use Symfony\Component\Console\Input\InputInterface; + use function sprintf; final class InvalidBinInput extends RuntimeException diff --git a/vendor/composer/InstalledVersions.php b/vendor/composer/InstalledVersions.php index 2052022f..51e734a7 100644 --- a/vendor/composer/InstalledVersions.php +++ b/vendor/composer/InstalledVersions.php @@ -26,23 +26,12 @@ */ class InstalledVersions { - /** - * @var string|null if set (by reflection by Composer), this should be set to the path where this class is being copied to - * @internal - */ - private static $selfDir = null; - /** * @var mixed[]|null * @psalm-var array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array}|array{}|null */ private static $installed; - /** - * @var bool - */ - private static $installedIsLocalDir; - /** * @var bool|null */ @@ -320,24 +309,6 @@ public static function reload($data) { self::$installed = $data; self::$installedByVendor = array(); - - // when using reload, we disable the duplicate protection to ensure that self::$installed data is - // always returned, but we cannot know whether it comes from the installed.php in __DIR__ or not, - // so we have to assume it does not, and that may result in duplicate data being returned when listing - // all installed packages for example - self::$installedIsLocalDir = false; - } - - /** - * @return string - */ - private static function getSelfDir() - { - if (self::$selfDir === null) { - self::$selfDir = strtr(__DIR__, '\\', '/'); - } - - return self::$selfDir; } /** @@ -351,27 +322,19 @@ private static function getInstalled() } $installed = array(); - $copiedLocalDir = false; if (self::$canGetVendors) { - $selfDir = self::getSelfDir(); foreach (ClassLoader::getRegisteredLoaders() as $vendorDir => $loader) { - $vendorDir = strtr($vendorDir, '\\', '/'); if (isset(self::$installedByVendor[$vendorDir])) { $installed[] = self::$installedByVendor[$vendorDir]; } elseif (is_file($vendorDir.'/composer/installed.php')) { /** @var array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array} $required */ $required = require $vendorDir.'/composer/installed.php'; - self::$installedByVendor[$vendorDir] = $required; - $installed[] = $required; - if (self::$installed === null && $vendorDir.'/composer' === $selfDir) { - self::$installed = $required; - self::$installedIsLocalDir = true; + $installed[] = self::$installedByVendor[$vendorDir] = $required; + if (null === self::$installed && strtr($vendorDir.'/composer', '\\', '/') === strtr(__DIR__, '\\', '/')) { + self::$installed = $installed[count($installed) - 1]; } } - if (self::$installedIsLocalDir && $vendorDir.'/composer' === $selfDir) { - $copiedLocalDir = true; - } } } @@ -387,7 +350,7 @@ private static function getInstalled() } } - if (self::$installed !== array() && !$copiedLocalDir) { + if (self::$installed !== array()) { $installed[] = self::$installed; } diff --git a/vendor/composer/installed.json b/vendor/composer/installed.json index 55853f22..9203b5b7 100644 --- a/vendor/composer/installed.json +++ b/vendor/composer/installed.json @@ -2,17 +2,17 @@ "packages": [ { "name": "bamarni/composer-bin-plugin", - "version": "1.8.2", - "version_normalized": "1.8.2.0", + "version": "1.8.3", + "version_normalized": "1.8.3.0", "source": { "type": "git", "url": "https://github.com/bamarni/composer-bin-plugin.git", - "reference": "92fd7b1e6e9cdae19b0d57369d8ad31a37b6a880" + "reference": "e7ef9e012667327516c24e5fad9903a3bc91389d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/bamarni/composer-bin-plugin/zipball/92fd7b1e6e9cdae19b0d57369d8ad31a37b6a880", - "reference": "92fd7b1e6e9cdae19b0d57369d8ad31a37b6a880", + "url": "https://api.github.com/repos/bamarni/composer-bin-plugin/zipball/e7ef9e012667327516c24e5fad9903a3bc91389d", + "reference": "e7ef9e012667327516c24e5fad9903a3bc91389d", "shasum": "" }, "require": { @@ -25,12 +25,12 @@ "phpstan/extension-installer": "^1.1", "phpstan/phpstan": "^1.8", "phpstan/phpstan-phpunit": "^1.1", - "phpunit/phpunit": "^8.5 || ^9.5", + "phpunit/phpunit": "^8.5 || ^9.6 || ^10.0", "symfony/console": "^2.8.52 || ^3.4.35 || ^4.4 || ^5.0 || ^6.0", "symfony/finder": "^2.8.52 || ^3.4.35 || ^4.4 || ^5.0 || ^6.0", "symfony/process": "^2.8.52 || ^3.4.35 || ^4.4 || ^5.0 || ^6.0" }, - "time": "2022-10-31T08:38:03+00:00", + "time": "2025-11-24T19:20:55+00:00", "type": "composer-plugin", "extra": { "class": "Bamarni\\Composer\\Bin\\BamarniBinPlugin" @@ -56,7 +56,7 @@ ], "support": { "issues": "https://github.com/bamarni/composer-bin-plugin/issues", - "source": "https://github.com/bamarni/composer-bin-plugin/tree/1.8.2" + "source": "https://github.com/bamarni/composer-bin-plugin/tree/1.8.3" }, "install-path": "../bamarni/composer-bin-plugin" }, diff --git a/vendor/composer/installed.php b/vendor/composer/installed.php index a121f657..2d8212c2 100644 --- a/vendor/composer/installed.php +++ b/vendor/composer/installed.php @@ -3,7 +3,7 @@ 'name' => '__root__', 'pretty_version' => 'dev-master', 'version' => 'dev-master', - 'reference' => '0deb35c1f4fd23fea55c03db40f07c72603adc43', + 'reference' => 'ac592788bd280f6d2f3dcb636c4cff0257f68c14', 'type' => 'library', 'install_path' => __DIR__ . '/../../', 'aliases' => array(), @@ -13,16 +13,16 @@ '__root__' => array( 'pretty_version' => 'dev-master', 'version' => 'dev-master', - 'reference' => '0deb35c1f4fd23fea55c03db40f07c72603adc43', + 'reference' => 'ac592788bd280f6d2f3dcb636c4cff0257f68c14', 'type' => 'library', 'install_path' => __DIR__ . '/../../', 'aliases' => array(), 'dev_requirement' => false, ), 'bamarni/composer-bin-plugin' => array( - 'pretty_version' => '1.8.2', - 'version' => '1.8.2.0', - 'reference' => '92fd7b1e6e9cdae19b0d57369d8ad31a37b6a880', + 'pretty_version' => '1.8.3', + 'version' => '1.8.3.0', + 'reference' => 'e7ef9e012667327516c24e5fad9903a3bc91389d', 'type' => 'composer-plugin', 'install_path' => __DIR__ . '/../bamarni/composer-bin-plugin', 'aliases' => array(),