diff --git a/lib/private/Installer.php b/lib/private/Installer.php index b6586eceab..d58ccb3694 100644 --- a/lib/private/Installer.php +++ b/lib/private/Installer.php @@ -389,7 +389,7 @@ class Installer { if($app['id'] === $appId) { $currentVersion = OC_App::getAppVersion($appId); $newestVersion = $app['releases'][0]['version']; - if (version_compare($newestVersion, $currentVersion, '>')) { + if ($currentVersion !== '0' && version_compare($newestVersion, $currentVersion, '>')) { return $newestVersion; } else { return false; diff --git a/settings/Controller/AppSettingsController.php b/settings/Controller/AppSettingsController.php index 5930bc700d..61db1ce269 100644 --- a/settings/Controller/AppSettingsController.php +++ b/settings/Controller/AppSettingsController.php @@ -214,7 +214,7 @@ class AppSettingsController extends Controller { if (!array_key_exists($app['id'], $this->allApps)) { $this->allApps[$app['id']] = $app; } else { - $this->allApps[$app['id']] = array_merge($this->allApps[$app['id']], $app); + $this->allApps[$app['id']] = array_merge($app, $this->allApps[$app['id']]); } } @@ -256,7 +256,7 @@ class AppSettingsController extends Controller { $appData['category'] = $appstoreData['categories']; $newVersion = $this->installer->isUpdateAvailable($appData['id']); - if($newVersion && $this->appManager->isInstalled($appData['id'])) { + if($newVersion) { $appData['update'] = $newVersion; }