summaryrefslogtreecommitdiffstats
path: root/lib/private
diff options
context:
space:
mode:
Diffstat (limited to 'lib/private')
-rw-r--r--lib/private/Updater.php9
-rw-r--r--lib/private/legacy/app.php2
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);