Sections "liens utiles" et "contact"

This commit is contained in:
Georges Dupéron 2010-09-14 02:43:14 +02:00
parent 0a34996378
commit 622e2c0ab8
27 changed files with 123 additions and 98 deletions

View File

@ -8,24 +8,17 @@ class ContactContact {
Stockage::supprimer($chemin, true); // TODO ! gérer correctement le récursif
return new Page($chemin->parent(), '', "redirect");
} else {
if (isset($paramètres["contenu"])) {
Stockage::set_prop($chemin, "contenu", $paramètres["contenu"]);
if (isset($paramètres["nom"])) {
Stockage::set_prop($chemin, "nom", $paramètres["nom"]);
}
if (isset($paramètres["prenom"])) {
Stockage::set_prop($chemin, "prenom", $paramètres["prenom"]);
}
if (isset($paramètres["description"])) {
Stockage::set_prop($chemin, "description", $paramètres["description"]);
}
// titre après les autres paramètres car il peut générer un redirect.
if (isset($paramètres["titre"]) && Stockage::prop_diff($chemin, "titre", $paramètres["titre"])) {
Stockage::set_prop($chemin, "titre", $paramètres["titre"]);
Stockage::renomer($chemin, $paramètres["titre"]);
$chemin = $chemin->renomer($paramètres["titre"]);
// TODO : transmettre le paramètre "vue"
return new Page($chemin, '', "redirect");
}
if (isset($paramètres["vue"])) {
return self::vue($chemin, $paramètres["vue"]);
} else {
return self::vue($chemin);
}
return new Page($chemin->parent(), '', "redirect");
}
}
@ -34,27 +27,30 @@ class ContactContact {
$ret = '';
if (Permissions::vérifier_permission($chemin, "set_prop", Authentification::get_utilisateur())) {
$ret .= '<form class="articles article edition" enctype="multipart/form-data" method="post" action="' . $chemin->get_url() . '">';
$ret .= '<h2><input type="text" name="titre" value="' . Stockage::get_prop($chemin, "titre") . '" /></h2>';
$ret .= formulaire_édition_texte_enrichi(Stockage::get_prop($chemin, "contenu"), "contenu");
$ret .= '<form class="contacts contact edition" enctype="multipart/form-data" method="post" action="' . $chemin->get_url() . '">';
$ret .= '<input type="text" name="prenom" value="' . Stockage::get_prop($chemin, "prenom") . '" />';
$ret .= '<input type="text" name="nom" value="' . Stockage::get_prop($chemin, "nom") . '" />';
$ret .= formulaire_édition_texte_enrichi(Stockage::get_prop($chemin, "description"), "description");
$ret .= '<p><input type="submit" value="appliquer" /></p>';
$ret .= '</form>';
} else {
$ret .= '<h2>' . Stockage::get_prop($chemin, "titre") . '</h2>';
$ret .= affichage_texte_enrichi(Stockage::get_prop($chemin, "contenu"));
$ret .= Stockage::get_prop($chemin, "prenom");
$ret .= " ";
$ret .= Stockage::get_prop($chemin, "nom");
$ret .= affichage_texte_enrichi(Stockage::get_prop($chemin, "description"));
}
if (Permissions::vérifier_permission($chemin, "supprimer", Authentification::get_utilisateur())) {
// TODO : afficher le bouton "Supprimer".
$ret .= '<form action="' . $chemin->get_url() . '">';
$ret .= '<input type="hidden" name="action" value="supprimer"/>';
$ret .= '<input type="submit" value="Supprimer le contact ' . htmlspecialchars(Stockage::get_prop($chemin, "prenom") . " " . Stockage::get_prop($chemin, "nom")) . '"/>';
$ret .= '</form>';
}
return new Page($ret, Stockage::get_prop($chemin, "titre"));
} elseif ($vue == "miniature") {
$ret = miniature_texte_enrichi(Stockage::get_prop($chemin, "contenu"));
return new Page($ret, Stockage::get_prop($chemin, "titre"));
}
}
}
Modules::enregister_module("ContactContact", "contact-contact", "vue", "titre contenu");
Modules::enregister_module("ContactContact", "contact-contact", "vue", "nom prenom description");
?>

View File

