diff -r 5e7a0fedabdf -r 877f952ae2bd web/lib/Zend/Loader/Autoloader/Resource.php --- a/web/lib/Zend/Loader/Autoloader/Resource.php Thu Mar 21 17:31:31 2013 +0100 +++ b/web/lib/Zend/Loader/Autoloader/Resource.php Thu Mar 21 19:50:53 2013 +0100 @@ -15,8 +15,8 @@ * @category Zend * @package Zend_Loader * @subpackage Autoloader - * @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com) - * @version $Id: Resource.php 20096 2010-01-06 02:05:09Z bkarwin $ + * @copyright Copyright (c) 2005-2012 Zend Technologies USA Inc. (http://www.zend.com) + * @version $Id: Resource.php 24593 2012-01-05 20:35:02Z matthew $ * @license http://framework.zend.com/license/new-bsd New BSD License */ @@ -29,7 +29,7 @@ * @uses Zend_Loader_Autoloader_Interface * @package Zend_Loader * @subpackage Autoloader - * @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_Autoloader_Resource implements Zend_Loader_Autoloader_Interface @@ -88,6 +88,7 @@ if (!empty($namespace)) { $namespace .= '_'; } + require_once 'Zend/Loader/Autoloader.php'; Zend_Loader_Autoloader::getInstance()->unshiftAutoloader($this, $namespace); } @@ -144,7 +145,12 @@ $namespace = ''; if (!empty($namespaceTopLevel)) { - $namespace = array_shift($segments); + $namespace = array(); + $topLevelSegments = count(explode('_', $namespaceTopLevel)); + for ($i = 0; $i < $topLevelSegments; $i++) { + $namespace[] = array_shift($segments); + } + $namespace = implode('_', $namespace); if ($namespace != $namespaceTopLevel) { // wrong prefix? we're done return false; @@ -205,6 +211,12 @@ */ public function setOptions(array $options) { + // Set namespace first, see ZF-10836 + if (isset($options['namespace'])) { + $this->setNamespace($options['namespace']); + unset($options['namespace']); + } + $methods = get_class_methods($this); foreach ($options as $key => $value) { $method = 'set' . ucfirst($key);