From 36d22825e0797eedd1c239a70bbb385fa8ac7042 Mon Sep 17 00:00:00 2001 From: Vincent Petry Date: Thu, 9 Oct 2014 13:22:14 +0200 Subject: [PATCH] Clear enabled apps cache after loading authentication app Since getEnabledApps() depends on an authentication app to be loaded, especially in the case of LDAP, the cache from getEnabledApps() is now cleared to make sure that subsequent calls will properly return apps that were enabled for groups. This is because getEnabledApps() uses the inGroups() function from the group manager provided by LDAP or any other authentication app. --- lib/private/app.php | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/lib/private/app.php b/lib/private/app.php index 3eed9e3c443..73f9a2ddd42 100644 --- a/lib/private/app.php +++ b/lib/private/app.php @@ -93,6 +93,13 @@ class OC_App { throw new \OC\NeedsUpdateException(); } require_once $app . '/appinfo/app.php'; + if (self::isType($app, array('authentication'))) { + // since authentication apps affect the "is app enabled for group" check, + // the enabled apps cache needs to be cleared to make sure that the + // next time getEnableApps() is called it will also include apps that were + // enabled for groups + self::$enabledAppsCache = array(); + } } } -- 2.39.5