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

This commit is contained in:
Georges Dupéron 2010-07-24 00:43:30 +02:00
parent 922c54a777
commit 54b2b64f8f
5 changed files with 188 additions and 0 deletions

View File

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

View File

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

View File

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

View File

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

View File

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