diff -r 5e7a0fedabdf -r 877f952ae2bd web/lib/Zend/View/Helper/HeadScript.php --- a/web/lib/Zend/View/Helper/HeadScript.php Thu Mar 21 17:31:31 2013 +0100 +++ b/web/lib/Zend/View/Helper/HeadScript.php Thu Mar 21 19:50:53 2013 +0100 @@ -15,8 +15,8 @@ * @category Zend * @package Zend_View * @subpackage Helper - * @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com) - * @version $Id: HeadScript.php 20363 2010-01-17 22:55:25Z mabe $ + * @copyright Copyright (c) 2005-2012 Zend Technologies USA Inc. (http://www.zend.com) + * @version $Id: HeadScript.php 24960 2012-06-15 14:09:34Z adamlundrigan $ * @license http://framework.zend.com/license/new-bsd New BSD License */ @@ -29,7 +29,7 @@ * @uses Zend_View_Helper_Placeholder_Container_Standalone * @package Zend_View * @subpackage Helper - * @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_View_Helper_HeadScript extends Zend_View_Helper_Placeholder_Container_Standalone @@ -245,7 +245,7 @@ break; case 'file': default: - if (!$this->_isDuplicate($content)) { + if (!$this->_isDuplicate($content) || $action=='set') { $attrs['src'] = $content; $item = $this->createData($type, $attrs); if ('offsetSet' == $action) { @@ -371,7 +371,6 @@ throw $e; } - $this->_isValid($value); return $this->getContainer()->offsetSet($index, $value); } @@ -411,8 +410,8 @@ $attrString = ''; if (!empty($item->attributes)) { foreach ($item->attributes as $key => $value) { - if (!$this->arbitraryAttributesAllowed() - && !in_array($key, $this->_optionalAttributes)) + if ((!$this->arbitraryAttributesAllowed() && !in_array($key, $this->_optionalAttributes)) + || in_array($key, array('conditional', 'noescape'))) { continue; } @@ -423,10 +422,24 @@ } } + $addScriptEscape = !(isset($item->attributes['noescape']) && filter_var($item->attributes['noescape'], FILTER_VALIDATE_BOOLEAN)); + $type = ($this->_autoEscape) ? $this->_escape($item->type) : $item->type; $html = '';