Merge pull request #18109 from owncloud/fix-router-app-loaded
Only load app routes if the app has already been loaded
This commit is contained in:
commit
54aa57b47a
|
@ -73,6 +73,16 @@ class OC_App {
|
|||
return str_replace(array('\0', '/', '\\', '..'), '', $app);
|
||||
}
|
||||
|
||||
/**
|
||||
* Check if an app is loaded
|
||||
*
|
||||
* @param string $app
|
||||
* @return bool
|
||||
*/
|
||||
public static function isAppLoaded($app) {
|
||||
return in_array($app, self::$loadedApps, true);
|
||||
}
|
||||
|
||||
/**
|
||||
* loads all apps
|
||||
*
|
||||
|
|
|
@ -150,6 +150,12 @@ class Router implements IRouter {
|
|||
\OC::$server->getEventLogger()->start('loadroutes' . $requestedApp, 'Loading Routes');
|
||||
foreach ($routingFiles as $app => $file) {
|
||||
if (!isset($this->loadedApps[$app])) {
|
||||
if (!\OC_App::isAppLoaded($app)) {
|
||||
// app MUST be loaded before app routes
|
||||
// try again next time loadRoutes() is called
|
||||
$this->loaded = false;
|
||||
continue;
|
||||
}
|
||||
$this->loadedApps[$app] = true;
|
||||
$this->useCollection($app);
|
||||
$this->requireRouteFile($file, $app);
|
||||
|
|
Loading…
Reference in New Issue