data->is_admin($env->pun_user["id"])) { if(($env->out["news_root_categorie"] = $env->data->id_categorie(array("root", "news"))) !== false) { $env->a = $_GET[$env->param("action")] ? $_GET[$env->param("action")] : "news"; $function = "a_".$env->a; if(function_exists($function)) { $catgories_function = "all_news_categories"; if($env->a === "del_news") $catgories_function = "news_categories"; $r = false; eval("\$r = \$env->data->".$catgories_function."();"); if(($env->out["categories"] = $r) !== false) { $function($env); } else $env->erreur = "Impossible de lire la liste des categories de news"; } } else $env->erreur = "Impossible de trouver la categorie racine des news."; } else $env->erreur = "Vous devez être administrateur pour accéder à cette page."; } # ------------------------------------------------------------------------------ # actions # function a_news($env) { $path = array("root", "news"); $depth = 1; if(isset($_GET[$env->param("categorie")])) { if(strlen($_GET[$env->param("categorie")]) > 0) $path[] = (int)$_GET[$env->param("categorie")]; $depth = 0; } if(($env->out["news"] = $env->data->news($path, $env->start, $depth)) !== false) { } else $env->erreur = "Impossible de lire les news"; } function a_add_news($env) { if($_POST) { if($_POST["preview"]) { $env->out["preview"] = array ( "categorie" => $_POST["categorie"], "categorie_titre" => $env->out["categories"]["list"][$_POST["categorie"]]["titre"], "categorie_icone" => $env->out["categories"]["list"][$_POST["categorie"]]["icone"], "titre" => $_POST["titre"], "auteur" => $env->pun_user["username"], "date_publication" => $_POST["date_publication"], "contenu" => $_POST["news"], "public" => $_POST["public"] ? 1 : 0 ); } else { if ( $env->data->add_news ( $_POST["categorie"], $_POST["titre"], $_POST["news"], $env->pun_user["id"], $_POST["date_publication"], $_POST["public"] ? 1 : 0 ) ) { _redirect ( $env, $env->url(array("e" => "set_news")), "La news a été ajoutée" ); } else $env->erreur = "Impossible d'ajouter la news."; } } } function a_set_one_news($env) { if(($env->out["news"] = $env->data->contenu($_GET[$env->param("news")])) !== false) { if($_POST) { if($_POST["preview"]) { $env->out["preview"] = array ( "categorie" => $_POST["categorie"], "categorie_titre" => $env->out["categories"]["list"][$_POST["categorie"]]["titre"], "categorie_icone" => $env->out["categories"]["list"][$_POST["categorie"]]["icone"], "titre" => $_POST["titre"], "auteur" => $env->out["news"]["auteur"], "date_publication" => $_POST["date_publication"], "contenu" => $_POST["news"], "public" => $_POST["public"] ? 1 : 0 ); } else { if ( $env->data->set_news ( $_GET[$env->param("news")], $_POST["categorie"], $_POST["titre"], $_POST["news"], $env->pun_user["id"], $_POST["date_publication"], $_POST["public"] ? 1 : 0 ) ) { _redirect ( $env, $env->url(array("e" => "set_news")), "La news a été modifiée" ); } else $env->erreur = "Impossible de modifier la news."; } } } else $env->erreur = "Impossible de lire la news."; } function a_del_news($env) { if($env->data->del_news($_GET[$env->param("news")]) !== false) { _redirect ( $env, $env->url(array("e" => "set_news")), "La news a été supprimée" ); } else $env->erreur = "Impossible de supprimer la news."; } ?>