Skip to content
Snippets Groups Projects
Select Git revision
  • fbacb22c98f2ea08f37c6fcad181335926f9c08f
  • master default protected
  • ll-api-test
  • php84
  • 6.x
  • release_6.2.0
  • modif_maintenance_phtml
  • 6.0.x
  • detached2
  • detached
  • php82
  • feature_SearchAndSelectFilter
  • 5.x
  • 4.x
  • 7.2.0
  • 6.2.0
  • 7.1.0
  • 7.0.0
  • 1.1.1
  • 6.1.7
  • 6.1.6
  • 6.1.5
  • 6.0.16
  • 6.0.15
  • 6.1.4
  • 6.0.14
  • 6.1.3
  • 6.0.13
  • 6.1.2
  • 6.0.12
  • 6.1.1
  • 6.1.0
  • 6.0.11
  • 6.0.10
34 results

Messenger.php

Blame
  • Code owners
    Assign users and groups as approvers for specific file changes. Learn more.
    Messenger.php 7.30 KiB
    <?php
    namespace UnicaenApp\View\Helper;
    
    use Exception;
    use UnicaenApp\View\Helper\Messenger;
    use Zend\View\Helper\AbstractHelper;
    
    /**
     * Aide de vue permettant de stocker une liste de messages d'information de différentes sévérités 
     * et de générer le code HTML pour les afficher (affublés d'un icône correspondant à leur sévérité). 
     * 
     * Possibilité d'importer les messages du FlashMessenger pour les mettre en forme de la même manière.
     *
     * @author Bertrand GAUTHIER <bertrand.gauthier@unicaen.fr>
     */
    class Messenger extends AbstractHelper
    {
        const INFO    = 'info';
        const SUCCESS = 'success';
        const WARNING = 'warning';
        const ERROR   = 'error';
        
        protected $uiClasses = array( // CSS class, icon name
            self::INFO    => array('info',    'info-sign'),
            self::SUCCESS => array('success', 'ok-sign'),
            self::WARNING => array('warning', 'warning-sign'),
            self::ERROR   => array('error',   'exclamation-sign'),
        );
            
        /**
         * Messages courants
         * @var array
         */
        protected $messages = array();
        
        /**
         * Seule sévérité éventuelle à prendre en compte
         * @var string
         */
        protected $severity = null;
    
    
        /**
         * Helper entry point.
         *
         * @param bool $importFlashMessages 
         * @return self
         */
        public function __invoke($importFlashMessages = false)
        {
            if ($importFlashMessages) {
                $this->importFlashMessages();
            }
            
            return $this;
        }
    
        /**
         * Importe les messages du FlashMessenger.
         * 
         * @return self
         */
        protected function importFlashMessages()
        {
            /* @var $fm \Zend\View\Helper\FlashMessenger */
            $fm = $this->getView()->flashMessenger();
            
            foreach ($fm->getInfoMessages() as $message) {
                $this->addMessage($message, self::INFO);
            }