--- 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);