summaryrefslogtreecommitdiffstats
path: root/lib/autoloader.php
diff options
context:
space:
mode:
authorRobin Appelman <icewind@owncloud.com>2013-05-08 00:50:33 +0200
committerRobin Appelman <icewind@owncloud.com>2013-05-08 00:50:33 +0200
commit71fc4a2cf4b5eaabdf44fae0fffe73690eb506dd (patch)
tree792624d138c975def49b907d7c2b14af06edc702 /lib/autoloader.php
parente21a3a1a2324684f2e34bce024082d7d1d244b6a (diff)
downloadnextcloud-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.php11
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) {