Administration : Liste des utilisateurs, etc * auth => authentification * default * file => Distribution des fichiers + print, pas de navbar * help => Aide, Faq, Nouveautés * input => Element de saisie, pas de navbar * legal => Identite, Dirigeants, Finance, Juridique, Evaluation, Pieces Officielles, BDF !!!!! * search => Formulaire de recherche * user => Paramètres, Portefeuille, Surveillances */ $module = $request->getModuleName(); $controller = $request->getControllerName(); $action = $request->getActionName(); if ($module == 'default' && $controller == 'index' && $action = 'index') { return; } if ($module == 'auth') { return; } Zend_Registry::get('firebug')->info('PLUGIN MENU - START'); $layout = Zend_Layout::getMVCInstance(); if ($layout->isEnabled() && $controller != 'print' ) { $user = new Scores_Utilisateur(); if ($user->isLog()) { switch ($module) { case 'search': $view = $layout->getView(); $view->MenuAdvanced = true; $view->MenuLabel = 'Recherche'; $config = include APPLICATION_PATH . '/configs/menu.search.php'; $container = new Zend_Navigation($config); $view->navigation($container); $view->headLink() ->appendStylesheet('/libs/metisMenu/metisMenu.min.css', 'all'); $view->headScript() ->appendFile('/libs/metisMenu/metisMenu.min.js', 'text/javascript'); break; case 'user': $view = $layout->getView(); $view->MenuAdvanced = true; $view->MenuLabel = 'Mon compte'; $config = include APPLICATION_PATH . '/configs/menu.user.php'; $container = new Zend_Navigation($config); $view->navigation($container); $view->headLink() ->appendStylesheet('/libs/metisMenu/metisMenu.min.css', 'all'); $view->headScript() ->appendFile('/libs/metisMenu/metisMenu.min.js', 'text/javascript'); break; case 'legal': $view = $layout->getView(); $view->MenuAdvanced = true; $view->MenuLabel = 'Informations légales'; $config = include APPLICATION_PATH . '/configs/menu.legal.php'; // @todo : Ajouter les paramètres essentiel "cid" et "ctype" sur chaque page $container = new Zend_Navigation($config); $view->navigation($container); $view->headLink() ->appendStylesheet('/libs/metisMenu/metisMenu.min.css', 'all'); $view->headScript() ->appendFile('/libs/metisMenu/metisMenu.min.js', 'text/javascript'); break; default: // --- Override SIRET to complete with zero by left $siret = $request->getParam('siret'); if ( intval($siret)>100 ) { $request->setParam('siret', str_pad($siret, 9, '0', STR_PAD_LEFT)); } // --- Génération du menu $computeMenu = new Scores_Menu($request->getParams()); $menu = $computeMenu->getMenu(); $view = $layout->getView(); $view->navigation($menu); // --- Identifiant Menu $view->menuId = $computeMenu->getIdMenu($controller, $action); // --- Page Access $hasPerm = true; $permPage = $computeMenu->getPagePermission($controller, $action); if ( !empty($permPage) ) { $hasPerm = false; if (is_array($permPage)){ $list = $permPage; } else if (is_string($permPage)){ $list = (array)$permPage; } foreach($list as $permission){ if ($user->checkPerm($permission)){ $hasPerm = true; break; } } } if ( !$hasPerm ) { $request->setModuleName('default')->setControllerName('error')->setActionName('perms'); } else { //Gestion affichage Lien Print / PDF / XML $page = new Scores_Export_Print($controller, $action); if ($page->exportable('print')){ $view->print = $page->filename('print', $request->getParams()); } if ($page->exportable('pdf')){ $view->pdf = $page->filename('pdf', $request->getParams()); } if ($page->exportable('xml') && in_array($user->getIdClient(), array(1,147)) ){ $view->xml = $page->filename('xml', $request->getParams()); } } break; } } } Zend_Registry::get('firebug')->info('PLUGIN MENU - END'); } }