Merge ff8695fdb4
into 188bc07869
This commit is contained in:
commit
66ba3262a4
|
@ -342,6 +342,21 @@ class AppManager implements IAppManager {
|
|||
return !empty($protectedTypes);
|
||||
}
|
||||
|
||||
/**
|
||||
* Whether a list of types contains only protected app types
|
||||
*
|
||||
* @param string[] $types
|
||||
* @return bool
|
||||
*/
|
||||
public function hasOnlyProtectedAppTypes($types) {
|
||||
if (empty($types)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
$unprotectedTypes = array_diff($types, $this->protectedAppTypes);
|
||||
return empty($unprotectedTypes);
|
||||
}
|
||||
|
||||
/**
|
||||
* Enable an app only for specific groups
|
||||
*
|
||||
|
|
|
@ -117,8 +117,12 @@ class OC_App {
|
|||
if ((bool) \OC::$server->getSystemConfig()->getValue('maintenance', false)) {
|
||||
return false;
|
||||
}
|
||||
// If only protected types, don't filter by user (prevents
|
||||
// session invalidation when loading prelogin/authentication
|
||||
// types).
|
||||
$all = \OC::$server->getAppManager()->hasOnlyProtectedAppTypes($types);
|
||||
// Load the enabled apps here
|
||||
$apps = self::getEnabledApps();
|
||||
$apps = self::getEnabledApps(false, $all);
|
||||
|
||||
// Add each apps' folder as allowed class path
|
||||
foreach ($apps as $app) {
|
||||
|
|
Loading…
Reference in New Issue