diff options
author | Joas Schilling <nickvergessen@owncloud.com> | 2016-05-02 14:11:34 +0200 |
---|---|---|
committer | Joas Schilling <nickvergessen@owncloud.com> | 2016-05-02 15:17:14 +0200 |
commit | ee3457aec08173bdaddde803ba3bfbf0e898b899 (patch) | |
tree | bedd52e8e1cf13e4735f5dcbb38c3ec88e11aa88 | |
parent | 866856035289196eb017446dec70ea45c234f0b1 (diff) | |
download | nextcloud-server-ee3457aec08173bdaddde803ba3bfbf0e898b899.tar.gz nextcloud-server-ee3457aec08173bdaddde803ba3bfbf0e898b899.zip |
Register the PSR-4 path on loadApp
-rw-r--r-- | lib/private/legacy/app.php | 23 |
1 files changed, 21 insertions, 2 deletions
diff --git a/lib/private/legacy/app.php b/lib/private/legacy/app.php index 246bf97ee91..5688747c88d 100644 --- a/lib/private/legacy/app.php +++ b/lib/private/legacy/app.php @@ -107,7 +107,7 @@ class OC_App { foreach($apps as $app) { $path = self::getAppPath($app); if($path !== false) { - \OC::$loader->addValidRoot($path); + self::registerAutoloading($app, $path); } } @@ -136,7 +136,10 @@ class OC_App { if($appPath === false) { return; } - \OC::$loader->addValidRoot($appPath); // in case someone calls loadApp() directly + + // in case someone calls loadApp() directly + self::registerAutoloading($app, $appPath); + if (is_file($appPath . '/appinfo/app.php')) { \OC::$server->getEventLogger()->start('load_app_' . $app, 'Load app: ' . $app); if ($checkUpgrade and self::shouldUpgrade($app)) { @@ -155,6 +158,22 @@ class OC_App { } /** + * @param string $app + * @param string $path + */ + protected static function registerAutoloading($app, $path) { + // Register on PSR-4 composer autoloader + $appNamespace = \OC\AppFramework\App::buildAppNamespace($app); + \OC::$composerAutoloader->addPsr4($appNamespace . '\\', $path . '/src/', true); + if (defined('PHPUNIT_RUN')) { + \OC::$composerAutoloader->addPsr4($appNamespace . '\\Tests\\', $path . '/tests/', true); + } + + // Register on legacy autoloader + \OC::$loader->addValidRoot($path); + } + + /** * Load app.php from the given app * * @param string $app app name |