commit 622e2c0ab84f647c60d018f0fba25ce39cc1e9b6 parent 0a34996378b160106a15f30b4a4ad13f99aaf1ff Author: Georges Dupéron <jahvascriptmaniac+github@free.fr> Date: Tue, 14 Sep 2010 02:43:14 +0200 Sections "liens utiles" et "contact" Diffstat:
27 files changed, 144 insertions(+), 99 deletions(-)
diff --git a/__cms__/code/modules/contact/contact-contact.php b/__cms__/code/modules/contact/contact-contact.php @@ -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"]); } - - // 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["prenom"])) { + Stockage::set_prop($chemin, "prenom", $paramètres["prenom"]); } - - if (isset($paramètres["vue"])) { - return self::vue($chemin, $paramètres["vue"]); - } else { - return self::vue($chemin); + if (isset($paramètres["description"])) { + Stockage::set_prop($chemin, "description", $paramètres["description"]); } + + 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"); ?> \ No newline at end of file diff --git a/__cms__/code/modules/contact/contact-index.php b/__cms__/code/modules/contact/contact-index.php @@ -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>'; diff --git a/__cms__/code/modules/liens/liens-index.php b/__cms__/code/modules/liens/liens-index.php @@ -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>'; diff --git a/__cms__/code/modules/liens/liens-lien.php b/__cms__/code/modules/liens/liens-lien.php @@ -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"]); } - - // 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["cible"])) { + Stockage::set_prop($chemin, "cible", $paramètres["cible"]); } - - if (isset($paramètres["vue"])) { - return self::vue($chemin, $paramètres["vue"]); - } else { - return self::vue($chemin); + if (isset($paramètres["description"])) { + Stockage::set_prop($chemin, "cible", $paramètres["cible"]); } + + return new Page($chemin->parent(), '', "redirect"); } } @@ -34,23 +27,24 @@ 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")); } } } diff --git a/__cms__/donnees/contact/Contact1/__prop__date_modif b/__cms__/donnees/contact/Contact1/__prop__date_modif @@ -0,0 +1 @@ +1284424642 +\ No newline at end of file diff --git a/__cms__/donnees/contact/Contact1/__prop__description b/__cms__/donnees/contact/Contact1/__prop__description @@ -0,0 +1,3 @@ +Responsable du vestiaire masculin. + +06 66 00 06 66 +\ No newline at end of file diff --git a/__cms__/donnees/contact/Contact1/__prop__nom b/__cms__/donnees/contact/Contact1/__prop__nom @@ -0,0 +1 @@ +Lamorue +\ No newline at end of file diff --git a/__cms__/donnees/contact/Contact1/__prop__prenom b/__cms__/donnees/contact/Contact1/__prop__prenom @@ -0,0 +1 @@ +Cunégonde +\ No newline at end of file diff --git a/__cms__/donnees/contact/Contact1/__prop__proprietaire b/__cms__/donnees/contact/Contact1/__prop__proprietaire @@ -0,0 +1 @@ +grand___chef +\ No newline at end of file diff --git a/__cms__/donnees/contact/Contact1/__prop__type b/__cms__/donnees/contact/Contact1/__prop__type @@ -0,0 +1 @@ +contact-contact +\ No newline at end of file diff --git a/__cms__/donnees/contact/__prop__dernier_numero b/__cms__/donnees/contact/__prop__dernier_numero @@ -1 +1 @@ -0 -\ No newline at end of file +1 +\ No newline at end of file diff --git a/__cms__/donnees/liens/Lien1/__prop__cible b/__cms__/donnees/liens/Lien1/__prop__cible @@ -0,0 +1 @@ +http://www.example.com/joli/lien/ +\ No newline at end of file diff --git a/__cms__/donnees/liens/Lien1/__prop__date_modif b/__cms__/donnees/liens/Lien1/__prop__date_modif @@ -0,0 +1 @@ +1284424600 +\ No newline at end of file diff --git a/__cms__/donnees/liens/Lien1/__prop__description b/__cms__/donnees/liens/Lien1/__prop__description @@ -0,0 +1 @@ +Un lien d'exemple très utile. +\ No newline at end of file diff --git a/__cms__/donnees/liens/Lien1/__prop__proprietaire b/__cms__/donnees/liens/Lien1/__prop__proprietaire @@ -0,0 +1 @@ +grand___chef +\ No newline at end of file diff --git a/__cms__/donnees/liens/Lien1/__prop__texte b/__cms__/donnees/liens/Lien1/__prop__texte @@ -0,0 +1 @@ +Un très joli lien +\ No newline at end of file diff --git a/__cms__/donnees/liens/Lien1/__prop__type b/__cms__/donnees/liens/Lien1/__prop__type @@ -0,0 +1 @@ +liens-lien +\ No newline at end of file diff --git a/__cms__/donnees/liens/__prop__dernier_numero b/__cms__/donnees/liens/__prop__dernier_numero @@ -1 +1 @@ -0 -\ No newline at end of file +1 +\ No newline at end of file diff --git a/__cms__/donnees/nouveautes/7/__prop__chemin b/__cms__/donnees/nouveautes/7/__prop__chemin @@ -0,0 +1 @@ +/liens/Lien1 +\ No newline at end of file diff --git a/__cms__/donnees/nouveautes/7/__prop__type b/__cms__/donnees/nouveautes/7/__prop__type @@ -0,0 +1 @@ +nouveaute-element-liste +\ No newline at end of file diff --git a/__cms__/donnees/nouveautes/8/__prop__chemin b/__cms__/donnees/nouveautes/8/__prop__chemin @@ -0,0 +1 @@ +/contact/Contact1 +\ No newline at end of file diff --git a/__cms__/donnees/nouveautes/8/__prop__type b/__cms__/donnees/nouveautes/8/__prop__type @@ -0,0 +1 @@ +nouveaute-element-liste +\ No newline at end of file diff --git a/__cms__/donnees/nouveautes/__prop__dernier_numero b/__cms__/donnees/nouveautes/__prop__dernier_numero @@ -1 +1 @@ -6 -\ No newline at end of file +8 +\ No newline at end of file diff --git a/contact/Contact1/index.php b/contact/Contact1/index.php @@ -0,0 +1,7 @@ +<?php + +require_once(dirname(__FILE__) . "/./../../__cms__/cms.php"); + +CMS::page("/contact/Contact1"); + +?> +\ No newline at end of file diff --git a/liens/Lien1/index.php b/liens/Lien1/index.php @@ -0,0 +1,7 @@ +<?php + +require_once(dirname(__FILE__) . "/./../../__cms__/cms.php"); + +CMS::page("/liens/Lien1"); + +?> +\ No newline at end of file diff --git a/nouveautes/7/index.php b/nouveautes/7/index.php @@ -0,0 +1,7 @@ +<?php + +require_once(dirname(__FILE__) . "/./../../__cms__/cms.php"); + +CMS::page("/nouveautes/7"); + +?> +\ No newline at end of file diff --git a/nouveautes/8/index.php b/nouveautes/8/index.php @@ -0,0 +1,7 @@ +<?php + +require_once(dirname(__FILE__) . "/./../../__cms__/cms.php"); + +CMS::page("/nouveautes/8"); + +?> +\ No newline at end of file