diff options
-rw-r--r-- | lib/private/app.php | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/lib/private/app.php b/lib/private/app.php index a62623905ff..01597b37e77 100644 --- a/lib/private/app.php +++ b/lib/private/app.php @@ -174,6 +174,7 @@ class OC_App { } $appConfig = \OC::$server->getAppConfig(); $appStatus = $appConfig->getValues(false, 'enabled'); + $user = \OC_User::getUser(); foreach ($appStatus as $app => $enabled) { if ($app === 'files') { continue; @@ -181,7 +182,6 @@ class OC_App { if ($enabled === 'yes') { $apps[] = $app; } else if ($enabled !== 'no') { - $user = \OC_User::getUser(); $groups = json_decode($enabled); if (is_array($groups)) { foreach ($groups as $group) { @@ -195,7 +195,12 @@ class OC_App { } sort($apps); array_unshift($apps, 'files'); - self::$enabledAppsCache = $apps; + // Only cache the app list, when the user is logged in. + // Otherwise we cache the list with disabled apps, although + // the apps are enabled for the user after he logged in. + if ($user) { + self::$enabledAppsCache = $apps; + } return $apps; } |