www

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

commit 54b2b64f8fe8decb3261d3756b3a12f1c36c9138
parent 922c54a7774c0d8b897bed524df3f56344103a4b
Author: Georges Dupéron <jahvascriptmaniac+github@free.fr>
Date:   Sat, 24 Jul 2010 00:43:30 +0200

Écriture (conception) de quelques modules : galerie et forum.

Diffstat:
A__cms__/modules/forum/forum-index.php | 40++++++++++++++++++++++++++++++++++++++++
A__cms__/modules/forum/forum-message.php | 34++++++++++++++++++++++++++++++++++
A__cms__/modules/forum/forum-sujet.php | 50++++++++++++++++++++++++++++++++++++++++++++++++++
M__cms__/modules/forum/module.php | 5+++++
M__cms__/modules/galerie/galerie-evenement.php | 59+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
5 files changed, 188 insertions(+), 0 deletions(-)

diff --git a/__cms__/modules/forum/forum-index.php b/__cms__/modules/forum/forum-index.php @@ -0,0 +1,40 @@ +<?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"]); + } 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" + } + $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 @@ -0,0 +1,34 @@ +<?php + +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. + } else { + 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 textarea du message + } else { + $ret .= "<p>" . get_prop($chemin, "message") . "</p>"; + } + if (vérifier_permission($chemin, "supprimer", get_utilisateur())) { + // peut-être afficher le lien "Supprimer" ??? + } + // Peut-être afficher le bouton "citer" ? + return $ret; + } +} + +?> diff --git a/__cms__/modules/forum/forum-sujet.php b/__cms__/modules/forum/forum-sujet.php @@ -0,0 +1,50 @@ +<?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"]); + } 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" + } + $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"); + } +} + +?> diff --git a/__cms__/modules/forum/module.php b/__cms__/modules/forum/module.php @@ -0,0 +1,5 @@ +<?php + require_once(dirname(__FILE__) . "/forum-index.php"); + require_once(dirname(__FILE__) . "/forum-sujet.php"); + require_once(dirname(__FILE__) . "/forum-message.php"); +?> diff --git a/__cms__/modules/galerie/galerie-evenement.php b/__cms__/modules/galerie/galerie-evenement.php @@ -0,0 +1,59 @@ +<?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 ($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["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"]); + } 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 + // afficher le textarea de la description + } else { + $ret .= "<h1>" . get_prop($chemin, "titre") . "</h1>"; + $ret .= "<p>" . get_prop($chemin, "description") . "</p>"; + } + if (vérifier_permission($chemin, "nouvelle_page", get_utilisateur())) { + // afficher le lien "Nouvelle image" + } + if (vérifier_permission($chemin, "supprimer", get_utilisateur())) { + // afficher le lien "Supprimer" + } + $ret .= '<ul class="galerie evenement">'; + 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 "Vue normale de la page."; + } else if ($vue == "miniature") { + $enfants = stockage::liste_enfants($chemin); + if (is_set($enfants[0])) return modules::vue($enfants[0], 'miniature'); + else return "Aucune<br/>photo"; + } +} + +?>