From d2b7a1cc657bd46a71499fd3d45148d2a1beb0ed Mon Sep 17 00:00:00 2001 From: pbarroca <pbarroca@afi-sa.fr> Date: Thu, 6 Feb 2014 16:15:03 +0100 Subject: [PATCH] SAV: fix bug in submenu detection --- library/Class/Systeme/ModulesMenu/Menu.php | 4 +- .../View/Helper/Accueil/MenuVertical.php | 43 ++++++------------- 2 files changed, 16 insertions(+), 31 deletions(-) diff --git a/library/Class/Systeme/ModulesMenu/Menu.php b/library/Class/Systeme/ModulesMenu/Menu.php index 70a26354ab5..d80fbe11649 100644 --- a/library/Class/Systeme/ModulesMenu/Menu.php +++ b/library/Class/Systeme/ModulesMenu/Menu.php @@ -30,7 +30,9 @@ class Class_Systeme_ModulesMenu_Menu extends Class_Systeme_ModulesMenu_Null { public function getUrl($preferences=[]) { - return $preferences['clef_profil']>0 ? $preferences['url'] = BASE_URL . "/opac/index/index/id_profil/" . $preferences["clef_profil"]: '#'; + return $preferences['clef_profil'] > 0 ? + $preferences['url'] = BASE_URL . "/opac/index/index/id_profil/" . $preferences["clef_profil"]: + '#'; } } diff --git a/library/ZendAfi/View/Helper/Accueil/MenuVertical.php b/library/ZendAfi/View/Helper/Accueil/MenuVertical.php index 89326f208a3..e67e0c162fd 100644 --- a/library/ZendAfi/View/Helper/Accueil/MenuVertical.php +++ b/library/ZendAfi/View/Helper/Accueil/MenuVertical.php @@ -19,32 +19,20 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ class ZendAfi_View_Helper_Accueil_MenuVertical extends ZendAfi_View_Helper_Accueil_Base { - /** - * @var Class_Systeme_ModulesMenu - */ + /** @var Class_Systeme_ModulesMenu */ private $_cls_menu; - /** - * CSS des li - * @var string - */ + /** @var string */ private $_li_style; - - /** - * Dossier pour les pictos - * @var Class_Systeme_ModulesMenu - */ private $path_ico; - /** Désactivé car pose problèmes avec les liens vodeclic qui doivent être contextuels */ public function shouldCacheContent() { return false; } - /** * @return array */ @@ -64,7 +52,6 @@ class ZendAfi_View_Helper_Accueil_MenuVertical extends ZendAfi_View_Helper_Accue $this->_li_style = sprintf('style="margin-left:20px;%s"', $menu_deplie ? "" : "display:none"); - // Lire la config du menu $id_profil = $profil->getId(); $menus = $profil->getCfgMenusAsArray(); @@ -78,8 +65,9 @@ class ZendAfi_View_Helper_Accueil_MenuVertical extends ZendAfi_View_Helper_Accue $this->path_ico = BASE_URL . $profil->getPathTheme() . 'images/menus/'; + //le :: c'est pour les menus qui viennent d'un autre profil (Châtenay) if ('1' == $afficher_titre) - $titre = array_last(explode(':: ', $config['libelle'])); //le :: c'est pour les menus qui viennent d'un autre profil (Châtenay) + $titre = array_last(explode(':: ', $config['libelle'])); $contenu = '<div class="menuGauche"><ul class="menuGauche">'; foreach ($config['menus'] as $entree) { @@ -132,10 +120,9 @@ class ZendAfi_View_Helper_Accueil_MenuVertical extends ZendAfi_View_Helper_Accue if (1 == count($items)) { $item = reset($items); $id = $item->getId(); - return $this->_renderListItem($menu, $this->view->url(array( - 'controller' => $controller, - 'action' => $action, - 'id' => $id)), null, true); + return $this->_renderListItem($menu, $this->view->url(['controller' => $controller, + 'action' => $action, + 'id' => $id], null, true)); } $content = $this->_renderListItem($menu); @@ -242,23 +229,19 @@ class ZendAfi_View_Helper_Accueil_MenuVertical extends ZendAfi_View_Helper_Accue $preferences = $menuitem['preferences']; if ($preferences['display_mode'] == 'Submenu') { - unset($preferences["display_mode"]); + unset($preferences['display_mode']); $articles = Class_Article::getLoader()->getArticlesByPreferences($preferences); $articles = Class_Article::getLoader()->filterByLocaleAndWorkflow($articles); return $this->_renderItems('cms', 'articleview', $menuitem, $articles); } - foreach ($preferences as $k => $v) { - if ('' == $v) { + foreach ($preferences as $k => $v) + if ('' == $v) unset($preferences[$k]); - } - } $view_selection_url = $this->view->url( - array_merge($preferences, array('controller' => 'cms', 'action' => 'viewsummary')), - null, - true - ); + array_merge($preferences, ['controller' => 'cms', 'action' => 'viewsummary']), + null, true); return $this->_renderListItem($menuitem, $view_selection_url); } @@ -302,7 +285,7 @@ class ZendAfi_View_Helper_Accueil_MenuVertical extends ZendAfi_View_Helper_Accue * @return string */ private function _renderListItem($menuitem, $url=null, $target=null) { - $a_href = $url ? 'href="'.htmlspecialchars($url).'"':''; + $a_href = 'href="'. ($url ? htmlspecialchars($url) : '#') . '"'; $a_target = $target ? "target='$target'" : ""; $content ='<li class="'.$this->_getContextClass(isset($menuitem["preferences"]["clef_profil"]) ? (int) $menuitem["preferences"]['clef_profil'] : '0').'">'; -- GitLab