Rajout d'une aide d'action MessageGetter
[zf2.biz/galerie.git] / vendor / zf2biz / Custom / Mvc / Controller / Plugin / MessageGetter.php
1 <?php
2
3 namespace Custom\Mvc\Controller\Plugin;
4
5 use Zend\Mvc\Controller\Plugin\AbstractPlugin;
6
7 use Zend\Session\Container;
8 use Zend\Session\SessionManager;
9 use Zend\ServiceManager\ServiceManagerAwareInterface;
10 use Zend\ServiceManager\ServiceManager;
11
12
13 class MessageGetter extends AbstractPlugin implements ServiceManagerAwareInterface
14 {
15
16     /**
17      * @var ServiceManager
18      */
19     protected $serviceManager;
20     
21     protected $messages = array();
22
23
24     public function __invoke()
25     {
26         $manager = new SessionManager();
27         $container = new Container('FlashMessenger', $manager);
28         $namespaces = array();
29
30         foreach ($container as $namespace => $messages) {
31             $this->messages[$namespace] = $messages->toArray();
32             $namespaces[] = $namespace;
33         }
34         foreach ($namespaces as $namespace) {
35             unset($container->{$namespace});
36         }
37
38         return $this->messages;
39     }
40
41     /**
42      * Retrieve service manager instance
43      *
44      * @return ServiceManager
45      */
46     public function getServiceManager()
47     {
48         return $this->serviceManager->getServiceLocator();
49     }
50
51     /**
52      * Set service manager instance
53      *
54      * @param ServiceManager $locator
55      * @return void
56      */
57     public function setServiceManager(ServiceManager $serviceManager)
58     {
59         $this->serviceManager = $serviceManager;
60     }
61
62 }
63