diff options
author | John Molakvoæ <skjnldsv@users.noreply.github.com> | 2024-02-29 11:47:50 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-02-29 11:47:50 +0100 |
commit | 8df55ef5aa3ed2233132203e6316bb9fd855fef3 (patch) | |
tree | d9263b94b9c4c8b594ec0e63063588e907dc8c99 | |
parent | 747c39195350023d78f2ae9a651fe57e6096f12f (diff) | |
parent | 7b137ddd754f7dab5fcb8e0c34acb9b6d19b9a00 (diff) | |
download | nextcloud-server-8df55ef5aa3ed2233132203e6316bb9fd855fef3.tar.gz nextcloud-server-8df55ef5aa3ed2233132203e6316bb9fd855fef3.zip |
Merge pull request #29988 from nextcloud/enh/hide-overwrites-from-disabled-apps-list
-rw-r--r-- | core/Command/Upgrade.php | 7 | ||||
-rw-r--r-- | core/ajax/update.php | 7 | ||||
-rw-r--r-- | lib/base.php | 8 |
3 files changed, 17 insertions, 5 deletions
diff --git a/core/Command/Upgrade.php b/core/Command/Upgrade.php index c74b8d27049..45427f6552f 100644 --- a/core/Command/Upgrade.php +++ b/core/Command/Upgrade.php @@ -88,6 +88,7 @@ class Upgrade extends Command { $self = $this; $updater = \OCP\Server::get(Updater::class); + $incompatibleOverwrites = $this->config->getSystemValue('app_install_overwrite', []); /** @var IEventDispatcher $dispatcher */ $dispatcher = \OC::$server->get(IEventDispatcher::class); @@ -179,8 +180,10 @@ class Upgrade extends Command { $updater->listen('\OC\Updater', 'dbUpgrade', function () use ($output) { $output->writeln('<info>Updated database</info>'); }); - $updater->listen('\OC\Updater', 'incompatibleAppDisabled', function ($app) use ($output) { - $output->writeln('<comment>Disabled incompatible app: ' . $app . '</comment>'); + $updater->listen('\OC\Updater', 'incompatibleAppDisabled', function ($app) use ($output, &$incompatibleOverwrites) { + if (!in_array($app, $incompatibleOverwrites)) { + $output->writeln('<comment>Disabled incompatible app: ' . $app . '</comment>'); + } }); $updater->listen('\OC\Updater', 'upgradeAppStoreApp', function ($app) use ($output) { $output->writeln('<info>Update app ' . $app . ' from App Store</info>'); diff --git a/core/ajax/update.php b/core/ajax/update.php index 63d1bd3cf5e..ed5fe00e147 100644 --- a/core/ajax/update.php +++ b/core/ajax/update.php @@ -120,6 +120,7 @@ if (\OCP\Util::needUpgrade()) { \OC::$server->query(\OC\Installer::class) ); $incompatibleApps = []; + $incompatibleOverwrites = $config->getSystemValue('app_install_overwrite', []); /** @var IEventDispatcher $dispatcher */ $dispatcher = \OC::$server->get(IEventDispatcher::class); @@ -162,8 +163,10 @@ if (\OCP\Util::needUpgrade()) { $updater->listen('\OC\Updater', 'appUpgrade', function ($app, $version) use ($eventSource, $l) { $eventSource->send('success', $l->t('Updated "%1$s" to %2$s', [$app, $version])); }); - $updater->listen('\OC\Updater', 'incompatibleAppDisabled', function ($app) use (&$incompatibleApps) { - $incompatibleApps[] = $app; + $updater->listen('\OC\Updater', 'incompatibleAppDisabled', function ($app) use (&$incompatibleApps, &$incompatibleOverwrites) { + if (!in_array($app, $incompatibleOverwrites)) { + $incompatibleApps[] = $app; + } }); $updater->listen('\OC\Updater', 'failure', function ($message) use ($eventSource, $config) { $eventSource->send('failure', $message); diff --git a/lib/base.php b/lib/base.php index e4fdb8efb44..72afa0753ba 100644 --- a/lib/base.php +++ b/lib/base.php @@ -35,6 +35,7 @@ declare(strict_types=1); * @author Lukas Reschke <lukas@statuscode.ch> * @author MartB <mart.b@outlook.de> * @author Michael Gapczynski <GapczynskiM@gmail.com> + * @author MichaIng <micha@dietpi.com> * @author Morris Jobke <hey@morrisjobke.de> * @author Owen Winkler <a_github@midnightcircus.com> * @author Phil Davis <phil.davis@inf.org> @@ -388,11 +389,16 @@ class OC { $ocVersion = \OCP\Util::getVersion(); $ocVersion = implode('.', $ocVersion); $incompatibleApps = $appManager->getIncompatibleApps($ocVersion); + $incompatibleOverwrites = $systemConfig->getValue('app_install_overwrite', []); $incompatibleShippedApps = []; + $incompatibleDisabledApps = []; foreach ($incompatibleApps as $appInfo) { if ($appManager->isShipped($appInfo['id'])) { $incompatibleShippedApps[] = $appInfo['name'] . ' (' . $appInfo['id'] . ')'; } + if (!in_array($appInfo['id'], $incompatibleOverwrites)) { + $incompatibleDisabledApps[] = $appInfo; + } } if (!empty($incompatibleShippedApps)) { @@ -402,7 +408,7 @@ class OC { } $tmpl->assign('appsToUpgrade', $appManager->getAppsNeedingUpgrade($ocVersion)); - $tmpl->assign('incompatibleAppsList', $incompatibleApps); + $tmpl->assign('incompatibleAppsList', $incompatibleDisabledApps); try { $defaults = new \OC_Defaults(); $tmpl->assign('productName', $defaults->getName()); |