protected function InitialiserReferentiels() { $mListeMenus = new MListeMenus(); $mListeMenus->AjouterColSelection(COL_ID); $mListeMenus->AjouterColSelection(COL_LIBELLE); $mListeMenus->AjouterColOrdre(COL_LIBELLE); $this->AjouterReferentiel(array(COL_MENU, COL_ID), $mListeMenus, array(COL_ID, array(COL_LIBELLE, COL_LIBELLE))); }
<?php require_once 'cst.php'; require_once PATH_METIER . 'mListeMenus.php'; require_once PATH_COMPOSANTS . 'cListeMenusAdmin.php'; if (GDroit::ADroitPopErreur(DROIT_ADMIN) === true) { $prefixIdClass = PIC_ADM; $cListe = new CListeMenusAdmin($prefixIdClass, 'MenusAdmin', $nomContexte, 20, -1, true, 'MenusAdmin'); $mListe = new MListeMenus(); $mListe->AjouterColSelection(COL_ID); $mListe->AjouterColSelection(COL_LIBELLE); $mListe->AjouterColSelection(COL_ORDRE); $mListe->AjouterColSelection(COL_MENU); $mListe->AjouterColSelection(COL_DEPENDFONCTIONNALITE); $numJointure = $mListe->AjouterJointure(COL_MENU, COL_ID, 0, SQL_LEFT_JOIN); $numJointure = $mListe->AjouterJointure(COL_LIBELLE, COL_ID, $numJointure, SQL_LEFT_JOIN); $mListe->AjouterColSelectionPourJointure($numJointure, COL_LIBELLE, COL_MENU . COL_LIBELLE); $mListe->AjouterFiltreEgalPourJointure($numJointure, COL_LANGUE, GSession::Langue(COL_ID)); $mListe->AjouterColOrdre(COL_ORDRE); $cListe->InjecterListeObjetsMetiers($mListe); if ($dejaCharge === false) { GContexte::AjouterContenu(CADRE_CONTENU_CONTENU, $cListe); } else { GContexte::AjouterListe($cListe); } }
$cListe = new CListeMenusPliants($prefixIdClass, 'Menus', $nomContexte, -1); // Chargement de la liste de tous les menus. $mListe = new MListeMenus(); $mListe->AjouterColSelection(COL_ID); $mListe->AjouterColSelection(COL_LIBELLE); $mListe->AjouterColSelection(COL_ORDRE); $mListe->AjouterColSelection(COL_MENU); $mListe->AjouterColSelection(COL_DEPENDFONCTIONNALITE); $numJointure = $mListe->AjouterJointure(COL_MENU, COL_ID, 0, SQL_LEFT_JOIN); $numJointure = $mListe->AjouterJointure(COL_LIBELLE, COL_ID, $numJointure, SQL_LEFT_JOIN); $mListe->AjouterColSelectionPourJointure($numJointure, COL_LIBELLE, COL_MENU . COL_LIBELLE); $mListe->AjouterFiltreEgalPourJointure($numJointure, COL_LANGUE, GSession::Langue(COL_ID)); $mListe->AjouterColOrdre(COL_ORDRE); $mListe->Charger(); // Liste des menus principaux. $mListeMenusPrincipaux = new MListeMenus(); $menus = $mListe->GetListe(); foreach ($menus as $menu) { if ($menu->Menu()->Id() === NULL) { $mListeMenusPrincipaux->AjouterElement($menu); } } $menusPrincipaux = $mListeMenusPrincipaux->GetListe(); foreach ($menusPrincipaux as $menuPrincipal) { $nbSousMenus = 0; $cListeSousMenus = new CListeMenus($prefixIdClass, 'Menus_' . $menuPrincipal->Id(), $nomContexte, -1); $cListeSousMenus->SetListeParente($cListe, $menuPrincipal->Id()); $mListeSousMenus = new MListeMenus(); // On regarde les sous-menus qui sont rattachés aux menus principaux. foreach ($menus as $menu) { if ($menuPrincipal->Id() === $menu->Menu()->Id()) {