galerie-index.php (3428B)
1 <?php 2 3 class GalerieIndex { 4 public static function action($chemin, $action, $paramètres) { 5 if ($action == "anuler") { 6 return new Page($chemin, '', "redirect"); 7 } else if ($action == "nouvelle_page") { 8 $np = Stockage::nouvelle_page($chemin, "Nouvelle période", "galerie-periode"); 9 Stockage::set_prop($np, "proprietaire", Authentification::get_utilisateur()); 10 Stockage::set_prop($np, "titre", "Nouvelle période"); 11 Stockage::set_prop($np, "description", ""); 12 enregistrer_nouveaute($np); 13 return new Page($np, '', "redirect"); 14 } else { 15 if (isset($paramètres["description"])) { 16 Stockage::set_prop($chemin, "description", $paramètres["description"]); 17 } 18 19 if (isset($paramètres["titre"])) { 20 Stockage::set_prop($chemin, "titre", $paramètres["titre"]); 21 } 22 23 if (isset($paramètres["vue"])) { 24 return self::vue($chemin, $paramètres["vue"]); 25 } else { 26 return self::vue($chemin); 27 } 28 } 29 } 30 31 public static function vue($chemin, $vue = "normal") { 32 if ($vue == "normal") { 33 $ret = ''; 34 35 if (Permissions::vérifier_permission($chemin, "set_prop", Authentification::get_utilisateur())) { 36 $ret .= '<form class="galerie infos" method="post" action="' . $chemin->get_url() . '">'; 37 $ret .= '<h2><input type="text" name="titre" value="' . Stockage::get_prop($chemin, "titre") . '" /></h2>'; 38 $ret .= formulaire_édition_texte_enrichi(Stockage::get_prop($chemin, "description"), "description"); 39 $ret .= '<p><input type="submit" value="appliquer" /></p>'; 40 $ret .= '</form>'; 41 } else { 42 $ret .= '<h2>' . Stockage::get_prop($chemin, "titre") . '</h2>'; 43 $ret .= '<p class="galerie index description affichage">' . Stockage::get_prop($chemin, "description") . '</p>'; 44 } 45 46 $ret .= '<div class="galerie photos index">'; 47 $ret .= '<ul>'; 48 foreach (Stockage::liste_enfants($chemin) as $k) { 49 $mini = Modules::vue($k, 'miniature'); 50 $ret .= '<li>'; 51 $ret .= '<a href="' . $k->get_url() . '">'; // TODO : escape l'url ! 52 $ret .= '<span class="miniature">'; 53 $ret .= $mini->contenu; // TODO : escape l'url ! 54 $ret .= '</span>'; 55 $ret .= '<span class="titre">'; 56 $ret .= $mini->titre; 57 $ret .= '</span>'; 58 $ret .= '</a>'; 59 $ret .= '</li>'; 60 } 61 62 if (Permissions::vérifier_permission($chemin, "nouvelle_page", Authentification::get_utilisateur())) { 63 $ret .= '<li>'; 64 $ret .= '<div class="miniature">'; 65 $ret .= '<img alt="nouvelle période" src="' . $chemin->get_url("?vue=image_nouvelle_periode") . '" />'; 66 $ret .= '</div>'; 67 $ret .= '<div class="titre">'; 68 69 $ret .= '<form class="galerie nouvelle_page" method="post" action="' . $chemin->get_url() . '">'; 70 $ret .= '<p>'; 71 $ret .= '<input type="hidden" name="action" value="nouvelle_page"/>'; 72 $ret .= '<input type="submit" value="Nouvelle période"/>'; 73 $ret .= '</p>'; 74 $ret .= '</form>'; 75 76 $ret .= '</div>'; 77 $ret .= '</li>'; 78 } 79 80 $ret .= '</ul>'; 81 $ret .= '<div class="clearboth"></div>'; 82 $ret .= '</div>'; 83 84 return new Page($ret, Stockage::get_prop($chemin, "titre")); 85 } else if ($vue == "image_nouvelle_periode") { 86 // Houlàlà ça sent le hack pas beau ! 87 return new Page(Path::combine(Config::get("chemin_base"), "/code/site/nouvelle_image.jpg"), null, "sendfile"); 88 } 89 } 90 } 91 92 Modules::enregister_module("GalerieIndex", "galerie-index", "vue", "titre description"); 93 94 ?>