web/lib/Zend/Loader/PluginLoader.php
changeset 886 1e110b03ae96
parent 807 877f952ae2bd
child 1230 68c69c656a2c
--- a/web/lib/Zend/Loader/PluginLoader.php	Sun Apr 21 10:07:03 2013 +0200
+++ b/web/lib/Zend/Loader/PluginLoader.php	Sun Apr 21 21:54:24 2013 +0200
@@ -15,9 +15,9 @@
  * @category   Zend
  * @package    Zend_Loader
  * @subpackage PluginLoader
- * @copyright  Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
+ * @copyright  Copyright (c) 2005-2012 Zend Technologies USA Inc. (http://www.zend.com)
  * @license    http://framework.zend.com/license/new-bsd     New BSD License
- * @version    $Id: PluginLoader.php 22603 2010-07-17 00:02:10Z ramon $
+ * @version    $Id: PluginLoader.php 24877 2012-06-04 14:04:53Z adamlundrigan $
  */
 
 /** Zend_Loader_PluginLoader_Interface */
@@ -32,7 +32,7 @@
  * @category   Zend
  * @package    Zend_Loader
  * @subpackage PluginLoader
- * @copyright  Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
+ * @copyright  Copyright (c) 2005-2012 Zend Technologies USA Inc. (http://www.zend.com)
  * @license    http://framework.zend.com/license/new-bsd     New BSD License
  */
 class Zend_Loader_PluginLoader implements Zend_Loader_PluginLoader_Interface
@@ -127,12 +127,8 @@
             return $prefix;
         }
 
-        $last = strlen($prefix) - 1;
-        if ($prefix{$last} == '\\') {
-            return $prefix;
-        }
-
-        return rtrim($prefix, '_') . '_';
+        $nsSeparator = (false !== strpos($prefix, '\\'))?'\\':'_';
+        return rtrim($prefix, $nsSeparator) . $nsSeparator;
     }
 
     /**
@@ -372,7 +368,11 @@
 
         $registry  = array_reverse($registry, true);
         $found     = false;
-        $classFile = str_replace('_', DIRECTORY_SEPARATOR, $name) . '.php';
+        if (false !== strpos($name, '\\')) {
+            $classFile = str_replace('\\', DIRECTORY_SEPARATOR, $name) . '.php';
+        } else {
+            $classFile = str_replace('_', DIRECTORY_SEPARATOR, $name) . '.php';
+        }
         $incFile   = self::getIncludeFileCache();
         foreach ($registry as $prefix => $paths) {
             $className = $prefix . $name;