public static function action($chemin, $action, $paramètres) { if ($action == "anuler") { 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["contenu"])) { Stockage::set_prop($chemin, "contenu", $paramètres["contenu"]); } // 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" 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_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 == "supprimer") { Stockage::supprimer($chemin, true); // TODO ! gérer correctement le récursif return new Page($chemin->parent(), '', "redirect"); } else { if (isset($paramètres["fichier_image"])) { $fichier_image = $paramètres["fichier_image"]["tmp_name"]; $fichier_image_mini = self::creer_miniature($fichier_image, 64, 64); Stockage::set_prop_fichier($chemin, "image_mini", $fichier_image_mini); Stockage::set_prop_fichier_reçu($chemin, "image", $fichier_image); } 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" 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_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 action($chemin, $action, $paramètres) { if ($action == "anuler") { return new Page($chemin, '', "redirect"); } else { 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) { $singleton = new Chemin("/admin/permissions/"); if ($action == "anuler") { return new Page($chemin, '', "redirect"); } else { if (isset($paramètres["regles"])) { Stockage::set_prop($singleton, "regles", $paramètres["regles"]); } if (isset($paramètres["vue"])) { return self::vue($chemin, $paramètres["vue"]); } else { return self::vue($chemin); } } }
public static function set_regles($regles) { // $regles est un tableau de quadruplets // (chemin, action, groupe, autorisation). $str_regles = ''; foreach ($regles as $k => $r) { $str_regles .= self::escape_element_regle($r["chemin"]->get()); $str_regles .= '|' . self::escape_element_regle($r["action"]); $str_regles .= '|' . self::escape_element_regle($r["groupe"]); $str_regles .= '|' . ($r["autorisation"] ? "oui" : "non"); $str_regles .= '|' . self::escape_element_regle($r["commentaire"]); $str_regles .= "\n"; // TODO vérifier que la séquence d'échappement est bien comprise. } return Stockage::set_prop(self::singleton(), "regles", $str_regles); }
public static function action($chemin, $action, $paramètres) { if ($action == "anuler") { 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["message"])) { Stockage::set_prop($chemin, "message", $paramètres["message"]); } return new Page($chemin->parent(), '', "redirect"); } } }
public static function action($chemin, $action, $paramètres) { if (isset($paramètres["nom_site"])) { Stockage::set_prop($chemin, "nom_site", $paramètres["nom_site"]); } if (isset($paramètres["prochain_evenement"])) { Stockage::set_prop($chemin, "prochain_evenement", $paramètres["prochain_evenement"]); } if (isset($paramètres["description"])) { Stockage::set_prop($chemin, "description", $paramètres["description"]); } 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, "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); } } } } }