From 0851e56540d525e70f2b168b6972b1d071e424ae Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Georges=20Dup=C3=A9ron?= Date: Sat, 28 Aug 2010 00:30:58 +0200 Subject: [PATCH] =?UTF-8?q?Nouveaut=C3=A9s=20(marche=20=5Ftr=C3=A8s=5F=20m?= =?UTF-8?q?al).?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../code/modules/articles/articles-index.php | 1 + __cms__/code/modules/forum/forum-index.php | 1 + __cms__/code/modules/forum/forum-sujet.php | 2 + .../modules/galerie/galerie-evenement.php | 1 + .../code/modules/galerie/galerie-index.php | 1 + .../code/modules/galerie/galerie-periode.php | 1 + __cms__/code/modules/include.php | 1 + __cms__/code/modules/nouveautes/include.php | 3 + .../modules/nouveautes/nouveautes-index.php | 84 +++++++++++++++++++ .../modules/nouveautes/nouveautes-index.php~ | 62 ++++++++++++++ __cms__/code/site/squelette.php | 1 + .../forum/Nouveau sujet/__prop__date_modif | 1 + .../Nouveau sujet/__prop__dernier_numero | 1 + .../forum/Nouveau sujet/__prop__proprietaire | 1 + .../donnees/forum/Nouveau sujet/__prop__titre | 1 + .../donnees/forum/Nouveau sujet/__prop__type | 1 + __cms__/donnees/nouveautes/2/__prop__chemin | 1 + __cms__/donnees/nouveautes/2/__prop__type | 1 + __cms__/donnees/nouveautes/3/__prop__chemin | 1 + __cms__/donnees/nouveautes/3/__prop__type | 1 + .../donnees/nouveautes/__prop__dernier_numero | 1 + __cms__/donnees/nouveautes/__prop__titre | 1 + __cms__/donnees/nouveautes/__prop__type | 1 + nouveautes/2/index.php | 7 ++ nouveautes/3/index.php | 7 ++ nouveautes/index.php | 7 ++ permissions.sh | 2 +- 27 files changed, 192 insertions(+), 1 deletion(-) create mode 100644 __cms__/code/modules/nouveautes/include.php create mode 100644 __cms__/code/modules/nouveautes/nouveautes-index.php create mode 100644 __cms__/code/modules/nouveautes/nouveautes-index.php~ create mode 100644 __cms__/donnees/forum/Nouveau sujet/__prop__date_modif create mode 100644 __cms__/donnees/forum/Nouveau sujet/__prop__dernier_numero create mode 100644 __cms__/donnees/forum/Nouveau sujet/__prop__proprietaire create mode 100644 __cms__/donnees/forum/Nouveau sujet/__prop__titre create mode 100644 __cms__/donnees/forum/Nouveau sujet/__prop__type create mode 100644 __cms__/donnees/nouveautes/2/__prop__chemin create mode 100644 __cms__/donnees/nouveautes/2/__prop__type create mode 100644 __cms__/donnees/nouveautes/3/__prop__chemin create mode 100644 __cms__/donnees/nouveautes/3/__prop__type create mode 100644 __cms__/donnees/nouveautes/__prop__dernier_numero create mode 100644 __cms__/donnees/nouveautes/__prop__titre create mode 100644 __cms__/donnees/nouveautes/__prop__type create mode 100644 nouveautes/2/index.php create mode 100644 nouveautes/3/index.php create mode 100644 nouveautes/index.php diff --git a/__cms__/code/modules/articles/articles-index.php b/__cms__/code/modules/articles/articles-index.php index 7812874..413ce53 100644 --- a/__cms__/code/modules/articles/articles-index.php +++ b/__cms__/code/modules/articles/articles-index.php @@ -9,6 +9,7 @@ class ArticlesIndex { Stockage::set_prop($np, "proprietaire", Authentification::get_utilisateur()); Stockage::set_prop($np, "titre", "Nouvel article"); Stockage::set_prop($np, "contenu", "Bla bla bla."); + enregistrer_nouveaute($np); return new Page($np, '', "redirect"); } else { if (isset($paramètres["description"])) { diff --git a/__cms__/code/modules/forum/forum-index.php b/__cms__/code/modules/forum/forum-index.php index 2b319ee..72f1e6b 100644 --- a/__cms__/code/modules/forum/forum-index.php +++ b/__cms__/code/modules/forum/forum-index.php @@ -9,6 +9,7 @@ class ForumIndex { Stockage::set_prop($np, "proprietaire", Authentification::get_utilisateur()); Stockage::set_prop($np, "titre", "Nouveau sujet"); Stockage::set_prop($np, "dernier_numero", 0); + enregistrer_nouveaute($np); return new Page($np, '', "redirect"); } else { if (isset($paramètres["description"])) { diff --git a/__cms__/code/modules/forum/forum-sujet.php b/__cms__/code/modules/forum/forum-sujet.php index d8c78ab..13d6200 100644 --- a/__cms__/code/modules/forum/forum-sujet.php +++ b/__cms__/code/modules/forum/forum-sujet.php @@ -6,11 +6,13 @@ class ForumSujet { return new Page($chemin, '', "redirect"); } else if ($action == "nouvelle_page") { // SECURITE : On ne doit PAS pouvoir modifier dernier_numero arbitrairement + // CONCURENCE : Faire un lock quelque part... $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, "forum-message"); Stockage::set_prop($np, "proprietaire", Authentification::get_utilisateur()); Stockage::set_prop($np, "message", ""); + enregistrer_nouveaute($np); return new Page($chemin, "#message" . $numéro_message, "redirect"); } else if ($action == "supprimer") { diff --git a/__cms__/code/modules/galerie/galerie-evenement.php b/__cms__/code/modules/galerie/galerie-evenement.php index 1af0fac..c8db58a 100644 --- a/__cms__/code/modules/galerie/galerie-evenement.php +++ b/__cms__/code/modules/galerie/galerie-evenement.php @@ -9,6 +9,7 @@ class GalerieÉvènement { Stockage::set_prop($np, "proprietaire", Authentification::get_utilisateur()); Stockage::set_prop($np, "titre", "Nouvelle photo"); Stockage::set_prop($np, "description", ""); + enregistrer_nouveaute($np); return new Page($np, '', "redirect"); } else if ($action == "supprimer") { Stockage::supprimer($chemin, true); // TODO ! gérer correctement le récursif diff --git a/__cms__/code/modules/galerie/galerie-index.php b/__cms__/code/modules/galerie/galerie-index.php index 752cc9d..d82c5f5 100644 --- a/__cms__/code/modules/galerie/galerie-index.php +++ b/__cms__/code/modules/galerie/galerie-index.php @@ -9,6 +9,7 @@ class GalerieIndex { Stockage::set_prop($np, "proprietaire", Authentification::get_utilisateur()); Stockage::set_prop($np, "titre", "Nouvelle période"); Stockage::set_prop($np, "description", ""); + enregistrer_nouveaute($np); return new Page($np, '', "redirect"); } else { if (isset($paramètres["description"])) { diff --git a/__cms__/code/modules/galerie/galerie-periode.php b/__cms__/code/modules/galerie/galerie-periode.php index 8c86cd8..924c10d 100644 --- a/__cms__/code/modules/galerie/galerie-periode.php +++ b/__cms__/code/modules/galerie/galerie-periode.php @@ -9,6 +9,7 @@ class GaleriePériode { Stockage::set_prop($np, "proprietaire", Authentification::get_utilisateur()); Stockage::set_prop($np, "titre", "Nouvel évènement"); Stockage::set_prop($np, "description", ""); + enregistrer_nouveaute($np); return new Page($np, '', "redirect"); } else if ($action == "supprimer") { Stockage::supprimer($chemin, true); // TODO ! gérer correctement le récursif diff --git a/__cms__/code/modules/include.php b/__cms__/code/modules/include.php index 26f906a..2372361 100644 --- a/__cms__/code/modules/include.php +++ b/__cms__/code/modules/include.php @@ -7,5 +7,6 @@ require_once(dirname(__FILE__) . "/admin/include.php"); require_once(dirname(__FILE__) . "/forum/include.php"); require_once(dirname(__FILE__) . "/galerie/include.php"); require_once(dirname(__FILE__) . "/articles/include.php"); +require_once(dirname(__FILE__) . "/nouveautes/include.php"); ?> \ No newline at end of file diff --git a/__cms__/code/modules/nouveautes/include.php b/__cms__/code/modules/nouveautes/include.php new file mode 100644 index 0000000..f85890a --- /dev/null +++ b/__cms__/code/modules/nouveautes/include.php @@ -0,0 +1,3 @@ + \ No newline at end of file diff --git a/__cms__/code/modules/nouveautes/nouveautes-index.php b/__cms__/code/modules/nouveautes/nouveautes-index.php new file mode 100644 index 0000000..d4d5adf --- /dev/null +++ b/__cms__/code/modules/nouveautes/nouveautes-index.php @@ -0,0 +1,84 @@ +get_url() . '">'; + $ret .= '

'; + $ret .= '

'; + $ret .= ''; + } else { + $ret .= '

' . Stockage::get_prop($chemin, "titre") . '

'; + } + + $ret .= '
'; + $ret .= ''; + + return new Page($ret, Stockage::get_prop($chemin, "titre")); + } + } +} + +// TODO : maintenir la liste à jour lors des renomages, suppressions, ... +function enregistrer_nouveaute($chemin) { + $singleton = new Chemin("/nouveautes"); + Stockage::set_prop($chemin, "date_modif", "".time()); + // SECURITE : On ne doit PAS pouvoir modifier dernier_numero arbitrairement + // CONCURENCE : Faire un lock quelque part... + $numéro_nouveauté = 1 + Stockage::get_prop($singleton, "dernier_numero"); + Stockage::set_prop($singleton, "dernier_numero", $numéro_nouveauté); + + $nouv = Stockage::nouvelle_page($singleton, "" . $numéro_nouveauté, "nouveaute-element-liste"); + Stockage::set_prop($nouv, "chemin", $chemin->get()); +} + +Modules::enregister_module("NouveautesIndex", "nouveautes-index", "vue", "titre"); + +?> diff --git a/__cms__/code/modules/nouveautes/nouveautes-index.php~ b/__cms__/code/modules/nouveautes/nouveautes-index.php~ new file mode 100644 index 0000000..e7842dc --- /dev/null +++ b/__cms__/code/modules/nouveautes/nouveautes-index.php~ @@ -0,0 +1,62 @@ +get_url() . '">'; + $ret .= '

'; + $ret .= '

'; + $ret .= ''; + } else { + $ret .= '

' . Stockage::get_prop($chemin, "titre") . '

'; + } + + $ret .= '
'; + $ret .= ''; + + return new Page($ret, Stockage::get_prop($chemin, "titre")); + } + } +} + +Modules::enregister_module("NouveautesIndex", "nouveautes-index", "vue", "titre"); + +?> diff --git a/__cms__/code/site/squelette.php b/__cms__/code/site/squelette.php index 0f76df7..f465328 100644 --- a/__cms__/code/site/squelette.php +++ b/__cms__/code/site/squelette.php @@ -41,6 +41,7 @@ class Squelette { $ret .= '
  • get_url() . '">Galerie
  • ' . $nl; $ret .= '
  • get_url() . '">Forum
  • ' . $nl; $ret .= '
  • get_url() . '">Articles
  • ' . $nl; + $ret .= '
  • get_url() . '">Nouveautés
  • ' . $nl; if (Permissions::vérifier_permission($racine->enfant("admin"), "set_prop", Authentification::get_utilisateur())) { $ret .= '
  • get_url() . '">Administration
  • ' . $nl; } diff --git a/__cms__/donnees/forum/Nouveau sujet/__prop__date_modif b/__cms__/donnees/forum/Nouveau sujet/__prop__date_modif new file mode 100644 index 0000000..597f344 --- /dev/null +++ b/__cms__/donnees/forum/Nouveau sujet/__prop__date_modif @@ -0,0 +1 @@ +1282948057 \ No newline at end of file diff --git a/__cms__/donnees/forum/Nouveau sujet/__prop__dernier_numero b/__cms__/donnees/forum/Nouveau sujet/__prop__dernier_numero new file mode 100644 index 0000000..c227083 --- /dev/null +++ b/__cms__/donnees/forum/Nouveau sujet/__prop__dernier_numero @@ -0,0 +1 @@ +0 \ No newline at end of file diff --git a/__cms__/donnees/forum/Nouveau sujet/__prop__proprietaire b/__cms__/donnees/forum/Nouveau sujet/__prop__proprietaire new file mode 100644 index 0000000..f77b004 --- /dev/null +++ b/__cms__/donnees/forum/Nouveau sujet/__prop__proprietaire @@ -0,0 +1 @@ +admin \ No newline at end of file diff --git a/__cms__/donnees/forum/Nouveau sujet/__prop__titre b/__cms__/donnees/forum/Nouveau sujet/__prop__titre new file mode 100644 index 0000000..18984d3 --- /dev/null +++ b/__cms__/donnees/forum/Nouveau sujet/__prop__titre @@ -0,0 +1 @@ +Nouveau sujet \ No newline at end of file diff --git a/__cms__/donnees/forum/Nouveau sujet/__prop__type b/__cms__/donnees/forum/Nouveau sujet/__prop__type new file mode 100644 index 0000000..2901a6c --- /dev/null +++ b/__cms__/donnees/forum/Nouveau sujet/__prop__type @@ -0,0 +1 @@ +forum-sujet \ No newline at end of file diff --git a/__cms__/donnees/nouveautes/2/__prop__chemin b/__cms__/donnees/nouveautes/2/__prop__chemin new file mode 100644 index 0000000..71f0fa1 --- /dev/null +++ b/__cms__/donnees/nouveautes/2/__prop__chemin @@ -0,0 +1 @@ +/forum/Nouveau sujet \ No newline at end of file diff --git a/__cms__/donnees/nouveautes/2/__prop__type b/__cms__/donnees/nouveautes/2/__prop__type new file mode 100644 index 0000000..37e1ab3 --- /dev/null +++ b/__cms__/donnees/nouveautes/2/__prop__type @@ -0,0 +1 @@ +nouveaute-element-liste \ No newline at end of file diff --git a/__cms__/donnees/nouveautes/3/__prop__chemin b/__cms__/donnees/nouveautes/3/__prop__chemin new file mode 100644 index 0000000..71f0fa1 --- /dev/null +++ b/__cms__/donnees/nouveautes/3/__prop__chemin @@ -0,0 +1 @@ +/forum/Nouveau sujet \ No newline at end of file diff --git a/__cms__/donnees/nouveautes/3/__prop__type b/__cms__/donnees/nouveautes/3/__prop__type new file mode 100644 index 0000000..37e1ab3 --- /dev/null +++ b/__cms__/donnees/nouveautes/3/__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 new file mode 100644 index 0000000..e440e5c --- /dev/null +++ b/__cms__/donnees/nouveautes/__prop__dernier_numero @@ -0,0 +1 @@ +3 \ No newline at end of file diff --git a/__cms__/donnees/nouveautes/__prop__titre b/__cms__/donnees/nouveautes/__prop__titre new file mode 100644 index 0000000..d671aff --- /dev/null +++ b/__cms__/donnees/nouveautes/__prop__titre @@ -0,0 +1 @@ +Nouveautés \ No newline at end of file diff --git a/__cms__/donnees/nouveautes/__prop__type b/__cms__/donnees/nouveautes/__prop__type new file mode 100644 index 0000000..13a86d8 --- /dev/null +++ b/__cms__/donnees/nouveautes/__prop__type @@ -0,0 +1 @@ +nouveautes-index \ No newline at end of file diff --git a/nouveautes/2/index.php b/nouveautes/2/index.php new file mode 100644 index 0000000..3372a5a --- /dev/null +++ b/nouveautes/2/index.php @@ -0,0 +1,7 @@ + \ No newline at end of file diff --git a/nouveautes/3/index.php b/nouveautes/3/index.php new file mode 100644 index 0000000..2b5408d --- /dev/null +++ b/nouveautes/3/index.php @@ -0,0 +1,7 @@ + \ No newline at end of file diff --git a/nouveautes/index.php b/nouveautes/index.php new file mode 100644 index 0000000..729b82c --- /dev/null +++ b/nouveautes/index.php @@ -0,0 +1,7 @@ + diff --git a/permissions.sh b/permissions.sh index ac73618..d5e1127 100644 --- a/permissions.sh +++ b/permissions.sh @@ -1,6 +1,6 @@ #!/bin/sh -fichiers="index.php galerie forum articles admin __cms__/donnees" +fichiers="index.php galerie forum articles nouveautes admin __cms__/donnees" chgrp -R www-data $fichiers chmod -R 664 $fichiers