www

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | README

galerie-periode.php (4592B)


      1 <?php
      2 
      3 class GaleriePériode {
      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, "Nouvel évènement", "galerie-evenement");
      9 			Stockage::set_prop($np, "proprietaire", Authentification::get_utilisateur());
     10 			Stockage::set_prop($np, "titre", "Nouvel évènement");
     11 			Stockage::set_prop($np, "description", "");
     12 			enregistrer_nouveaute($np);
     13 			return new Page($np, '', "redirect");
     14 		} else if ($action == "supprimer") {
     15 			Stockage::supprimer($chemin, true); // TODO ! gérer correctement le récursif
     16 			return new Page($chemin->parent(), '', "redirect");
     17 		} else {
     18 			if (isset($paramètres["description"])) {
     19 				Stockage::set_prop($chemin, "description", $paramètres["description"]);
     20 			}
     21 			
     22 			// titre après les autres paramètres car il peut générer un redirect.
     23 			if (isset($paramètres["titre"]) && Stockage::prop_diff($chemin, "titre", $paramètres["titre"])) {
     24 				Stockage::set_prop($chemin, "titre", $paramètres["titre"]);
     25 				Stockage::renomer($chemin, $paramètres["titre"]);
     26 				$chemin = $chemin->renomer($paramètres["titre"]);
     27 				// TODO : transmettre le paramètre "vue"
     28 				// TODO : ne marche pas.
     29 				return new Page($chemin, '', "redirect");
     30 			}
     31 			
     32 			if (isset($paramètres["vue"])) {
     33 				return self::vue($chemin, $paramètres["vue"]);
     34 			} else {
     35 				return self::vue($chemin);
     36 			}
     37 		}
     38 	}
     39 	
     40 	public static function vue($chemin, $vue = "normal") {
     41 		if ($vue == "normal") {
     42 			$ret = '';
     43 			
     44 			if (Permissions::vérifier_permission($chemin, "set_prop", Authentification::get_utilisateur())) {
     45 				$ret .= '<form class="galerie infos" method="post" action="' . $chemin->get_url() . '">';
     46 				$ret .= '<h2><input type="text" name="titre" value="' . Stockage::get_prop($chemin, "titre") . '" /></h2>';
     47 				$ret .= formulaire_édition_texte_enrichi(Stockage::get_prop($chemin, "description"), "description");
     48 				$ret .= '<p><input type="submit" value="appliquer" /></p>';
     49 				$ret .= '</form>';
     50 			} else {
     51 				$ret .= '<h2>' . Stockage::get_prop($chemin, "titre") . '</h2>';
     52 				$ret .= '<p class="galerie periode description affichage">' . Stockage::get_prop($chemin, "description") . '</p>';
     53 			}
     54 			
     55 			$ret .= '<div class="galerie photos periode">';
     56 			$ret .= '<ul>';
     57 			foreach (Stockage::liste_enfants($chemin) as $k) {
     58 				$mini = Modules::vue($k, 'miniature');
     59 				$ret .= '<li>';
     60 				$ret .= '<a href="' . $k->get_url() . '">'; // TODO : escape l'url !
     61 				$ret .= '<span class="miniature">';
     62  				$ret .= $mini->contenu; // TODO : escape l'url !
     63 				$ret .= '</span>';
     64 				$ret .= '<span class="titre">';
     65 				$ret .= $mini->titre;
     66 				$ret .= '</span>';
     67 				$ret .= '</a>';
     68 				$ret .= '</li>';
     69 			}
     70 			
     71 			if (Permissions::vérifier_permission($chemin, "nouvelle_page", Authentification::get_utilisateur())) {
     72 				$ret .= '<li>';
     73 				$ret .= '<div class="miniature">';
     74 				$ret .= '<img alt="nouvel évènement" src="' . $chemin->get_url("?vue=image_nouvel_evenement") . '" />';
     75 				$ret .= '</div>';
     76 				$ret .= '<div class="titre">';
     77 				
     78 				$ret .= '<form class="galerie nouvelle_page" method="post" action="' . $chemin->get_url() . '">';
     79 				$ret .= '<p>';
     80 				$ret .= '<input type="hidden" name="action" value="nouvelle_page"/>';
     81 				$ret .= '<input type="submit" value="Nouvel évènement"/>';
     82 				$ret .= '</p>';
     83 				$ret .= '</form>';
     84 				
     85 				$ret .= '</div>';
     86 				$ret .= '</li>';
     87 			}
     88 			
     89 			$ret .= '</ul>';
     90 			$ret .= '<div class="clearboth"></div>';
     91 			$ret .= '</div>';
     92 			
     93 			if (Permissions::vérifier_permission($chemin, "supprimer", Authentification::get_utilisateur())) {
     94 				$ret .= '<form action="' . $chemin->get_url() . '">';
     95 				$ret .= '<input type="hidden" name="action" value="supprimer"/>';
     96 				$ret .= '<input type="submit" value="Supprimer la période"/>';
     97 				$ret .= '</form>';
     98 			}
     99 			return new Page($ret, Stockage::get_prop($chemin, "titre"));
    100 		} else if ($vue == "miniature") {
    101 			$ret = "Aucune<br/>photo";
    102 			
    103 			$enfants = Stockage::liste_enfants($chemin);
    104 			if (isset($enfants[0])) $ret = Modules::vue($enfants[0], 'miniature')->contenu;
    105 			
    106 			return new Page($ret, Stockage::get_prop($chemin, "titre"));
    107 		} else if ($vue == "image_nouvel_evenement") {
    108 			// Houlàlà ça sent le hack pas beau !
    109 			return new Page(Path::combine(Config::get("chemin_base"), "/code/site/nouvel_evenement.jpg"), null, "sendfile");
    110 		}
    111 	}
    112 }
    113 
    114 Modules::enregister_module("GaleriePériode", "galerie-periode", "vue", "titre description");
    115 
    116 ?>