[6] | 1 | <?php |
---|
| 2 | |
---|
| 3 | function e_set_news($env) |
---|
| 4 | { if($env->data->is_admin($env->pun_user["id"])) |
---|
| 5 | { if(($env->out["news_root_categorie"] = $env->data->id_categorie(array("root", "news"))) !== false) |
---|
| 6 | { $env->a = $_GET[$env->param("action")] ? $_GET[$env->param("action")] : "news"; |
---|
| 7 | $function = "a_".$env->a; |
---|
| 8 | if(function_exists($function)) |
---|
| 9 | { $catgories_function = "all_news_categories"; |
---|
| 10 | if($env->a === "del_news") $catgories_function = "news_categories"; |
---|
| 11 | $r = false; |
---|
| 12 | eval("\$r = \$env->data->".$catgories_function."();"); |
---|
| 13 | if(($env->out["categories"] = $r) !== false) |
---|
| 14 | { $function($env); |
---|
| 15 | } |
---|
| 16 | else $env->erreur = "Impossible de lire la liste des categories de news"; |
---|
| 17 | } |
---|
| 18 | } |
---|
| 19 | else $env->erreur = "Impossible de trouver la categorie racine des news."; |
---|
| 20 | } |
---|
| 21 | else $env->erreur = "Vous devez être administrateur pour accéder à cette page."; |
---|
| 22 | } |
---|
| 23 | |
---|
| 24 | # ------------------------------------------------------------------------------ |
---|
| 25 | # actions |
---|
| 26 | # |
---|
| 27 | |
---|
| 28 | function a_news($env) |
---|
| 29 | { $path = array("root", "news"); |
---|
| 30 | $depth = 1; |
---|
| 31 | if(isset($_GET[$env->param("categorie")])) |
---|
| 32 | { if(strlen($_GET[$env->param("categorie")]) > 0) $path[] = (int)$_GET[$env->param("categorie")]; |
---|
| 33 | $depth = 0; |
---|
| 34 | } |
---|
| 35 | if(($env->out["news"] = $env->data->news($path, $env->start, $depth)) !== false) |
---|
| 36 | { |
---|
| 37 | } |
---|
| 38 | else $env->erreur = "Impossible de lire les news"; |
---|
| 39 | } |
---|
| 40 | |
---|
| 41 | function a_add_news($env) |
---|
| 42 | { if($_POST) |
---|
| 43 | { if($_POST["preview"]) |
---|
| 44 | { $env->out["preview"] = array |
---|
| 45 | ( "categorie" => $_POST["categorie"], |
---|
| 46 | "categorie_titre" => $env->out["categories"]["list"][$_POST["categorie"]]["titre"], |
---|
| 47 | "categorie_icone" => $env->out["categories"]["list"][$_POST["categorie"]]["icone"], |
---|
| 48 | "titre" => $_POST["titre"], |
---|
| 49 | "auteur" => $env->pun_user["username"], |
---|
| 50 | "date_publication" => $_POST["date_publication"], |
---|
| 51 | "contenu" => $_POST["news"], |
---|
| 52 | "public" => $_POST["public"] ? 1 : 0 |
---|
| 53 | ); |
---|
| 54 | } |
---|
| 55 | else |
---|
| 56 | { if |
---|
| 57 | ( $env->data->add_news |
---|
| 58 | ( $_POST["categorie"], |
---|
| 59 | $_POST["titre"], |
---|
| 60 | $_POST["news"], |
---|
| 61 | $env->pun_user["id"], |
---|
| 62 | $_POST["date_publication"], |
---|
| 63 | $_POST["public"] ? 1 : 0 |
---|
| 64 | ) |
---|
| 65 | ) |
---|
| 66 | { _redirect |
---|
| 67 | ( $env, |
---|
| 68 | $env->url(array("e" => "set_news")), |
---|
| 69 | "La news a été ajoutée" |
---|
| 70 | ); |
---|
| 71 | } |
---|
| 72 | else $env->erreur = "Impossible d'ajouter la news."; |
---|
| 73 | } |
---|
| 74 | } |
---|
| 75 | } |
---|
| 76 | |
---|
| 77 | function a_set_one_news($env) |
---|
| 78 | { if(($env->out["news"] = $env->data->contenu($_GET[$env->param("news")])) !== false) |
---|
| 79 | { if($_POST) |
---|
| 80 | { if($_POST["preview"]) |
---|
| 81 | { $env->out["preview"] = array |
---|
| 82 | ( "categorie" => $_POST["categorie"], |
---|
| 83 | "categorie_titre" => $env->out["categories"]["list"][$_POST["categorie"]]["titre"], |
---|
| 84 | "categorie_icone" => $env->out["categories"]["list"][$_POST["categorie"]]["icone"], |
---|
| 85 | "titre" => $_POST["titre"], |
---|
| 86 | "auteur" => $env->out["news"]["auteur"], |
---|
| 87 | "date_publication" => $_POST["date_publication"], |
---|
| 88 | "contenu" => $_POST["news"], |
---|
| 89 | "public" => $_POST["public"] ? 1 : 0 |
---|
| 90 | ); |
---|
| 91 | } |
---|
| 92 | else |
---|
| 93 | { if |
---|
| 94 | ( $env->data->set_news |
---|
| 95 | ( $_GET[$env->param("news")], |
---|
| 96 | $_POST["categorie"], |
---|
| 97 | $_POST["titre"], |
---|
| 98 | $_POST["news"], |
---|
| 99 | $env->pun_user["id"], |
---|
| 100 | $_POST["date_publication"], |
---|
| 101 | $_POST["public"] ? 1 : 0 |
---|
| 102 | ) |
---|
| 103 | ) |
---|
| 104 | { _redirect |
---|
| 105 | ( $env, |
---|
| 106 | $env->url(array("e" => "set_news")), |
---|
| 107 | "La news a été modifiée" |
---|
| 108 | ); |
---|
| 109 | } |
---|
| 110 | else $env->erreur = "Impossible de modifier la news."; |
---|
| 111 | } |
---|
| 112 | } |
---|
| 113 | } |
---|
| 114 | else $env->erreur = "Impossible de lire la news."; |
---|
| 115 | } |
---|
| 116 | |
---|
| 117 | function a_del_news($env) |
---|
| 118 | { if($env->data->del_news($_GET[$env->param("news")]) !== false) |
---|
| 119 | { _redirect |
---|
| 120 | ( $env, |
---|
| 121 | $env->url(array("e" => "set_news")), |
---|
| 122 | "La news a été supprimée" |
---|
| 123 | ); |
---|
| 124 | } |
---|
| 125 | else $env->erreur = "Impossible de supprimer la news."; |
---|
| 126 | } |
---|
| 127 | |
---|
| 128 | ?> |
---|