Merge pull request #556 from nextcloud/nextcloud-version-check
Allow apps to check for a given nextcloud version
This commit is contained in:
commit
54ae8eede3
|
@ -304,17 +304,39 @@ class DependencyAnalyzer {
|
|||
|
||||
if (!is_null($minVersion)) {
|
||||
if ($this->compareSmaller($this->platform->getOcVersion(), $minVersion)) {
|
||||
$missing[] = (string)$this->l->t('Server version %s or higher is required.', $minVersion);
|
||||
$missing[] = (string)$this->l->t('Server version %s or higher is required.', $this->toVisibleVersion($minVersion));
|
||||
}
|
||||
}
|
||||
if (!is_null($maxVersion)) {
|
||||
if ($this->compareBigger($this->platform->getOcVersion(), $maxVersion)) {
|
||||
$missing[] = (string)$this->l->t('Server version %s or lower is required.', $maxVersion);
|
||||
$missing[] = (string)$this->l->t('Server version %s or lower is required.', $this->toVisibleVersion($maxVersion));
|
||||
}
|
||||
}
|
||||
return $missing;
|
||||
}
|
||||
|
||||
/**
|
||||
* Map the internal version number to the Nextcloud version
|
||||
*
|
||||
* @param string $version
|
||||
* @return string
|
||||
*/
|
||||
protected function toVisibleVersion($version) {
|
||||
switch ($version) {
|
||||
case '9.1':
|
||||
return '10';
|
||||
case '9.2':
|
||||
return '11';
|
||||
default:
|
||||
if (strpos($version, '9.1.') === 0) {
|
||||
$version = '10.0.' . substr($version, 4);
|
||||
} else if (strpos($version, '9.2.') === 0) {
|
||||
$version = '11.0.' . substr($version, 4);
|
||||
}
|
||||
return $version;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @param $element
|
||||
* @return mixed
|
||||
|
|
|
@ -16,7 +16,7 @@ use Test\TestCase;
|
|||
|
||||
class DependencyAnalyzerTest extends TestCase {
|
||||
|
||||
/** @var Platform */
|
||||
/** @var Platform|\PHPUnit_Framework_MockObject_MockObject */
|
||||
private $platformMock;
|
||||
|
||||
/** @var IL10N */
|
||||
|
@ -206,6 +206,8 @@ class DependencyAnalyzerTest extends TestCase {
|
|||
array(array(), array('@attributes' => array('min-version' => '8.0.2', 'max-version' => '8.0.2'))),
|
||||
array(array('Server version 8.0.3 or higher is required.'), array('@attributes' => array('min-version' => '8.0.3'))),
|
||||
array(array('Server version 9 or higher is required.'), array('@attributes' => array('min-version' => '9'))),
|
||||
array(array('Server version 10 or higher is required.'), array('@attributes' => array('min-version' => '9.1'))),
|
||||
array(array('Server version 11 or higher is required.'), array('@attributes' => array('min-version' => '9.2'))),
|
||||
[['Server version 8.0.1 or lower is required.'], ['@attributes' => ['max-version' => '8.0.1']]],
|
||||
);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue