data->is_admin($env->pun_user["id"])) { $env->path = array("root", "menus"); $env->out["ariane"] = array(); if($_GET[$env->param("path")]) { $v_path = explode("/", $_GET[$env->param("path")]); foreach($v_path as $_path) if($_path) { $env->path[] = (int)$_path; $env->out["ariane"][$_path] = $env->data->menus_categorie($_path); } } if(($env->out["current_categorie"] = $env->data->id_categorie($env->path)) !== false) { $env->a = $_GET[$env->param("action")] ? $_GET[$env->param("action")] : "menus"; $function = "a_".$env->a; if(function_exists($function)) $function($env); } else $env->erreur = "Impossible de lire le menu courant"; } else $env->erreur = "Vous devez être administrateur pour accéder à cette page"; } # ------------------------------------------------------------------------------ # actions # function a_menus($env) { if(($env->out["menu"] = $env->data->menus_categorie($env->out["current_categorie"])) !== false) { if(($env->out["menus_categories"] = $env->data->menus_categories($env->path)) !== false) { if($_POST) { $OK = true; foreach($_POST as $key => $value) { if ( (substr($key, 0, 6) == "ordre_") && ($id_menu = substr($key, 6)) && $env->out["menus_categories"]["list"][$id_menu] ) { $OK = $env->data->set_menus_categorie ( $id_menu, $env->out["menus_categories"]["list"][$id_menu]["titre"], $env->out["menus_categories"]["list"][$id_menu]["contenu"], $value ); } if(!$OK) break; } if($OK) { _redirect ( $env, $env->url(array("e" => "set_menus", "path" => $_GET[$env->param("path")])), "L'ordre des menus a été enregistré" ); } else $env->erreur = "Impossible d'enregistrer l'ordre des menus"; } } else $env->erreur = "Impossible de lire les menus"; } else $env->erreur = "Impossible de lire le menu courant"; } function a_add_menus_categorie($env) { if($_POST) { if ( $env->data->add_menus_categorie ( $_POST["titre"], $_POST["url"], $env->out["current_categorie"] ) ) { _redirect ( $env, $env->url(array("e" => "set_menus", "path" => $_GET[$env->param("path")])), "Le menu a été ajouté" ); } else $env->erreur = "Impossible d'ajouter le menu"; } } function a_set_menus_categorie($env) { if($_POST) { if ( $env->data->set_menus_categorie ( $_GET[$env->param("menus_categorie")], $_POST["titre"], $_POST["url"] ) ) { _redirect ( $env, $env->url(array("e" => "set_menus", "path" => $_GET[$env->param("path")])), "Le menu a été enregistré" ); } else $env->erreur = "Impossible d'enregistrer le menu."; } else { if(($env->out["menus_categorie"] = $env->data->menus_categorie($_GET[$env->param("menus_categorie")])) === false) { $env->erreur = "Impossible de lire le menu."; } } } function a_del_menus_categorie($env) { if($env->data->del_menus_categorie($_GET[$env->param("menus_categorie")]) !== false) { _redirect ( $env, $env->url(array("e" => "set_menus", "path" => $_GET[$env->param("path")])), "Le menu a été supprimé" ); } else $env->erreur = "Impossible de supprimer le menus."; } ?>