From 3060fc8597e463ab06bd958b0a815c4573121d91 Mon Sep 17 00:00:00 2001 From: Joas Schilling Date: Wed, 16 Nov 2016 12:27:22 +0100 Subject: [PATCH] Show all in one message Signed-off-by: Joas Schilling --- lib/base.php | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/lib/base.php b/lib/base.php index edca5a99ca..22360fa9a6 100644 --- a/lib/base.php +++ b/lib/base.php @@ -382,7 +382,7 @@ class OC { \OCP\Util::addScript('update'); \OCP\Util::addStyle('update'); - /** @var \OCP\App\IAppManager $appManager */ + /** @var \OC\App\AppManager $appManager */ $appManager = \OC::$server->getAppManager(); $tmpl = new OC_Template('', 'update.admin', 'guest'); @@ -392,14 +392,19 @@ class OC { // get third party apps $ocVersion = \OCP\Util::getVersion(); $incompatibleApps = $appManager->getIncompatibleApps($ocVersion); + $incompatibleShippedApps = []; foreach ($incompatibleApps as $appInfo) { if ($appManager->isShipped($appInfo['id'])) { - $l = \OC::$server->getL10N('core'); - $hint = $l->t('The files of the app %$1s (%$2s) were not replaced correctly. Make sure it is a version compatible with the server.', [$appInfo['name'], $appInfo['id']]); - throw new \OC\HintException('The files of the app ' . $appInfo['name'] . ' (' . $appInfo['id'] . ') were not replaced correctly. Make sure it is a version compatible with the server.', $hint); + $incompatibleShippedApps[] = $appInfo['name'] . ' (' . $appInfo['id'] . ')'; } } + if (!empty($incompatibleShippedApps)) { + $l = \OC::$server->getL10N('core'); + $hint = $l->t('The files of the app %$1s were not replaced correctly. Make sure it is a version compatible with the server.', [implode(', ', $incompatibleShippedApps)]); + throw new \OC\HintException('The files of the app ' . implode(', ', $incompatibleShippedApps) . ' were not replaced correctly. Make sure it is a version compatible with the server.', $hint); + } + $tmpl->assign('appsToUpgrade', $appManager->getAppsNeedingUpgrade($ocVersion)); $tmpl->assign('incompatibleAppsList', $incompatibleApps); $tmpl->assign('productName', 'Nextcloud'); // for now