Rajout d'une aide d'action MessageGetter
[zf2.biz/galerie.git] / vendor / zf2biz / Custom / Mvc / Controller / Plugin / MessageGetter
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
10
11 class MessageGetter extends AbstractPlugin
12 {
13     public function __invoke()
14     {
15         $manager = new SessionManager();
16         $container = new Container('FlashMessenger', $manager);
17         $namespaces = array();
18         $messages = array();
19
20         foreach ($container as $namespace => $messages) {
21             $messages[$namespace] = $messages;
22             $namespaces[] = $namespace;
23         }
24         foreach ($namespaces as $namespace) {
25             unset($container->{$namespace});
26         }
27
28         $result = array();
29         if (isset($messages['infos']) {
30             $result['infos'] = $messages['infos']->toArray();
31         }
32         if (isset($messages['warnings']) {
33             $result['warnings'] = $messages['warnings']->toArray();
34         }
35         if (isset($messages['errors']) {
36             $result['errors'] = $messages['errors']->toArray();
37         }
38
39         return $result;
40     }
41
42 }
43