Skip to content
Snippets Groups Projects
Select Git revision
  • 0181ef52e796f796d534f857a83ee2ef4d5ed3cf
  • master default protected
  • php84
  • ll-api-test
  • 6.x
  • release_6.2.0
  • modif_maintenance_phtml
  • 6.0.x
  • detached2
  • detached
  • php82
  • feature_SearchAndSelectFilter
  • 5.x
  • 4.x
  • 7.2.1
  • 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
34 results

Module.php

Blame
  • Bertrand Gauthier's avatar
    Bertrand Gauthier authored
    Nouvelle Aide de vue permettant à l'utilisateur de sélectionner son profil courant parmi les différents profils qu'il possède. 
    En l'occurence, cette aide de vue ne génère rien car une application n'utilisant que le module UnicaenApp ne fournit rien permettant à l'utilisateur de se connecter. 
    b71be2bd
    History
    Code owners
    Assign users and groups as approvers for specific file changes. Learn more.
    Module.php 6.93 KiB
    <?php
    namespace UnicaenApp;
    
    use Zend\EventManager\EventInterface;
    use Zend\ModuleManager\Feature\AutoloaderProviderInterface;
    use Zend\ModuleManager\Feature\BootstrapListenerInterface;
    use Zend\ModuleManager\Feature\ConfigProviderInterface;
    use Zend\ModuleManager\Feature\ControllerPluginProviderInterface;
    use Zend\ModuleManager\Feature\ServiceProviderInterface;
    use Zend\ModuleManager\Feature\ViewHelperProviderInterface;
    use Locale;
    use UnicaenApp\Mvc\View\Http\ExceptionStrategy;
    use UnicaenApp\Mvc\Listener\ModalListener;
    
    define('__VENDOR_DIR__', dirname(dirname(__DIR__)));
    
    /**
     * Point d'entrée du module.
     * 
     * @author Bertrand GAUTHIER <bertrand.gauthier@unicaen.fr>
     */
    class Module implements 
            BootstrapListenerInterface, 
            ConfigProviderInterface, 
            ControllerPluginProviderInterface,
            ViewHelperProviderInterface, 
            ServiceProviderInterface
    {
    
        /**
         * 
         * @return array
         * @see ConfigProviderInterface
         */
        public function getConfig()
        {
            return include __DIR__ . '/config/module.config.php';
        }
    
        /**
         * 
         * @return array
         * @see AutoloaderProviderInterface
         */
        public function getAutoloaderConfig()
        {
            return array(
                'Zend\Loader\ClassMapAutoloader' => array(
                    __DIR__ . '/autoload_classmap.php',
                ),
                'Zend\Loader\StandardAutoloader' => array(
                    'namespaces' => array(
                        __NAMESPACE__ => __DIR__ . '/src/' . __NAMESPACE__,
                    ),
                ),
            );
        }
    
        /**
         * This method is called once the MVC bootstrapping is complete,
         * after the "loadModule.post" event, once $application->bootstrap() is called.
         * 
         * @param EventInterface $e
         * @see BootstrapListenerInterface
         */
        public function onBootstrap(EventInterface $e) /* @var $e \Zend\Mvc\MvcEvent */
        {
            /* @var $application \Zend\Mvc\Application */
            $application = $e->getApplication();
            /* @var $services ServiceManager */
            $services    = $application->getServiceManager();
            
            $this->bootstrapSession($e);
            
            // la locale par défaut est celle du service de traduction
            $translator = $services->get('translator');
            Locale::setDefault($translator->getLocale());
            
            $eventManager = $application->getEventManager();
            $viewManager  = $services->get('view_manager');
            
            $exceptionStrategy = new ExceptionStrategy();
            $exceptionStrategy->setDisplayExceptions($viewManager->getExceptionStrategy()->displayExceptions());
            $exceptionStrategy->attach($eventManager);
            
            /* @var $vhm HelperPluginManager */
            $vhm = $services->get('view_helper_manager');
            
            /* @var $nvh Navigation */
            $nvh = $vhm->get('navigation');
            // Déclaration des plugins maison pour l'aide de vue de navigation
            $invokables = array(
                'menuPrincipal'  => 'UnicaenApp\View\Helper\Navigation\MenuPrincipal',
                'menuSecondaire' => 'UnicaenApp\View\Helper\Navigation\MenuSecondaire',
                'menuContextuel' => 'UnicaenApp\View\Helper\Navigation\MenuContextuel',
                'menuPiedDePage' => 'UnicaenApp\View\Helper\Navigation\MenuPiedDePage',
                'filAriane'      => 'UnicaenApp\View\Helper\Navigation\FilAriane',
                'plan'           => 'UnicaenApp\View\Helper\Navigation\Plan',
            );
            foreach ($invokables as $key => $value) {
                $nvh->getPluginManager()->setInvokableClass($key, $value);
            }
            
            $eventManager->attach(new ModalListener());
        }
    
        /**
         * Init session manager.
         * 
         * @param \Zend\Mvc\MvcEvent $e
         */
        public function bootstrapSession($e)
        {
            $session = $e->getApplication()->getServiceManager()->get('Zend\Session\SessionManager');
            $session->start();
    
            $container = new \Zend\Session\Container('initialized');
            if (!isset($container->init)) {
                 $session->regenerateId(true);
                 $container->init = 1;
            }
        }
        
        /**
         * Expected to return \Zend\ServiceManager\Config object or array to
         * seed such an object.
         *
         * @return array|\Zend\ServiceManager\Config
         */
        public function getControllerPluginConfig()
        {
            return array(
                'factories' => array(
                    'ldapPeopleService'    => 'UnicaenApp\Controller\Plugin\LdapPeopleServiceFactory',
                    'ldapStructureService' => 'UnicaenApp\Controller\Plugin\LdapStructureServiceFactory',
                    'ldapGroupService'     => 'UnicaenApp\Controller\Plugin\LdapGroupServiceFactory',
                    'mail'                 => 'UnicaenApp\Controller\Plugin\MailFactory',
                ),
                'invokables' => array(
                    'multipageForm'       => 'UnicaenApp\Controller\Plugin\MultipageForm',
                    'modalInnerViewModel' => 'UnicaenApp\Controller\Plugin\ModalInnerViewModel',
                    'popoverInnerViewModel' => 'UnicaenApp\Controller\Plugin\PopoverInnerViewModel',
                ),
            );
        }
    
        /**
         * 
         * @return array
         * @see ViewHelperProviderInterface
         */
        public function getViewHelperConfig()
        {
            return array(
                'factories' => array(
                    'appInfos'          => 'UnicaenApp\View\Helper\AppInfosFactory',
                    'appLink'           => 'UnicaenApp\View\Helper\AppLinkFactory',
                    'userProfileSelect' => 'UnicaenAuth\View\Helper\UserProfileSelectFactory',
                ),
                'invokables' => array(
                    'appConnection'         => 'UnicaenApp\View\Helper\AppConnection',
                    'messenger'             => 'UnicaenApp\View\Helper\Messenger',
                    'modalAjaxDialog'       => 'UnicaenApp\View\Helper\ModalAjaxDialog',
                    'multipageFormFieldset' => 'UnicaenApp\Form\View\Helper\MultipageFormFieldset',
                    'multipageFormNav'      => 'UnicaenApp\Form\View\Helper\MultipageFormNav',
                    'multipageFormRow'      => 'UnicaenApp\Form\View\Helper\MultipageFormRow',
                    'multipageFormRecap'    => 'UnicaenApp\Form\View\Helper\MultipageFormRecap',
                    'formControlGroup'      => 'UnicaenApp\Form\View\Helper\FormControlGroup',
                    'formDateInfSup'        => 'UnicaenApp\Form\View\Helper\FormDateInfSup',
                    'formRowDateInfSup'     => 'UnicaenApp\Form\View\Helper\FormRowDateInfSup',
                    'formSearchAndSelect'   => 'UnicaenApp\Form\View\Helper\FormSearchAndSelect',
                    'formLdapPeople'        => 'UnicaenApp\Form\View\Helper\FormLdapPeople',
                    'formErrors'            => 'UnicaenApp\Form\View\Helper\FormErrors',
                ),
            );
        }
    
        /**
         * 
         * @return array
         * @see ServiceProviderInterface
         */
        public function getServiceConfig()
        {
            return array(
                'factories' => array(
                    
                ),
            );
        }
    
    }