www

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

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 ?>