summaryrefslogtreecommitdiffstats
path: root/system/core
diff options
context:
space:
mode:
Diffstat (limited to 'system/core')
-rw-r--r--system/core/Loader.php8
1 files changed, 7 insertions, 1 deletions
diff --git a/system/core/Loader.php b/system/core/Loader.php
index a62cf06f5..01d99dd37 100644
--- a/system/core/Loader.php
+++ b/system/core/Loader.php
@@ -911,7 +911,7 @@ class CI_Loader {
$class = substr($class, $last_slash);
// Check for match and driver base class
- if (strtolower($subdir) == strtolower($class) && ! class_exists('CI_Driver_Library'))
+ if (strtolower(trim($subdir, '/')) == strtolower($class) && ! class_exists('CI_Driver_Library'))
{
// We aren't instantiating an object here, just making the base class available
require BASEPATH.'libraries/Driver.php';
@@ -1005,6 +1005,12 @@ class CI_Loader {
$path = strtolower($class).'/'.$class;
return $this->_ci_load_class($path, $params);
}
+ else if (ucfirst($subdir) != $subdir)
+ {
+ // Lowercase subdir failed - retry capitalized
+ $path = ucfirst($subdir).$class;
+ return $this->_ci_load_class($path, $params);
+ }
// If we got this far we were unable to find the requested class.
// We do not issue errors if the load call failed due to a duplicate request