diff options
author | Robin Appelman <icewind@owncloud.com> | 2013-05-08 00:50:33 +0200 |
---|---|---|
committer | Robin Appelman <icewind@owncloud.com> | 2013-05-08 00:50:33 +0200 |
commit | 71fc4a2cf4b5eaabdf44fae0fffe73690eb506dd (patch) | |
tree | 792624d138c975def49b907d7c2b14af06edc702 /lib/autoloader.php | |
parent | e21a3a1a2324684f2e34bce024082d7d1d244b6a (diff) | |
download | nextcloud-server-71fc4a2cf4b5eaabdf44fae0fffe73690eb506dd.tar.gz nextcloud-server-71fc4a2cf4b5eaabdf44fae0fffe73690eb506dd.zip |
Autoloader: fix loading app clases located in lib/
Diffstat (limited to 'lib/autoloader.php')
-rw-r--r-- | lib/autoloader.php | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/lib/autoloader.php b/lib/autoloader.php index d84924d5969..9615838a9a2 100644 --- a/lib/autoloader.php +++ b/lib/autoloader.php @@ -78,14 +78,15 @@ class Autoloader { } elseif (strpos($class, 'OC\\') === 0) { $paths[] = strtolower(str_replace('\\', '/', substr($class, 3)) . '.php'); } elseif (strpos($class, 'OCP\\') === 0) { - $paths[] = 'public/' . strtolower(str_replace('\\', '/', substr($class, 3)) . '.php'); + $paths[] = 'public/' . strtolower(str_replace('\\', '/', substr($class, 4)) . '.php'); } elseif (strpos($class, 'OCA\\') === 0) { + list(, $app, $rest) = explode('\\', $class, 3); + $app = strtolower($app); foreach (\OC::$APPSROOTS as $appDir) { - list(, $app,) = explode('\\', $class); - if (stream_resolve_include_path($appDir['path'] . '/' . strtolower($app))) { - $paths[] = $appDir['path'] . '/' . strtolower(str_replace('\\', '/', substr($class, 4)) . '.php'); + if (stream_resolve_include_path($appDir['path'] . '/' . $app)) { + $paths[] = $appDir['path'] . '/' . $app . '/' . strtolower(str_replace('\\', '/', $rest) . '.php'); // If not found in the root of the app directory, insert '/lib' after app id and try again. - $paths[] = $appDir['path'] . '/lib/' . strtolower(str_replace('\\', '/', substr($class, 4)) . '.php'); + $paths[] = $appDir['path'] . '/' . $app . '/lib/' . strtolower(str_replace('\\', '/', $rest) . '.php'); } } } elseif (strpos($class, 'Test_') === 0) { |