Remplissage des fonctions du module Forum.

This commit is contained in:
Georges Dupéron 2010-07-31 18:07:51 +02:00
parent b2bc2f4232
commit 8e17d1fefe
3 changed files with 94 additions and 76 deletions

View File

@ -1,39 +1,38 @@
<?php <?php
function action($chemin, $action, $paramètres) { class ForumIndex {
if ($action == "anuler") { public function action($chemin, $action, $paramètres) {
return redirect($chemin); if ($action == "anuler") {
} else if ($action == "nouvelle_page") { return redirect($chemin);
// Créer la nouvelle page avec les valeurs par défaut. } else if ($action == "nouvelle_page") {
// return Redirect vers cette nouvelle page. // TODO : faut-il demander à avoir directement le nom du nouveau sujet ?
} else { // TODO : quel est le propriétaire du nouveau sujet ?
if (is_set($paramètres["description"])) { $np = Stockage::nouvelle_page($chemin, "Nouveau sujet");
set_prop($chemin, "description", $paramètres["description"]); Stockage::set_prop($np, "proprietaire", get_utilisateur());
} return redirect($np);
/* if (is_set($paramètres[""])) {
}*/
if (is_set($paramètres["vue"])) {
self::vue($chemin, $paramètres["vue"]);
} else { } else {
self::vue($chemin); if (is_set($paramètres["vue"])) {
self::vue($chemin, $paramètres["vue"]);
} else {
self::vue($chemin);
}
} }
} }
}
public function vue($chemin, $vue = "normal") {
function vue($chemin, $vue = "normal") { if ($vue == "normal") {
if ($vue == "normal") { $ret = '';
$ret = ''; $ret .= "<h1>Forum</h1>";
$ret .= "<h1>Forum</h1>"; if (vérifier_permission($chemin, "nouvelle_page", get_utilisateur())) {
if (vérifier_permission($chemin, "nouvelle_page", get_utilisateur())) { // afficher le lien "Nouveau sujet"
// 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;
} }
} }

View File

@ -4,17 +4,18 @@ function action($chemin, $action, $paramètres) {
if ($action == "anuler") { if ($action == "anuler") {
return redirect($chemin); return redirect($chemin);
} else if ($action == "supprimer") { } else if ($action == "supprimer") {
// Supprimer cette page. Stockage::supprimer($chemin);
// return Redirect vers la page parente. return redirect($chemin->parent());
} else { } else {
if (is_set($paramètres["message"])) { 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"])) { if (is_set($paramètres["vue"])) {
self::vue($chemin, $paramètres["vue"]); Modules::vue($chemin->parent(), $paramètres["vue"]);
} else { } else {
self::vue($chemin); Modules::vue($chemin->parent());
} }
} }
} }
@ -23,7 +24,7 @@ function vue($chemin, $vue = "normal") {
if ($vue == "normal") { if ($vue == "normal") {
$ret = ''; $ret = '';
if (vérifier_permission($chemin, "set_prop", get_utilisateur())) { 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 { } else {
$ret .= affichage_texte_enrichi(get_prop($chemin, "message")); $ret .= affichage_texte_enrichi(get_prop($chemin, "message"));
} }

View File

@ -1,49 +1,67 @@
<?php <?php
function action($chemin, $action, $paramètres) { class ForumSujet {
if ($action == "anuler") { public function action($chemin, $action, $paramètres) {
return redirect($chemin); if ($action == "anuler") {
} else if ($action == "nouvelle_page") { return redirect($chemin);
// Créer le nouveau message avec comme titre un numéro. } else if ($action == "nouvelle_page") {
// return Redirect vers la page actuelle, à l'ancre correspondant à ce message. // SECURITE : On ne doit PAS pouvoir modifier dernier_numero arbitrairement
} else if ($action == "supprimer") { $numéro_message = 1 + Stockage::get_prop($chemin, "dernier_numero");
// Supprimer cette page. Stockage::set_prop($chemin, "dernier_numero", $numéro_message);
// return Redirect vers la page parente. $np = Stockage::nouvelle_page($chemin, "" . $numéro_message);
} else { Stockage::set_prop($np, "proprietaire", get_utilisateur());
if (is_set($paramètres["titre"])) {
// renomer la page return redirect($chemin, "#message" . $numéro_message);
} } else if ($action == "supprimer") {
Stockage::supprimer($chemin);
if (is_set($paramètres["vue"])) { return redirect($chemin->parent());
self::vue($chemin, $paramètres["vue"]);
} else { } 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);
}
} }
} }
}
public function vue($chemin, $vue = "normal") {
function vue($chemin, $vue = "normal") { if ($vue == "normal") {
if ($vue == "normal") { $ret = '';
$ret = ''; if (vérifier_permission($chemin, "set_prop", get_utilisateur())) {
if (vérifier_permission($chemin, "set_prop", get_utilisateur())) { $ret .= '<form action="' . $chemin->get_url() . '">';
// afficher le <input type="text" /> du titre $ret .= '<input type="text" name="titre" class="forum sujet titre edition" value="' . Stockage::get_prop($chemin, "titre") . '"/>';
} else { $ret .= '<input type="submit" value="renomer" />';
$ret .= "<h1>" . get_prop($chemin, "titre") . "</h1>"; $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");
} }
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");
} }
} }