From d5ee5bd6f929444916c8387bfdc8861ab3125c70 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Georges=20Dup=C3=A9ron?= Date: Thu, 19 Aug 2010 06:16:38 +0200 Subject: [PATCH] =?UTF-8?q?Galerie-periode.php=20fait=20enti=C3=A8rement?= =?UTF-8?q?=20dans=20meld=20=C3=A0=20partir=20de=20galerie-index.php.=20\o?= =?UTF-8?q?/?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit En fait c'est plutôt sympa de coder dans un diff graphique :) . --- __cms__/TODO | 3 +- .../code/modules/galerie/galerie-index.php | 7 +- .../code/modules/galerie/galerie-periode.php | 85 +++++++++++++----- __cms__/code/site/nouvel_evenement.jpg | Bin 0 -> 1506 bytes __cms__/code/stockage/stockage.php | 5 ++ 5 files changed, 75 insertions(+), 25 deletions(-) create mode 100644 __cms__/code/site/nouvel_evenement.jpg diff --git a/__cms__/TODO b/__cms__/TODO index 34a9c99..4af3eae 100644 --- a/__cms__/TODO +++ b/__cms__/TODO @@ -5,4 +5,5 @@ Les titres devraient renomer _+_ set_prop (sachant que le renomage peut déterio Gérer ces saletées de magic quotes dans les biscuits aux brisures de chocolat (cookies). Mettre le css dans une page (dossier) qui s'appelle "style.css", comme ça ça donne l'impression que c'est un fichier (même si en réalité c'est le index.php de cette page qui le génère). -Si on ne peut lire la propriété __prop_type, afficher un "Access Denied" au lieu de dire qu'on n'a pas pu lire la propriété. \ No newline at end of file +Si on ne peut lire la propriété __prop_type, afficher un "Access Denied" au lieu de dire qu'on n'a pas pu lire la propriété. +Ajouter une petite horloge sur nouvel_evenement.jpg et un petit calendrier sur nouvelle_periode.jpg diff --git a/__cms__/code/modules/galerie/galerie-index.php b/__cms__/code/modules/galerie/galerie-index.php index 069da6a..752cc9d 100644 --- a/__cms__/code/modules/galerie/galerie-index.php +++ b/__cms__/code/modules/galerie/galerie-index.php @@ -11,13 +11,14 @@ class GalerieIndex { Stockage::set_prop($np, "description", ""); return new Page($np, '', "redirect"); } else { - if (isset($paramètres["titre"])) { - Stockage::set_prop($chemin, "titre", $paramètres["titre"]); - } if (isset($paramètres["description"])) { Stockage::set_prop($chemin, "description", $paramètres["description"]); } + if (isset($paramètres["titre"])) { + Stockage::set_prop($chemin, "titre", $paramètres["titre"]); + } + if (isset($paramètres["vue"])) { return self::vue($chemin, $paramètres["vue"]); } else { diff --git a/__cms__/code/modules/galerie/galerie-periode.php b/__cms__/code/modules/galerie/galerie-periode.php index 5f66e94..add8d09 100644 --- a/__cms__/code/modules/galerie/galerie-periode.php +++ b/__cms__/code/modules/galerie/galerie-periode.php @@ -7,20 +7,27 @@ class GaleriePériode { } else if ($action == "nouvelle_page") { $np = Stockage::nouvelle_page($chemin, "Nouvel évènement", "galerie-periode"); Stockage::set_prop($np, "proprietaire", Authentification::get_utilisateur()); + Stockage::set_prop($np, "titre", "Nouvel évènement"); + Stockage::set_prop($np, "description", ""); return new Page($np, '', "redirect"); } else if ($action == "supprimer") { Stockage::supprimer($chemin, true); // TODO ! gérer correctement le récursif return new Page($chemin->parent(), '', "redirect"); } else { - if (isset($paramètres["titre"])) { - Stockage::renomer($chemin, $paramètres["titre"]); - $chemin = $chemin->renomer($paramètres["titre"]); - // TODO : peut-être new Page($chemin, '', "redirect") ? - } 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" + // TODO : ne marche pas. + return new Page($chemin, '', "redirect"); + } + if (isset($paramètres["vue"])) { return self::vue($chemin, $paramètres["vue"]); } else { @@ -30,40 +37,76 @@ class GaleriePériode { } public static function vue($chemin, $vue = "normal") { - $ret = ''; if ($vue == "normal") { + $ret = ''; + if (Permissions::vérifier_permission($chemin, "set_prop", Authentification::get_utilisateur())) { - $ret .= ''; - $ret .= formulaire_édition_texte_enrichi(Stockage::get_prop($chemin, "description"), "message"); + $ret .= '
'; + $ret .= '

'; + $ret .= formulaire_édition_texte_enrichi(Stockage::get_prop($chemin, "description"), "description"); + $ret .= '

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

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

'; $ret .= '

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

'; } - if (Permissions::vérifier_permission($chemin, "nouvelle_page", Authentification::get_utilisateur())) { - $ret .= '
'; - $ret .= ''; - $ret .= ''; - $ret .= '
'; + + $ret .= '
'; + $ret .= ''; + $ret .= '
'; + $ret .= '
'; + if (Permissions::vérifier_permission($chemin, "supprimer", Authentification::get_utilisateur())) { $ret .= '
'; $ret .= ''; - $ret .= ''; + $ret .= ''; $ret .= '
'; } - $ret .= ''; + return new Page($ret, Stockage::get_prop($chemin, "titre")); } else if ($vue == "miniature") { $ret = "Aucune
photo"; $enfants = Stockage::liste_enfants($chemin); if (isset($enfants[0])) $ret = Modules::vue($enfants[0], 'miniature')->contenu; + + return new Page($ret, Stockage::get_prop($chemin, "titre")); + } else if ($vue == "image_nouvel_evenement") { + // Houlàlà ça sent le hack pas beau ! + return new Page(Path::combine(Config::get("chemin_base"), "/code/site/nouvel_evenement.jpg"), null, "sendfile"); } - return new Page($ret, Stockage::get_prop($chemin, "titre")); } } diff --git a/__cms__/code/site/nouvel_evenement.jpg b/__cms__/code/site/nouvel_evenement.jpg new file mode 100644 index 0000000000000000000000000000000000000000..b894dec92e08557e8a85df713f3a70d86614e182 GIT binary patch literal 1506 zcmb7CcT|&i6#aeq5<-}MBtce~VF-<{s0zyW}P(P%V`5hM%-BZL(b#tI-QDvA?BB&DPf zNd&=5D{RLTdRtPI0EG(f&KnRNe8~mF9 z5e76sgCSLbLLeA{__u*P04VtD3f~}v!3v{Muz)n!1|S%QV5}&N`J0DOFdASGA*_^& zFrKJuRxr6;M%B^9)z^=e)mfPEesa)*Sd>>}Eqtz<$R^rUTLnbe1 zT|B*zsv=KBgZpYDZz`gF&ggV-rgcg3a8mon*}cZpJQt?|q=%WpSZ&a2&!x$FDnIn) zR63_$?mqvm-o6_jvZ?8LWT$(QN&K$6ZJnN_Kl^tMHx0mwaaO;?jJ z)S`j&RkdUwWJ6vh+$bxuEM99H{GrM$Bx`baw_dg9!9AiZmyCIJi)^ihpJbQIxO*&v z@w%)YbZSZ)r2%8TD?`Ob)+B$S|JZSpQSm1z&6!FZQb@PGMIV)rJdCY(_jZ@pc;F_V zd^%G)<{2S)qC?~o>v`1y9de|pNK(7kQLlv}>7{Jj0IkY~stmE*dwI2GOYa9`P=>yp zsdVhp7-^!l!PaQz*lgpIAsl#1f0_NFPQne|_qimG*^~Amz-7TpzOOdiRV`uXNal6s z3?C5A`mrk8r%PBi=29Z;Dg}T&qLFhg(L}ln)vt1AvSiZZbwl9nuZBd0t;8V%BBp)? zi5^MYs;}J0P|Tvh>AcKMC(|X9RQ#0vZjPKk^dU<2+)yr@^W6^3HwLac9XM_mm*7$C z=6}jQ2CgGdFF82jkB zVRx)LW0rb3G<)_vo2gx$q%AEyV_#n#xqqV>FrKoZwmSkQZX5`<#^g-m*@j$!A8qo~( zKxRHrB!9vrOg@Zv({YX+PH?;Ux`2>zHGYj;YU=Dn^av^vuiUY!6$!{t$wFz!^!}U( zUvvt^B8^6d&a=i0#`GQ5%jHLwNA}-HiumNDz4yc;tYP~JT~2Bv=|b-KWlK|@=2oaX zd;MHmi+X1nThnJ|=nNO=tL5nUNG(pRXeXXAJb9~3@-V~6`Z3V43Rc;dr^l-rBofOa zc7m^sQA>c$Ltlq1GJGqq6SCyQ<@n=fQTc;RC%#<8u@eY5o4_ zvvP)cRx_Jwv{;i&7vG@152d{G-SSy`N$8Go@@gDzY7Nitz1Uou5yH7&&G3qKS@JUodw!)KogQcAVa=h%a#9vkf|y?} z{E0W#=Cryr3%w~n_k9ez_xkei+(cqUaE5iEcv0deBie5Ds@u5p5`|IG_Al1H_rmjv zclEIabzy6ZZz)3oLi2+O)M?2=f3{(_;JH{+(>gRqW*vrm#a|>!tKzISm&c#_3qKNH A%m4rY literal 0 HcmV?d00001 diff --git a/__cms__/code/stockage/stockage.php b/__cms__/code/stockage/stockage.php index 124e584..e2861a7 100644 --- a/__cms__/code/stockage/stockage.php +++ b/__cms__/code/stockage/stockage.php @@ -88,6 +88,11 @@ class Stockage { } } + public static function prop_diff($chemin, $prop, $valeur) { + // Renvoie true si la valeur actuelle de $prop est différente de $valeur. + return self::get_prop($chemin, $prop) != $valeur; + } + // TODO : la suppression non récursive d'une page implique de supprimer // ses propriétés, or pour ça, il faudrait que la suppression soit // récursive sur un niveau seulement, ce qui n'est pas possible avec ce