diff options
author | Joas Schilling <coding@schilljs.com> | 2018-02-15 16:49:42 +0100 |
---|---|---|
committer | John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com> | 2018-06-26 09:15:52 +0200 |
commit | 4b49f810b720ddf65dfe6384f9cb3b6d4975c4e2 (patch) | |
tree | 1119c735a672a4f9aa80b65c2f95c82eb2f9754b /lib/private | |
parent | dfbc21d8062c2ae7f58c91a4eb1d29b320819ab5 (diff) | |
download | nextcloud-server-4b49f810b720ddf65dfe6384f9cb3b6d4975c4e2.tar.gz nextcloud-server-4b49f810b720ddf65dfe6384f9cb3b6d4975c4e2.zip |
Re-enable apps that got automatically disabled while updating
Signed-off-by: Joas Schilling <coding@schilljs.com>
Diffstat (limited to 'lib/private')
-rw-r--r-- | lib/private/Updater.php | 9 | ||||
-rw-r--r-- | lib/private/legacy/app.php | 2 |
2 files changed, 10 insertions, 1 deletions
diff --git a/lib/private/Updater.php b/lib/private/Updater.php index 02b3138f30f..31c0397429b 100644 --- a/lib/private/Updater.php +++ b/lib/private/Updater.php @@ -250,6 +250,7 @@ class Updater extends BasicEmitter { // upgrade appstore apps $this->upgradeAppStoreApps(\OC::$server->getAppManager()->getInstalledApps()); + $this->upgradeAppStoreApps(\OC_App::$autoDisabledApps, true); // install new shipped apps on upgrade OC_App::loadApps(['authentication']); @@ -430,9 +431,10 @@ class Updater extends BasicEmitter { /** * @param array $disabledApps + * @param bool $reenable * @throws \Exception */ - private function upgradeAppStoreApps(array $disabledApps) { + private function upgradeAppStoreApps(array $disabledApps, $reenable = false) { foreach($disabledApps as $app) { try { $this->emit('\OC\Updater', 'checkAppStoreAppBefore', [$app]); @@ -441,6 +443,11 @@ class Updater extends BasicEmitter { $this->installer->updateAppstoreApp($app); } $this->emit('\OC\Updater', 'checkAppStoreApp', [$app]); + + if ($reenable) { + $ocApp = new \OC_App(); + $ocApp->enable($app); + } } catch (\Exception $ex) { $this->log->logException($ex, ['app' => 'core']); } diff --git a/lib/private/legacy/app.php b/lib/private/legacy/app.php index 0a5d31a9873..ab52a68caeb 100644 --- a/lib/private/legacy/app.php +++ b/lib/private/legacy/app.php @@ -70,6 +70,7 @@ class OC_App { static private $loadedApps = []; static private $altLogin = []; static private $alreadyRegistered = []; + static public $autoDisabledApps = []; const officialApp = 200; /** @@ -156,6 +157,7 @@ class OC_App { if (!\OC::$server->getAppManager()->isShipped($app)) { // Only disable apps which are not shipped \OC::$server->getAppManager()->disableApp($app); + self::$autoDisabledApps[] = $app; } } \OC::$server->getEventLogger()->end('load_app_' . $app); |