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
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;
}
}

View File

@ -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"));
}

View File

@ -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>";
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");
}
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");
}
}