www

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | README

commit 8e17d1fefe840e54293025eac9fd10965429a2bf
parent b2bc2f4232b595f6314a9c28262f86de4a4b18aa
Author: Georges Dupéron <jahvascriptmaniac+github@free.fr>
Date:   Sat, 31 Jul 2010 18:07:51 +0200

Remplissage des fonctions du module Forum.

Diffstat:
M__cms__/modules/forum/forum-index.php | 59+++++++++++++++++++++++++++++------------------------------
M__cms__/modules/forum/forum-message.php | 13+++++++------
M__cms__/modules/forum/forum-sujet.php | 98+++++++++++++++++++++++++++++++++++++++++++++++--------------------------------
3 files changed, 94 insertions(+), 76 deletions(-)

diff --git a/__cms__/modules/forum/forum-index.php b/__cms__/modules/forum/forum-index.php @@ -1,39 +1,38 @@ <?php -function action($chemin, $action, $paramètres) { - if ($action == "anuler") { - return redirect($chemin); - } else if ($action == "nouvelle_page") { - // Créer la nouvelle page avec les valeurs par défaut. - // return Redirect vers cette nouvelle page. - } else { - if (is_set($paramètres["description"])) { - set_prop($chemin, "description", $paramètres["description"]); - } -/* if (is_set($paramètres[""])) { - }*/ - - if (is_set($paramètres["vue"])) { - self::vue($chemin, $paramètres["vue"]); +class ForumIndex { + public function action($chemin, $action, $paramètres) { + if ($action == "anuler") { + return redirect($chemin); + } else if ($action == "nouvelle_page") { + // TODO : faut-il demander à avoir directement le nom du nouveau sujet ? + // TODO : quel est le propriétaire du nouveau sujet ? + $np = Stockage::nouvelle_page($chemin, "Nouveau sujet"); + Stockage::set_prop($np, "proprietaire", get_utilisateur()); + return redirect($np); } else { - self::vue($chemin); + if (is_set($paramètres["vue"])) { + self::vue($chemin, $paramètres["vue"]); + } else { + self::vue($chemin); + } } } -} - -function vue($chemin, $vue = "normal") { - if ($vue == "normal") { - $ret = ''; - $ret .= "<h1>Forum</h1>"; - if (vérifier_permission($chemin, "nouvelle_page", get_utilisateur())) { - // afficher le lien "Nouveau sujet" + + public function vue($chemin, $vue = "normal") { + if ($vue == "normal") { + $ret = ''; + $ret .= "<h1>Forum</h1>"; + if (vérifier_permission($chemin, "nouvelle_page", get_utilisateur())) { + // afficher le lien "Nouveau sujet" + } + $ret .= '<ul class="forum index">'; + foreach (stockage::liste_enfants($chemin) as $k) { + $ret .= '<li><a href="' . chemin::vers_url($k) . '">' . modules::vue($k, 'miniature') . '</a></li>'; // TODO : escape l'url ! + } + $ret .= '</ul>'; + return $ret; } - $ret .= '<ul class="forum index">'; - foreach (stockage::liste_enfants($chemin) as $k) { - $ret .= '<li><a href="' . chemin::vers_url($k) . '">' . modules::vue($k, 'miniature') . '</a></li>'; // TODO : escape l'url ! - } - $ret .= '</ul>'; - return $ret; } } diff --git a/__cms__/modules/forum/forum-message.php b/__cms__/modules/forum/forum-message.php @@ -4,17 +4,18 @@ function action($chemin, $action, $paramètres) { if ($action == "anuler") { return redirect($chemin); } else if ($action == "supprimer") { - // Supprimer cette page. - // return Redirect vers la page parente. + Stockage::supprimer($chemin); + return redirect($chemin->parent()); } else { if (is_set($paramètres["message"])) { - // set_prop($chemin, "message", $paramètres["message"]); + Stockage::set_prop($chemin, "message", $paramètres["message"]); } + // TODO ... if (is_set($paramètres["vue"])) { - self::vue($chemin, $paramètres["vue"]); + Modules::vue($chemin->parent(), $paramètres["vue"]); } else { - self::vue($chemin); + Modules::vue($chemin->parent()); } } } @@ -23,7 +24,7 @@ function vue($chemin, $vue = "normal") { if ($vue == "normal") { $ret = ''; if (vérifier_permission($chemin, "set_prop", get_utilisateur())) { - $ret .= formulaire_édition_texte_enrichi(get_prop($chemin, "message"), $nom_champ); + $ret .= formulaire_édition_texte_enrichi(get_prop($chemin, "message"), "message"); } else { $ret .= affichage_texte_enrichi(get_prop($chemin, "message")); } diff --git a/__cms__/modules/forum/forum-sujet.php b/__cms__/modules/forum/forum-sujet.php @@ -1,49 +1,67 @@ <?php -function action($chemin, $action, $paramètres) { - if ($action == "anuler") { - return redirect($chemin); - } else if ($action == "nouvelle_page") { - // Créer le nouveau message avec comme titre un numéro. - // return Redirect vers la page actuelle, à l'ancre correspondant à ce message. - } else if ($action == "supprimer") { - // Supprimer cette page. - // return Redirect vers la page parente. - } else { - if (is_set($paramètres["titre"])) { - // renomer la page - } - - if (is_set($paramètres["vue"])) { - self::vue($chemin, $paramètres["vue"]); +class ForumSujet { + public function action($chemin, $action, $paramètres) { + if ($action == "anuler") { + return redirect($chemin); + } else if ($action == "nouvelle_page") { + // SECURITE : On ne doit PAS pouvoir modifier dernier_numero arbitrairement + $numéro_message = 1 + Stockage::get_prop($chemin, "dernier_numero"); + Stockage::set_prop($chemin, "dernier_numero", $numéro_message); + $np = Stockage::nouvelle_page($chemin, "" . $numéro_message); + Stockage::set_prop($np, "proprietaire", get_utilisateur()); + + return redirect($chemin, "#message" . $numéro_message); + } else if ($action == "supprimer") { + Stockage::supprimer($chemin); + return redirect($chemin->parent()); } else { - self::vue($chemin); + if (is_set($paramètres["titre"])) { + Stockage::renomer($chemin, $paramètres["titre"]); + $chemin = $chemin->renomer($paramètres["titre"]); + // TODO : peut-être redirect($chemin) ? + } + + if (is_set($paramètres["vue"])) { + self::vue($chemin, $paramètres["vue"]); + } else { + self::vue($chemin); + } } } -} - -function vue($chemin, $vue = "normal") { - if ($vue == "normal") { - $ret = ''; - if (vérifier_permission($chemin, "set_prop", get_utilisateur())) { - // afficher le <input type="text" /> du titre - } else { - $ret .= "<h1>" . get_prop($chemin, "titre") . "</h1>"; - } - if (vérifier_permission($chemin, "nouvelle_page", get_utilisateur())) { - // afficher le lien "Nouveau message" - } - if (vérifier_permission($chemin, "supprimer", get_utilisateur())) { - // afficher le lien "Supprimer" + + public function vue($chemin, $vue = "normal") { + if ($vue == "normal") { + $ret = ''; + if (vérifier_permission($chemin, "set_prop", get_utilisateur())) { + $ret .= '<form action="' . $chemin->get_url() . '">'; + $ret .= '<input type="text" name="titre" class="forum sujet titre edition" value="' . Stockage::get_prop($chemin, "titre") . '"/>'; + $ret .= '<input type="submit" value="renomer" />'; + $ret .= '</form>'; + } else { + $ret .= '<h1 class="forum sujet titre affichage">' . get_prop($chemin, "titre") . '</h1>'; + } + if (vérifier_permission($chemin, "supprimer", get_utilisateur())) { + $ret .= '<form action="' . $chemin->get_url() . '">'; + $ret .= '<input type="hidden" name="action" value="supprimer"/>' + $ret .= '<input type="submit" value="Supprimer"/>' + $ret .= '</form>' + } + $ret .= '<ul class="forum sujet">'; + foreach (stockage::liste_enfants($chemin) as $k) { + $ret .= '<li>' . Modules::vue($k) . '</li>'; + } + $ret .= '</ul>'; + if (vérifier_permission($chemin, "nouvelle_page", get_utilisateur())) { + $ret .= '<form action="' . $chemin->get_url() . '">'; + $ret .= '<input type="hidden" name="action" value="nouvelle_page"/>' + $ret .= '<input type="submit" value="Nouvelle page"/>' + $ret .= '</form>' + } + return $ret; + } else if ($vue == "miniature") { + return get_prop($chemin, "titre"); } - $ret .= '<ul class="forum sujet">'; - foreach (stockage::liste_enfants($chemin) as $k) { - $ret .= '<li>' . modules::vue($k) . '</li>'; - } - $ret .= '</ul>'; - return $ret; - } else if ($vue == "miniature") { - return get_prop($chemin, "titre"); } }