equipes-equipe.php (3493B)
1 <?php 2 3 class ÉquipesÉquipe { 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 // SECURITE : On ne doit PAS pouvoir modifier dernier_numero arbitrairement 9 // CONCURENCE : Faire un lock quelque part... 10 $numéro_joueur = 1 + Stockage::get_prop($chemin, "dernier_numero"); 11 Stockage::set_prop($chemin, "dernier_numero", $numéro_joueur); 12 $np = Stockage::nouvelle_page($chemin, "Joueur" . $numéro_joueur, "equipes-joueur"); 13 Stockage::set_prop($np, "proprietaire", Authentification::get_utilisateur()); 14 Stockage::set_prop($np, "nom", "Dupondt"); 15 Stockage::set_prop($np, "prenom", "Jean"); 16 Stockage::set_prop($np, "description", ""); 17 enregistrer_nouveaute($np); 18 19 return new Page($chemin, '', "redirect"); 20 } else if ($action == "supprimer") { 21 Stockage::supprimer($chemin, true); // TODO ! gérer correctement le récursif 22 return new Page($chemin->parent(), '', "redirect"); 23 } else { 24 if (isset($paramètres["titre"]) && Stockage::prop_diff($chemin, "titre", $paramètres["titre"])) { 25 Stockage::set_prop($chemin, "titre", $paramètres["titre"]); 26 Stockage::renomer($chemin, $paramètres["titre"]); 27 $chemin = $chemin->renomer($paramètres["titre"]); 28 // TODO : transmettre le paramètre "vue" 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="équipes équipe infos" method="post" action="' . $chemin->get_url() . '">'; 46 $ret .= '<h2><input type="text" name="titre" value="' . Stockage::get_prop($chemin, "titre") . '" /></h2>'; 47 $ret .= '<p><input type="submit" value="appliquer" /></p>'; 48 $ret .= '</form>'; 49 } else { 50 $ret .= '<h2 class="équipes équipe titre affichage">' . Stockage::get_prop($chemin, "titre") . '</h2>'; 51 } 52 if (Permissions::vérifier_permission($chemin, "supprimer", Authentification::get_utilisateur())) { 53 $ret .= '<form action="' . $chemin->get_url() . '">'; 54 $ret .= '<input type="hidden" name="action" value="supprimer"/>'; 55 $ret .= '<input type="submit" value="Supprimer l\'équipe"/>'; 56 $ret .= '</form>'; 57 } 58 $ret .= '<ul class="équipes équipe">'; 59 60 foreach (stockage::liste_enfants($chemin) as $k) { 61 $ret .= '<li>' . Modules::vue($k)->contenu . '</li>'; 62 } 63 64 if (Permissions::vérifier_permission($chemin, "nouvelle_page", Authentification::get_utilisateur())) { 65 $ret .= '<li>'; 66 $ret .= '<form class="équipes équipe nouvelle_page" method="post" action="' . $chemin->get_url() . '">'; 67 $ret .= '<p>'; 68 $ret .= '<input type="hidden" name="action" value="nouvelle_page"/>'; 69 $ret .= '<input type="submit" value="Nouveau joueur"/>'; 70 $ret .= '</p>'; 71 $ret .= '</form>'; 72 $ret .= '</li>'; 73 } 74 75 $ret .= '</ul>'; 76 77 return new Page($ret, Stockage::get_prop($chemin, "titre")); 78 } else if ($vue == "miniature") { 79 return new Page("Équipe.", Stockage::get_prop($chemin, "titre")); 80 } 81 } 82 } 83 84 Modules::enregister_module("ÉquipesÉquipe", "equipes-equipe", "vue", "titre"); 85 86 ?>