From 71fc4a2cf4b5eaabdf44fae0fffe73690eb506dd Mon Sep 17 00:00:00 2001 From: Robin Appelman Date: Wed, 8 May 2013 00:50:33 +0200 Subject: Autoloader: fix loading app clases located in lib/ --- lib/autoloader.php | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) (limited to 'lib/autoloader.php') 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) { -- cgit v1.2.3