public static function action($chemin, $action, $paramètres) { if ($action == "anuler") { return new Page($chemin, '', "redirect"); } else { if ($action == "nouvelle_page") { // SECURITE : On ne doit PAS pouvoir modifier dernier_numero arbitrairement // CONCURENCE : Faire un lock quelque part... $numéro_contact = 1 + Stockage::get_prop($chemin, "dernier_numero"); Stockage::set_prop($chemin, "dernier_numero", $numéro_contact); $np = Stockage::nouvelle_page($chemin, "Contact" . $numéro_contact, "contact-contact"); Stockage::set_prop($np, "proprietaire", Authentification::get_utilisateur()); Stockage::set_prop($np, "nom", "Dupondt"); Stockage::set_prop($np, "prenom", "Jean"); Stockage::set_prop($np, "description", ""); enregistrer_nouveaute($np); return new Page($np, '', "redirect"); } else { 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 { return self::vue($chemin); } } } }
public static function action($chemin, $action, $paramètres) { if ($action == "anuler") { return new Page($chemin, '', "redirect"); } else { if ($action == "nouvelle_page") { $np = Stockage::nouvelle_page($chemin, "Nouvelle équipe", "equipes-equipe"); Stockage::set_prop($np, "proprietaire", Authentification::get_utilisateur()); Stockage::set_prop($np, "titre", "Nouvelle équipe"); Stockage::set_prop($np, "dernier_numero", 0); enregistrer_nouveaute($np); return new Page($np, '', "redirect"); } else { 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 { return self::vue($chemin); } } } }
public static function action($chemin, $action, $paramètres) { if ($action == "anuler") { return new Page($chemin, '', "redirect"); } else { if ($action == "nouvelle_page") { // SECURITE : On ne doit PAS pouvoir modifier dernier_numero arbitrairement // CONCURENCE : Faire un lock quelque part... $numéro_lien = 1 + Stockage::get_prop($chemin, "dernier_numero"); Stockage::set_prop($chemin, "dernier_numero", $numéro_lien); $np = Stockage::nouvelle_page($chemin, "Lien" . $numéro_lien, "liens-lien"); Stockage::set_prop($np, "proprietaire", Authentification::get_utilisateur()); Stockage::set_prop($np, "texte", "Un lien"); Stockage::set_prop($np, "cible", "http://www.example.com/page/"); Stockage::set_prop($np, "description", "Un lien d'exemple très utile."); enregistrer_nouveaute($np); return new Page($np, '', "redirect"); } else { 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 { return self::vue($chemin); } } } }
public static function nouvel_utilisateur($nom_utilisateur) { // TODO : SECURITE : Si la page existe déjà, laisser tomber ! Stockage::nouvelle_page(self::singleton(), $nom_utilisateur, "admin-utilisateur"); self::set_mot_de_passe_aléatoire($nom_utilisateur); self::set_groupe($nom_utilisateur, "Anonymes"); self::set_peut_se_connecter($nom_utilisateur, false); }
function enregistrer_nouveaute($chemin) { $singleton = new Chemin("/nouveautes"); Stockage::set_prop($chemin, "date_modif", "" . time()); // SECURITE : On ne doit PAS pouvoir modifier dernier_numero arbitrairement // CONCURENCE : Faire un lock quelque part... $numéro_nouveauté = 1 + Stockage::get_prop($singleton, "dernier_numero"); Stockage::set_prop($singleton, "dernier_numero", $numéro_nouveauté); $nouv = Stockage::nouvelle_page($singleton, "" . $numéro_nouveauté, "nouveaute-element-liste"); Stockage::set_prop($nouv, "chemin", $chemin->get()); }
public static function action($chemin, $action, $paramètres) { if ($action == "anuler") { return new Page($chemin, '', "redirect"); } else { if ($action == "nouvelle_page") { $np = Stockage::nouvelle_page($chemin, "Nouvel évènement", "galerie-evenement"); Stockage::set_prop($np, "proprietaire", Authentification::get_utilisateur()); Stockage::set_prop($np, "titre", "Nouvel évènement"); Stockage::set_prop($np, "description", ""); enregistrer_nouveaute($np); 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["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 { return self::vue($chemin); } } } } }
public static function action($chemin, $action, $paramètres) { if ($action == "anuler") { return new Page($chemin, '', "redirect"); } else { if ($action == "nouvelle_page") { // SECURITE : On ne doit PAS pouvoir modifier dernier_numero arbitrairement // CONCURENCE : Faire un lock quelque part... $numéro_joueur = 1 + Stockage::get_prop($chemin, "dernier_numero"); Stockage::set_prop($chemin, "dernier_numero", $numéro_joueur); $np = Stockage::nouvelle_page($chemin, "Joueur" . $numéro_joueur, "equipes-joueur"); Stockage::set_prop($np, "proprietaire", Authentification::get_utilisateur()); Stockage::set_prop($np, "nom", "Dupondt"); Stockage::set_prop($np, "prenom", "Jean"); Stockage::set_prop($np, "description", ""); enregistrer_nouveaute($np); return new Page($chemin, '', "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::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" return new Page($chemin, '', "redirect"); } if (isset($paramètres["vue"])) { return self::vue($chemin, $paramètres["vue"]); } else { return self::vue($chemin); } } } } }