@ -5,10 +5,15 @@ class ContactIndex {
if ($action == "anuler") {
return new Page($chemin, '', "redirect");
} else if ($action == "nouvelle_page") {
$np = Stockage::nouvelle_page($chemin, "Nouvel article", "articles-article");
// SECURITE : On ne doit PAS pouvoir modifier dernier_numero arbitrairement
// CONCURENCE : Faire un lock quelque part...
$numéro_contact = 1 + Stockage::get_prop($chemin, "dernier_numero");
Stockage::set_prop($chemin, "dernier_numero", $numéro_contact);
$np = Stockage::nouvelle_page($chemin, "Contact" . $numéro_contact, "contact-contact");
Stockage::set_prop($np, "proprietaire", Authentification::get_utilisateur());
Stockage::set_prop($np, "titre", "Nouvel article");
Stockage::set_prop($np, "contenu", "Bla bla bla.");
Stockage::set_prop($np, "nom", "Dupondt");
Stockage::set_prop($np, "prenom", "Jean");
Stockage::set_prop($np, "description", "");
enregistrer_nouveaute($np);
return new Page($np, '', "redirect");
} else {
@ -33,27 +38,27 @@ class ContactIndex {
$ret = '';
if (Permissions::vérifier_permission($chemin, "set_prop", Authentification::get_utilisateur())) {
$ret .= '<form class="articles infos" method="post" action="' . $chemin->get_url() . '">';
$ret .= '<form class="contact infos" method="post" action="' . $chemin->get_url() . '">';
$ret .= '<h2><input type="text" name="titre" value="' . Stockage::get_prop($chemin, "titre") . '" /></h2>';
$ret .= formulaire_édition_texte_enrichi(Stockage::get_prop($chemin, "description"), "description");
$ret .= '<p><input type="submit" value="appliquer" /></p>';
$ret .= '</form>';
} else {
$ret .= '<h2>' . Stockage::get_prop($chemin, "titre") . '</h2>';
$ret .= '<p class="articles index description affichage">' . Stockage::get_prop($chemin, "description") . '</p>';
$ret .= '<p class="contact index description affichage">' . Stockage::get_prop($chemin, "description") . '</p>';
}
$ret .= '<div class="articles liste-articles index">';
$ret .= '<div class="contact liste-contacts index">';
$ret .= '<ul>';
if (Permissions::vérifier_permission($chemin, "nouvelle_page", Authentification::get_utilisateur())) {
$ret .= '<li>';
$ret .= '<div class="titre">';
$ret .= '<form class="articles nouvelle_page" method="post" action="' . $chemin->get_url() . '">';
$ret .= '<form class="contact nouvelle_page" method="post" action="' . $chemin->get_url() . '">';
$ret .= '<p>';
$ret .= '<input type="hidden" name="action" value="nouvelle_page"/>';
$ret .= '<input type="submit" value="Nouvel article"/>';
$ret .= '<input type="submit" value="Nouveau contact"/>';
$ret .= '</p>';
$ret .= '</form>';
@ -61,20 +66,9 @@ class ContactIndex {
$ret .= '</li>';
}
foreach (Stockage::liste_enfants($chemin) as $k) { // TODO : trier par numéro !
$mini = Modules::vue($k, 'miniature');
$ret .= '<li>';
// TODO : mettre une ancre "#message<numéro>"
$ret .= '<a href="' . $k->get_url() . '">'; // TODO : escape l'url !
$ret .= '<span class="titre">';
$ret .= $mini->titre;
$ret .= '</span>';
$ret .= '<p class="contenu">';
$ret .= $mini->contenu;
$ret .= '</p>';
$ret .= '</a>';
$ret .= '</li>';
}
foreach (stockage::liste_enfants($chemin) as $k) {
$ret .= '<li>' . Modules::vue($k)->contenu . '</li>';
}
$ret .= '</ul>';

View File

@ -5,10 +5,15 @@ class LiensIndex {
if ($action == "anuler") {
return new Page($chemin, '', "redirect");
} else if ($action == "nouvelle_page") {
$np = Stockage::nouvelle_page($chemin, "Nouvel article", "articles-article");
// SECURITE : On ne doit PAS pouvoir modifier dernier_numero arbitrairement
// CONCURENCE : Faire un lock quelque part...
$numéro_lien = 1 + Stockage::get_prop($chemin, "dernier_numero");
Stockage::set_prop($chemin, "dernier_numero", $numéro_lien);
$np = Stockage::nouvelle_page($chemin, "Lien" . $numéro_lien, "liens-lien");
Stockage::set_prop($np, "proprietaire", Authentification::get_utilisateur());
Stockage::set_prop($np, "titre", "Nouvel article");
Stockage::set_prop($np, "contenu", "Bla bla bla.");
Stockage::set_prop($np, "texte", "Un lien");
Stockage::set_prop($np, "cible", "http://www.example.com/page/");
Stockage::set_prop($np, "description", "Un lien d'exemple très utile.");
enregistrer_nouveaute($np);
return new Page($np, '', "redirect");
} else {
@ -33,27 +38,27 @@ class LiensIndex {
$ret = '';
if (Permissions::vérifier_permission($chemin, "set_prop", Authentification::get_utilisateur())) {
$ret .= '<form class="articles infos" method="post" action="' . $chemin->get_url() . '">';
$ret .= '<form class="liens infos" method="post" action="' . $chemin->get_url() . '">';
$ret .= '<h2><input type="text" name="titre" value="' . Stockage::get_prop($chemin, "titre") . '" /></h2>';
$ret .= formulaire_édition_texte_enrichi(Stockage::get_prop($chemin, "description"), "description");
$ret .= '<p><input type="submit" value="appliquer" /></p>';
$ret .= '</form>';
} else {
$ret .= '<h2>' . Stockage::get_prop($chemin, "titre") . '</h2>';
$ret .= '<p class="articles index description affichage">' . Stockage::get_prop($chemin, "description") . '</p>';
$ret .= '<p class="liens index description affichage">' . Stockage::get_prop($chemin, "description") . '</p>';
}
$ret .= '<div class="articles liste-articles index">';
$ret .= '<div class="liens liste-liens index">';
$ret .= '<ul>';
if (Permissions::vérifier_permission($chemin, "nouvelle_page", Authentification::get_utilisateur())) {
$ret .= '<li>';
$ret .= '<div class="titre">';
$ret .= '<form class="articles nouvelle_page" method="post" action="' . $chemin->get_url() . '">';
$ret .= '<form class="liens nouvelle_page" method="post" action="' . $chemin->get_url() . '">';
$ret .= '<p>';
$ret .= '<input type="hidden" name="action" value="nouvelle_page"/>';
$ret .= '<input type="submit" value="Nouvel article"/>';
$ret .= '<input type="submit" value="Nouveau lien"/>';
$ret .= '</p>';
$ret .= '</form>';
@ -61,20 +66,10 @@ class LiensIndex {
$ret .= '</li>';
}
foreach (Stockage::liste_enfants($chemin) as $k) { // TODO : trier par numéro !
$mini = Modules::vue($k, 'miniature');
$ret .= '<li>';
// TODO : mettre une ancre "#message<numéro>"
$ret .= '<a href="' . $k->get_url() . '">'; // TODO : escape l'url !
$ret .= '<span class="titre">';
$ret .= $mini->titre;
$ret .= '</span>';
$ret .= '<p class="contenu">';
$ret .= $mini->contenu;
$ret .= '</p>';
$ret .= '</a>';
$ret .= '</li>';
}
foreach (stockage::liste_enfants($chemin) as $k) {
$ret .= '<li>' . Modules::vue($k)->contenu . '</li>';
}
$ret .= '</ul>';

View File

@ -8,24 +8,17 @@ class LiensLien {
Stockage::supprimer($chemin, true); // TODO ! gérer correctement le récursif
return new Page($chemin->parent(), '', "redirect");
} else {
if (isset($paramètres["contenu"])) {
Stockage::set_prop($chemin, "contenu", $paramètres["contenu"]);
if (isset($paramètres["texte"])) {
Stockage::set_prop($chemin, "texte", $paramètres["texte"]);
}
if (isset($paramètres["cible"])) {
Stockage::set_prop($chemin, "cible", $paramètres["cible"]);
}
if (isset($paramètres["description"])) {
Stockage::set_prop($chemin, "cible", $paramètres["cible"]);
}
// titre après les autres paramètres car il peut générer un redirect.
if (isset($paramètres["titre"]) && Stockage::prop_diff($chemin, "titre", $paramètres["titre"])) {
Stockage::set_prop($chemin, "titre", $paramètres["titre"]);
Stockage::renomer($chemin, $paramètres["titre"]);
$chemin = $chemin->renomer($paramètres["titre"]);
// TODO : transmettre le paramètre "vue"
return new Page($chemin, '', "redirect");
}
if (isset($paramètres["vue"])) {
return self::vue($chemin, $paramètres["vue"]);
} else {
return self::vue($chemin);
}
return new Page($chemin->parent(), '', "redirect");
}
}
@ -34,22 +27,23 @@ class LiensLien {
$ret = '';
if (Permissions::vérifier_permission($chemin, "set_prop", Authentification::get_utilisateur())) {
$ret .= '<form class="articles article edition" enctype="multipart/form-data" method="post" action="' . $chemin->get_url() . '">';
$ret .= '<h2><input type="text" name="titre" value="' . Stockage::get_prop($chemin, "titre") . '" /></h2>';
$ret .= formulaire_édition_texte_enrichi(Stockage::get_prop($chemin, "contenu"), "contenu");
$ret .= '<form class="liens lien edition" enctype="multipart/form-data" method="post" action="' . $chemin->get_url() . '">';
$ret .= '<input type="text" name="texte" value="' . Stockage::get_prop($chemin, "texte") . '" />';
$ret .= '<input type="text" name="cible" value="' . Stockage::get_prop($chemin, "cible") . '" />';
$ret .= formulaire_édition_texte_enrichi(Stockage::get_prop($chemin, "description"), "description");
$ret .= '<p><input type="submit" value="appliquer" /></p>';
$ret .= '</form>';
} else {
$ret .= '<h2>' . Stockage::get_prop($chemin, "titre") . '</h2>';
$ret .= affichage_texte_enrichi(Stockage::get_prop($chemin, "contenu"));
$ret .= '<a href="' . htmlspecialchars(Stockage::get_prop($chemin, "cible")) . '">' . Stockage::get_prop($chemin, "texte") . '</a>';
$ret .= affichage_texte_enrichi(Stockage::get_prop($chemin, "description"));
}
if (Permissions::vérifier_permission($chemin, "supprimer", Authentification::get_utilisateur())) {
// TODO : afficher le bouton "Supprimer".
$ret .= '<form action="' . $chemin->get_url() . '">';
$ret .= '<input type="hidden" name="action" value="supprimer"/>';
$ret .= '<input type="submit" value="Supprimer le lien ' . htmlspecialchars(Stockage::get_prop($chemin, "cible")) . '"/>';
$ret .= '</form>';
}
return new Page($ret, Stockage::get_prop($chemin, "titre"));
} elseif ($vue == "miniature") {
$ret = miniature_texte_enrichi(Stockage::get_prop($chemin, "contenu"));
return new Page($ret, Stockage::get_prop($chemin, "titre"));
}
}

View File

@ -0,0 +1 @@
1284424642

View File

@ -0,0 +1,3 @@
Responsable du vestiaire masculin.
06 66 00 06 66

View File

@ -0,0 +1 @@
Lamorue

View File

@ -0,0 +1 @@
Cunégonde

View File

@ -0,0 +1 @@
grand___chef

View File

@ -0,0 +1 @@
contact-contact

View File

@ -0,0 +1 @@
http://www.example.com/joli/lien/

View File

@ -0,0 +1 @@
1284424600

View File

@ -0,0 +1 @@
Un lien d'exemple très utile.

View File

@ -0,0 +1 @@
grand___chef

View File

@ -0,0 +1 @@
Un très joli lien

View File

@ -0,0 +1 @@
liens-lien

View File

@ -1 +1 @@
0
1

View File

@ -0,0 +1 @@
/liens/Lien1

View File

@ -0,0 +1 @@
nouveaute-element-liste

View File

@ -0,0 +1 @@
/contact/Contact1

View File

@ -0,0 +1 @@
nouveaute-element-liste

View File

@ -0,0 +1,7 @@
<?php
require_once(dirname(__FILE__) . "/./../../__cms__/cms.php");
CMS::page("/contact/Contact1");
?>

7
liens/Lien1/index.php Normal file
View File

@ -0,0 +1,7 @@
<?php
require_once(dirname(__FILE__) . "/./../../__cms__/cms.php");
CMS::page("/liens/Lien1");
?>

7
nouveautes/7/index.php Normal file
View File

@ -0,0 +1,7 @@
<?php
require_once(dirname(__FILE__) . "/./../../__cms__/cms.php");
CMS::page("/nouveautes/7");
?>

7
nouveautes/8/index.php Normal file
View File

@ -0,0 +1,7 @@
<?php
require_once(dirname(__FILE__) . "/./../../__cms__/cms.php");
CMS::page("/nouveautes/8");
?>