3 class mw_pages_admin extends mw_mod
7 { $data = $env->data();
8 if(($arbo = $data->pages_arbo()) !== false)
9 { $env->set_out("arbo", $arbo);
10 $id_parent = isset($_GET[$env->param("parent")]) ? $_GET[$env->param("parent")] : null;
12 ( ( $pages = $data->pages
14 ( "id_parent" => $id_parent,
15 "order_by" => "position",
17 "start" => isset($_GET[$env->param("start")]) && $_GET[$env->param("start")] ? $_GET[$env->param("start")] : 0,
18 "max" => $env->config("max_list")
23 { $env->set_out("pages", $pages);
26 { if(($ariane = $data->page_ariane($id_parent)) === false)
27 { $env->erreur("impossible de lire le fil d'ariane");
30 $env->set_out("ariane", $ariane);
32 else $env->erreur("impossible de lire la liste des pages");
34 else $env->erreur("impossible de lire l'arborescence des pages");
37 function validate_POST_page(&$env, $page = null)
38 { $page = isset($page) ? $page : array();
40 if(($user = $env->user()) && $user["id"])
42 { $_page["id_parent"] = isset($_POST["id_parent"]) ? ($_POST["id_parent"] ? $_POST["id_parent"] : null) : ($page["id_parent"] ? $page["id_parent"] : null);
43 $_page["title"] = isset($_POST["title"]) ? $_POST["title"] : ($page["title"] ? $page["title"] : null);
44 $_page["content"] = isset($_POST["content"]) ? $_POST["content"] : ($page["content"] ? $page["content"] : null);
45 $_page["user"] = $user["id"];
46 $_page["enabled"] = isset($_POST["enabled"]) ? $_POST["enabled"] : ($page["enabled"] ? $page["enabled"] : 1);
47 $_page["position"] = isset($_POST["position"]) ? $_POST["position"] : ($page["position"] ? $page["position"] : 0);
50 else $env->message("impossible de lire les informations de l'utilisateur");
55 { $data = $env->data();
56 if(($arbo = $data->pages_arbo()) !== false)
57 { $env->set_out("arbo", $arbo);
60 { $page = $this->validate_POST_page($env);
62 { if(($id_page = $data->add_page($page)) !== false)
64 ( $env->url("pages/admin"),
65 "la page a été ajoutée"
68 else $env->erreur("impossible d'ajouter la page");
71 $env->set_out("page", $page);
73 else $env->erreur("impossible de lire l'arborescence des pages");
77 { $data = $env->data();
78 if($page = $data->page($_GET[$env->param("id")]))
79 { if(($arbo = $data->pages_arbo()) !== false)
80 { $env->set_out("arbo", $arbo);
82 { $page = $this->validate_POST_page($env, $page);
84 { if($data->set_page($_GET[$env->param("id")], $page))
86 ( $env->url("pages/admin"),
87 "la page a été modifiée"
90 else $env->erreur("impossible de modifier la page");
93 $env->set_out("page", $page);
95 else $env->erreur("impossible de lire l'arborescence des pages");
97 else $env->erreur("impossible de lire les informations de la page");
100 function edit_pages(&$env)
101 { if(($user = $env->user()) && $user["id"])
103 { $data = $env->data();
105 foreach($_POST as $key => $value)
107 if(substr($key, 0, 9) == "position_")
108 { $id_page = substr($key, 9);
109 $enabled = isset($_POST["enabled_".$id_page]) && $_POST["enabled_".$id_page] ? 1 : 0;
110 if(!$data->set_page($id_page, array("position" => $value, "enabled" => $enabled)))
111 { $env->erreur("impossible d'enregistrer la position");
119 ( $env->url("pages/admin"),
120 "Les informations des pages ont été enregistrées"
124 else $env->erreur("donnees manquantes");
126 else $env->erreur("impossible de lire les informations de l'utilisateur");
129 function set_accueil(&$env)
130 { if(($user = $env->user()) && $user["id"])
131 { $data = $env->data();
133 $start_action_params = "";
134 $id_page = $_POST["id"] ? $_POST["id"] : "";
136 { if($page = $data->page($id_page))
137 { $start_action = "pages/view/page";
138 $start_action_params = @serialize(array("id" => $id_page));
141 { $start_action = false;
142 $env->erreur("impossible de lire les informations de la page");
145 if($start_action !== false && $start_action_params !== false)
147 ( $data->set_config("start_action", $start_action)
148 && $data->set_config("start_action_params", $start_action_params)
150 { $data->set_config("plugins_pages_start_id", $id_page);
152 ( $env->url("pages/admin"),
153 "La page d'accueil a été enregistrée"
156 else $env->erreur("impossible d'enregistrer la page d'accueil dans la configuration");
159 else $env->erreur("impossible de lire les informations de l'utilisateur");
163 { $data = $env->data();
164 if($page = $data->page($_GET[$env->param("id")]))
165 { if($data->del_page($page["id"]))
167 ( $env->url("pages/admin"),
168 "la page a été supprimée"
171 else $env->erreur("Impossible de supprimer la page");
173 else $env->erreur("impossible de lire les informations de la page");