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
parent ceb3a0090e
commit bedd9acf78
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,
'<=' '<='