Fix comparison of PHP versions

Use the builtin function `version_compare` to check an app's
compatibility with the available PHP version, instead of reusing
the `OC\App\CompareVersion::isCompatible` method which is intended
to compare Nextcloud versions. PHP version strings do not always
necessarily follow the simple Major.Minor.Patch format used by
Nextcloud and therefore cannot be properly compared by that method.

Signed-off-by: Damien Goutte-Gattat <dgouttegattat@incenp.org>
This commit is contained in:
Damien Goutte-Gattat 2021-01-14 22:54:53 +00:00 committed by backportbot[bot]
parent ac14e42b49
commit 151abca91c
1 changed files with 2 additions and 2 deletions

View File

@ -113,12 +113,12 @@ class AppFetcher extends Fetcher {
$phpVersion = $versionParser->getVersion($release['rawPhpVersionSpec']); $phpVersion = $versionParser->getVersion($release['rawPhpVersionSpec']);
$minPhpVersion = $phpVersion->getMinimumVersion(); $minPhpVersion = $phpVersion->getMinimumVersion();
$maxPhpVersion = $phpVersion->getMaximumVersion(); $maxPhpVersion = $phpVersion->getMaximumVersion();
$minPhpFulfilled = $minPhpVersion === '' || $this->compareVersion->isCompatible( $minPhpFulfilled = $minPhpVersion === '' || version_compare(
PHP_VERSION, PHP_VERSION,
$minPhpVersion, $minPhpVersion,
'>=' '>='
); );
$maxPhpFulfilled = $maxPhpVersion === '' || $this->compareVersion->isCompatible( $maxPhpFulfilled = $maxPhpVersion === '' || version_compare(
PHP_VERSION, PHP_VERSION,
$maxPhpVersion, $maxPhpVersion,
'<=' '<='