Exemplo n.º 1
0
require_once PATH_METIER . 'mFonctionnalite.php';
$prefixIdClass = PIC_NAV;
$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.