|
|
@@ -112,6 +112,16 @@ class Zend_Controller_Action_Helper_FlashMessenger extends Zend_Controller_Actio
|
|
|
$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,21 @@ class Zend_Controller_Action_Helper_FlashMessenger extends Zend_Controller_Actio
|
|
|
* @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;
|
|
|
|
|
|
return $this;
|
|
|
}
|
|
|
@@ -150,9 +164,13 @@ class Zend_Controller_Action_Helper_FlashMessenger extends Zend_Controller_Actio
|
|
|
*
|
|
|
* @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 +178,14 @@ class Zend_Controller_Action_Helper_FlashMessenger extends Zend_Controller_Actio
|
|
|
*
|
|
|
* @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 +196,14 @@ class Zend_Controller_Action_Helper_FlashMessenger extends Zend_Controller_Actio
|
|
|
*
|
|
|
* @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 +216,13 @@ class Zend_Controller_Action_Helper_FlashMessenger extends Zend_Controller_Actio
|
|
|
*
|
|
|
* @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 +231,14 @@ class Zend_Controller_Action_Helper_FlashMessenger extends Zend_Controller_Actio
|
|
|
*
|
|
|
* @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 +249,14 @@ class Zend_Controller_Action_Helper_FlashMessenger extends Zend_Controller_Actio
|
|
|
*
|
|
|
* @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 +268,14 @@ class Zend_Controller_Action_Helper_FlashMessenger extends Zend_Controller_Actio
|
|
|
*
|
|
|
* @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 +286,14 @@ class Zend_Controller_Action_Helper_FlashMessenger extends Zend_Controller_Actio
|
|
|
*
|
|
|
* @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 +305,8 @@ class Zend_Controller_Action_Helper_FlashMessenger extends Zend_Controller_Actio
|
|
|
* @param string $message
|
|
|
* @return void
|
|
|
*/
|
|
|
- public function direct($message)
|
|
|
+ public function direct($message, $namespace=NULL)
|
|
|
{
|
|
|
- return $this->addMessage($message);
|
|
|
+ return $this->addMessage($message, $namespace);
|
|
|
}
|
|
|
}
|