Merge pull request #2993 from owncloud/resolve_apps_lib_path
Let autoloader resolve paths under apps lib directory.
This commit is contained in:
commit
c84281990c
11
lib/base.php
11
lib/base.php
|
@ -97,8 +97,15 @@ class OC {
|
||||||
$path = 'public/' . strtolower(str_replace('\\', '/', substr($className, 3)) . '.php');
|
$path = 'public/' . strtolower(str_replace('\\', '/', substr($className, 3)) . '.php');
|
||||||
} elseif (strpos($className, 'OCA\\') === 0) {
|
} elseif (strpos($className, 'OCA\\') === 0) {
|
||||||
foreach (self::$APPSROOTS as $appDir) {
|
foreach (self::$APPSROOTS as $appDir) {
|
||||||
$path = $appDir['path'] . '/' . strtolower(str_replace('\\', '/', substr($className, 3)) . '.php');
|
$path = strtolower(str_replace('\\', '/', substr($className, 4)) . '.php');
|
||||||
$fullPath = stream_resolve_include_path($path);
|
$fullPath = stream_resolve_include_path($appDir['path'] . '/' . $path);
|
||||||
|
if (file_exists($fullPath)) {
|
||||||
|
require_once $fullPath;
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
// If not found in the root of the app directory, insert '/lib' after app id and try again.
|
||||||
|
$libpath = substr($path, 0, strpos($path, '/')) . '/lib' . substr($path, strpos($path, '/'));
|
||||||
|
$fullPath = stream_resolve_include_path($appDir['path'] . '/' . $libpath);
|
||||||
if (file_exists($fullPath)) {
|
if (file_exists($fullPath)) {
|
||||||
require_once $fullPath;
|
require_once $fullPath;
|
||||||
return false;
|
return false;
|
||||||
|
|
Loading…
Reference in New Issue