Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add custom FlashMessenger helper with predefined namespaces support.
- Loading branch information
1 parent
bf24eb6
commit 2340729
Showing
1 changed file
with
49 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,49 @@ | ||
<?php | ||
/** | ||
* Flash Messenger - implement session-based messages | ||
* | ||
* @author Loïc Frering <loic.frering@gmail.com> | ||
*/ | ||
class LoSo_Zend_Controller_Action_Helper_FlashMessenger extends Zend_Controller_Action_Helper_FlashMessenger | ||
{ | ||
/** | ||
* preDispatch() - runs before action is dispatched. | ||
* | ||
* @return LoSo_Zend_Controller_Action_Helper_FlashMessenger Provides a fluent interface | ||
*/ | ||
public function preDispatch() | ||
{ | ||
$controller = $this->getActionController(); | ||
$controller->view->infoMessages = $this->setNamespace('default')->getMessages(); | ||
$controller->view->successMessages = $this->setNamespace('success')->getMessages(); | ||
$controller->view->errorMessages = $this->setNamespace('error')->getMessages(); | ||
$controller->view->warnMessages = $this->setNamespace('warn')->getMessages(); | ||
} | ||
|
||
/** | ||
* addMessage() - Add a message to flash message | ||
* | ||
* @param string $message | ||
* @param string $namespace | ||
* @return LoSo_Zend_Controller_Action_Helper_FlashMessenger Provides a fluent interface | ||
*/ | ||
public function addMessage($message, $namespace = null) | ||
{ | ||
if (!empty($namespace)) { | ||
$this->setNamespace($namespace); | ||
} | ||
return parent::addMessage($message); | ||
} | ||
|
||
/** | ||
* Strategy pattern: proxy to addMessage() | ||
* | ||
* @param string $message | ||
* @param string $namespace | ||
* @return void | ||
*/ | ||
public function direct($message, $namespace = null) | ||
{ | ||
return $this->addMessage($message, $namespace); | ||
} | ||
} |