summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorMorris Jobke <hey@morrisjobke.de>2018-02-17 15:25:24 +0100
committerMorris Jobke <hey@morrisjobke.de>2018-02-17 16:05:13 +0100
commit9dc3b0480228a3c35b3b7a7cb1a904006f7e0762 (patch)
treed432bd59aa7d4b87c14835b29973a0e829370e5c /lib
parentedee243b27f7d042998fd840d0b0f75548e3c489 (diff)
downloadnextcloud-server-9dc3b0480228a3c35b3b7a7cb1a904006f7e0762.tar.gz
nextcloud-server-9dc3b0480228a3c35b3b7a7cb1a904006f7e0762.zip
Fix app version to be always string and neither array nor null
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
Diffstat (limited to 'lib')
-rw-r--r--lib/private/App/AppManager.php4
-rw-r--r--lib/private/Installer.php2
-rw-r--r--lib/private/legacy/app.php6
-rw-r--r--lib/public/App/IAppManager.php4
4 files changed, 6 insertions, 10 deletions
diff --git a/lib/private/App/AppManager.php b/lib/private/App/AppManager.php
index 0e921ba1b7f..ede1e5a7fa7 100644
--- a/lib/private/App/AppManager.php
+++ b/lib/private/App/AppManager.php
@@ -380,10 +380,10 @@ class AppManager implements IAppManager {
return $data;
}
- public function getAppVersion(string $appId, bool $useCache = true) {
+ public function getAppVersion(string $appId, bool $useCache = true): string {
if(!$useCache || !isset($this->appVersions[$appId])) {
$appInfo = \OC::$server->getAppManager()->getAppInfo($appId);
- $this->appVersions[$appId] = ($appInfo !== null) ? $appInfo['version'] : '0';
+ $this->appVersions[$appId] = ($appInfo !== null && isset($appInfo['version'])) ? $appInfo['version'] : '0';
}
return $this->appVersions[$appId];
}
diff --git a/lib/private/Installer.php b/lib/private/Installer.php
index f382a923401..8a8ece82077 100644
--- a/lib/private/Installer.php
+++ b/lib/private/Installer.php
@@ -112,7 +112,7 @@ class Installer {
);
}
- $version = \OCP\Util::getVersion();
+ $version = implode('.', \OCP\Util::getVersion());
if (!\OC_App::isAppCompatible($version, $info)) {
throw new \Exception(
// TODO $l
diff --git a/lib/private/legacy/app.php b/lib/private/legacy/app.php
index f04310041ac..40af10f36fc 100644
--- a/lib/private/legacy/app.php
+++ b/lib/private/legacy/app.php
@@ -856,7 +856,7 @@ class OC_App {
*
* @return boolean true if compatible, otherwise false
*/
- public static function isAppCompatible($ocVersion, $appInfo) {
+ public static function isAppCompatible(string $ocVersion, array $appInfo): bool {
$requireMin = '';
$requireMax = '';
if (isset($appInfo['dependencies']['nextcloud']['@attributes']['min-version'])) {
@@ -877,10 +877,6 @@ class OC_App {
$requireMax = $appInfo['requiremax'];
}
- if (is_array($ocVersion)) {
- $ocVersion = implode('.', $ocVersion);
- }
-
if (!empty($requireMin)
&& version_compare(self::adjustVersionParts($ocVersion, $requireMin), $requireMin, '<')
) {
diff --git a/lib/public/App/IAppManager.php b/lib/public/App/IAppManager.php
index 0c087b61515..f0f14061e35 100644
--- a/lib/public/App/IAppManager.php
+++ b/lib/public/App/IAppManager.php
@@ -51,10 +51,10 @@ interface IAppManager {
*
* @param string $appId
* @param bool $useCache
- * @return mixed
+ * @return string
* @since 14.0.0
*/
- public function getAppVersion(string $appId, bool $useCache = true);
+ public function getAppVersion(string $appId, bool $useCache = true): string;
/**
* Check if an app is enabled for user