1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85
|
function affiche_menu() {
// On choisit le menu en fonction du groupe auquel l'utilisateur appartient
$groupeTEST = $_SERVER[Groupe];
// on ajoute un ; à la fin :
$groupeTEST = ' '.$groupeTEST.';';
$sql = "SELECT groupeNom FROM groupe";
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
while($row = mysql_fetch_array($req))
{
$result_array[] = $row['groupeNom'];
}
$resultat_trouve == false;
// Comparaison des noms de groupes "purs"
foreach($result_array as $groupeNom){
if (strpos($groupeTEST, $groupeNom.';')){ // d'où l'intêrét d'avoir rajouter un ';' !
$groupemenu = $groupeNom;
$resultat_trouve == true;
}
}
//Comparaison avec les "sous-groupes" (ex : DOSC-XXX (- DOSC-MANAGER qui est considéré comme "pur") appartiennent à DOSC)
if($resultat_trouve == false)
{
foreach($result_array as $groupeNom){
if (strpos($groupeTEST, $groupeNom.'-')!== false){
$groupemenu = $groupeNom;
}
}
}
// On récupère le menu
$sql = "SELECT g.groupeId, m.menuId, s.sousmenuId, g.groupeNom, m.menuTitre, s.sousmenuTitre
FROM sousmenu s
JOIN droit d
ON s.sousmenuId=d.sousmenuId
JOIN groupe g
ON g.groupeId=d.groupeId
JOIN menu m
ON m.menuId = s.parent
WHERE g.groupeNom IN ('$groupemenu')
ORDER BY g.groupeId, m.menuId";
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
$catPrec = 0;
// on ouvre la liste conteneur
echo '<ul id="menu">';
while ($data = mysql_fetch_array($req)) {
// Si on entre dans une nouvelle catégorie
if ($data['menuId'] != $catPrec) {
// Si cette catégorie n'est pas la première, on ferme les listes
if ($catPrec != 0) {
echo "</ul>";
echo "</li>";
}
//Nouvelle catégorie
echo "<li>";
echo "<a>";
echo $data['menuTitre'];
echo "</a>";
echo "<ul>";
$catPrec = $data['menuId'];
}
// On affiche la ligne sousmenu :
echo "<li>";
echo '<a href="index.php?menu='.$data['sousmenuId'].'">';
echo $data['sousmenuTitre'];
echo "</a>";
echo "</li>";
}
echo "</ul>";
echo "</li>";
// C'est fini, on ferme la liste conteneur
echo "</ul>";
} |