diff -r 5e7a0fedabdf -r 877f952ae2bd web/lib/Zend/Controller/Action/Helper/FlashMessenger.php --- a/web/lib/Zend/Controller/Action/Helper/FlashMessenger.php Thu Mar 21 17:31:31 2013 +0100 +++ b/web/lib/Zend/Controller/Action/Helper/FlashMessenger.php Thu Mar 21 19:50:53 2013 +0100 @@ -15,7 +15,7 @@ * @category Zend * @package Zend_Controller * @subpackage Zend_Controller_Action_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 */ @@ -36,9 +36,9 @@ * @category Zend * @package Zend_Controller * @subpackage Zend_Controller_Action_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 - * @version $Id: FlashMessenger.php 20096 2010-01-06 02:05:09Z bkarwin $ + * @version $Id: FlashMessenger.php 24813 2012-05-22 16:49:24Z adamlundrigan $ */ class Zend_Controller_Action_Helper_FlashMessenger extends Zend_Controller_Action_Helper_Abstract implements IteratorAggregate, Countable { @@ -112,6 +112,16 @@ $this->_namespace = $namespace; return $this; } + + /** + * getNamespace() - return the current namepsace + * + * @return string + */ + public function getNamespace() + { + return $this->_namespace; + } /** * resetNamespace() - reset the namespace to the default @@ -130,17 +140,22 @@ * @param string $message * @return Zend_Controller_Action_Helper_FlashMessenger Provides a fluent interface */ - public function addMessage($message) + public function addMessage($message, $namespace = null) { + if (!is_string($namespace) || $namespace == '') { + $namespace = $this->getNamespace(); + } + if (self::$_messageAdded === false) { self::$_session->setExpirationHops(1, null, true); } if (!is_array(self::$_session->{$this->_namespace})) { - self::$_session->{$this->_namespace} = array(); + self::$_session->{$namespace} = array(); } - self::$_session->{$this->_namespace}[] = $message; + self::$_session->{$namespace}[] = $message; + self::$_messageAdded = true; return $this; } @@ -150,9 +165,13 @@ * * @return boolean */ - public function hasMessages() + public function hasMessages($namespace = null) { - return isset(self::$_messages[$this->_namespace]); + if (!is_string($namespace) || $namespace == '') { + $namespace = $this->getNamespace(); + } + + return isset(self::$_messages[$namespace]); } /** @@ -160,10 +179,14 @@ * * @return array */ - public function getMessages() + public function getMessages($namespace = null) { - if ($this->hasMessages()) { - return self::$_messages[$this->_namespace]; + if (!is_string($namespace) || $namespace == '') { + $namespace = $this->getNamespace(); + } + + if ($this->hasMessages($namespace)) { + return self::$_messages[$namespace]; } return array(); @@ -174,10 +197,14 @@ * * @return boolean True if messages were cleared, false if none existed */ - public function clearMessages() + public function clearMessages($namespace = null) { - if ($this->hasMessages()) { - unset(self::$_messages[$this->_namespace]); + if (!is_string($namespace) || $namespace == '') { + $namespace = $this->getNamespace(); + } + + if ($this->hasMessages($namespace)) { + unset(self::$_messages[$namespace]); return true; } @@ -190,9 +217,13 @@ * * @return boolean */ - public function hasCurrentMessages() + public function hasCurrentMessages($namespace = null) { - return isset(self::$_session->{$this->_namespace}); + if (!is_string($namespace) || $namespace == '') { + $namespace = $this->getNamespace(); + } + + return isset(self::$_session->{$namespace}); } /** @@ -201,10 +232,14 @@ * * @return array */ - public function getCurrentMessages() + public function getCurrentMessages($namespace = null) { - if ($this->hasCurrentMessages()) { - return self::$_session->{$this->_namespace}; + if (!is_string($namespace) || $namespace == '') { + $namespace = $this->getNamespace(); + } + + if ($this->hasCurrentMessages($namespace)) { + return self::$_session->{$namespace}; } return array(); @@ -215,10 +250,14 @@ * * @return boolean */ - public function clearCurrentMessages() + public function clearCurrentMessages($namespace = null) { + if (!is_string($namespace) || $namespace == '') { + $namespace = $this->getNamespace(); + } + if ($this->hasCurrentMessages()) { - unset(self::$_session->{$this->_namespace}); + unset(self::$_session->{$namespace}); return true; } @@ -230,10 +269,14 @@ * * @return ArrayObject */ - public function getIterator() + public function getIterator($namespace = null) { - if ($this->hasMessages()) { - return new ArrayObject($this->getMessages()); + if (!is_string($namespace) || $namespace == '') { + $namespace = $this->getNamespace(); + } + + if ($this->hasMessages($namespace)) { + return new ArrayObject($this->getMessages($namespace)); } return new ArrayObject(); @@ -244,10 +287,14 @@ * * @return int */ - public function count() + public function count($namespace = null) { - if ($this->hasMessages()) { - return count($this->getMessages()); + if (!is_string($namespace) || $namespace == '') { + $namespace = $this->getNamespace(); + } + + if ($this->hasMessages($namespace)) { + return count($this->getMessages($namespace)); } return 0; @@ -259,8 +306,8 @@ * @param string $message * @return void */ - public function direct($message) + public function direct($message, $namespace=NULL) { - return $this->addMessage($message); + return $this->addMessage($message, $namespace); } }