diff --git a/t3lib/class.t3lib_autoloader.php b/t3lib/class.t3lib_autoloader.php index f2ac8a96fb63d5afed46e65701081996e91f0a0d..564de46a425e5dd0f8fcb71ca0a6081c99efe257 100644 --- a/t3lib/class.t3lib_autoloader.php +++ b/t3lib/class.t3lib_autoloader.php @@ -143,7 +143,7 @@ class t3lib_autoloader { $classRegistry = $phpCodeCache->requireOnce(self::getAutoloadCacheIdentifier()); } else { self::$cacheUpdateRequired = TRUE; - $classRegistry = self::createCoreAndExtensionRegistry(); + $classRegistry = self::lowerCaseClassRegistry(self::createCoreAndExtensionRegistry()); } // This can only happen if the autoloader was already registered @@ -154,18 +154,11 @@ class t3lib_autoloader { // switched to NullBackend for example to simplify development if (!is_array($classRegistry)) { self::$cacheUpdateRequired = TRUE; - $classRegistry = self::createCoreAndExtensionRegistry(); + $classRegistry = self::lowerCaseClassRegistry(self::createCoreAndExtensionRegistry()); } - // Lowercase all keys. We must use the multi byte safe version - // of strtolower from t3lib_div here, so array_change_key_case() - // can not be used - $lowerCasedClassRegistry = array(); - foreach ($classRegistry as $className => $classFile) { - $lowerCasedClassRegistry[t3lib_div::strtolower($className)] = $classFile; - } - self::$classNameToFileMapping = $lowerCasedClassRegistry; + self::$classNameToFileMapping = $classRegistry; } /** @@ -391,5 +384,22 @@ class t3lib_autoloader { } return self::$autoloadCacheIdentifier; } + + /** + * Lowercase all keys of the class registry. + * + * Use the multi byte safe version of strtolower from t3lib_div, + * so array_change_key_case() can not be used + * + * @param array $registry Given registry entries + * @return array with lower cased keys + */ + protected static function lowerCaseClassRegistry($registry) { + $lowerCasedClassRegistry = array(); + foreach ($registry as $className => $classFile) { + $lowerCasedClassRegistry[t3lib_div::strtolower($className)] = $classFile; + } + return $lowerCasedClassRegistry; + } } ?> \ No newline at end of file