if (isset($paramètres["vue"])) { return self::vue($chemin, $paramètres["vue"]); } else { return self::vue($chemin); } } public static function vue($chemin, $vue = "normal") { if ($vue == "normal") { $ret = ''; $ret .= '<h2>Administration</h2>'; $ret .= '<ul>'; foreach (Stockage::liste_enfants($chemin) as $k) { if (Stockage::get_prop($k, "inclure_administration") == "oui") { $ret .= '<li>'; $ret .= '<a href="' . $k->get_url() . '">'; // TODO : escape l'url ! $ret .= Stockage::get_prop($k, "titre"); $ret .= '</a>'; $ret .= '</li>'; } } $ret .= '</ul>'; return new Page($ret, Stockage::get_prop($chemin, "nom_site")); } return new Page('', ''); // TODO : devrait renvoyer une page d'erreur ! } } Modules::enregister_module("AdminIndex", "admin-index", "vue");
$ret .= '</li>'; } $ret .= '</ul>'; $ret .= '<div class="clearboth"></div>'; $ret .= '</div>'; if (Permissions::vérifier_permission($chemin, "supprimer", Authentification::get_utilisateur())) { $ret .= '<form action="' . $chemin->get_url() . '">'; $ret .= '<input type="hidden" name="action" value="supprimer"/>'; $ret .= '<input type="submit" value="Supprimer la période"/>'; $ret .= '</form>'; } return new Page($ret, Stockage::get_prop($chemin, "titre")); } else { if ($vue == "miniature") { $ret = "Aucune<br/>photo"; $enfants = Stockage::liste_enfants($chemin); if (isset($enfants[0])) { $ret = Modules::vue($enfants[0], 'miniature')->contenu; } return new Page($ret, Stockage::get_prop($chemin, "titre")); } else { if ($vue == "image_nouvel_evenement") { // Houlàlà ça sent le hack pas beau ! return new Page(Path::combine(Config::get("chemin_base"), "/code/site/nouvel_evenement.jpg"), null, "sendfile"); } } } } } Modules::enregister_module("GaleriePériode", "galerie-periode", "vue", "titre description");
if (Permissions::vérifier_permission($chemin, "supprimer", Authentification::get_utilisateur())) { $ret .= '<form action="' . $chemin->get_url() . '">'; $ret .= '<input type="hidden" name="action" value="supprimer"/>'; $ret .= '<input type="submit" value="Supprimer l\'équipe"/>'; $ret .= '</form>'; } $ret .= '<ul class="équipes équipe">'; foreach (stockage::liste_enfants($chemin) as $k) { $ret .= '<li>' . Modules::vue($k)->contenu . '</li>'; } if (Permissions::vérifier_permission($chemin, "nouvelle_page", Authentification::get_utilisateur())) { $ret .= '<li>'; $ret .= '<form class="équipes équipe nouvelle_page" method="post" action="' . $chemin->get_url() . '">'; $ret .= '<p>'; $ret .= '<input type="hidden" name="action" value="nouvelle_page"/>'; $ret .= '<input type="submit" value="Nouveau joueur"/>'; $ret .= '</p>'; $ret .= '</form>'; $ret .= '</li>'; } $ret .= '</ul>'; return new Page($ret, Stockage::get_prop($chemin, "titre")); } else { if ($vue == "miniature") { return new Page("Équipe.", Stockage::get_prop($chemin, "titre")); } } } } Modules::enregister_module("ÉquipesÉquipe", "equipes-equipe", "vue", "titre");
$ret .= '</div>'; $ret .= '<div class="description-site">'; if (Permissions::vérifier_permission($chemin, "set_prop", Authentification::get_utilisateur())) { $ret .= '<form class="nom_site infos" method="post" action="' . $chemin->get_url() . '">'; $ret .= '<h2><input type="text" name="nom_site" value="' . Stockage::get_prop($chemin, "nom_site") . '" /></h2>'; $ret .= '<p><input type="submit" value="appliquer" /></p>'; $ret .= '</form>'; } else { $ret .= "<h2>" . Stockage::get_prop($chemin, "nom_site") . "</h2>"; } if (Permissions::vérifier_permission($chemin, "set_prop", Authentification::get_utilisateur())) { $ret .= '<form method="post" action="' . $chemin->get_url() . '">'; $ret .= formulaire_édition_texte_enrichi(Stockage::get_prop($chemin, "description"), "description"); $ret .= '<p><input type="submit" value="appliquer" /></p>'; $ret .= '</form>'; } else { $ret .= Stockage::get_prop($chemin, "description"); } $ret .= '</div>'; return new Page($ret, Stockage::get_prop($chemin, "nom_site")); } else { if ($vue == "css") { return new Page(get_css(), "text/css", "raw"); } } return new Page('', ''); // TODO : devrait renvoyer une page d'erreur ! } } Modules::enregister_module("SiteIndex", "site-index", "vue", "nom_site prochain_evenement description");
if (Permissions::vérifier_permission($chemin, "nouvelle_page", Authentification::get_utilisateur())) { $ret .= '<li>'; $ret .= '<div class="titre">'; $ret .= '<form class="equipes nouvelle_page" method="post" action="' . $chemin->get_url() . '">'; $ret .= '<p>'; $ret .= '<input type="hidden" name="action" value="nouvelle_page"/>'; $ret .= '<input type="submit" value="Nouvelle équipe"/>'; $ret .= '</p>'; $ret .= '</form>'; $ret .= '</div>'; $ret .= '</li>'; } foreach (Stockage::liste_enfants($chemin) as $k) { // TODO : trier par numéro ! $mini = Modules::vue($k, 'miniature'); $ret .= '<li>'; $ret .= '<a href="' . $k->get_url() . '">'; // TODO : escape l'url ! $ret .= '<span class="titre">'; $ret .= $mini->titre; $ret .= '</span>'; $ret .= '</a>'; $ret .= '</li>'; } $ret .= '</ul>'; return new Page($ret, Stockage::get_prop($chemin, "titre")); } } } Modules::enregister_module("ÉquipesIndex", "equipes-index", "vue", "titre description");
return self::vue($chemin, $paramètres["vue"]); } else { return self::vue($chemin); } } } public static function vue($chemin, $vue = "normal") { $singleton = new Chemin("/admin/utilisateurs/"); if ($vue == "normal") { $ret = ''; $ret .= "<h2>Utilisateurs</h2>"; if (Permissions::vérifier_permission($chemin, "nouvelle_page", Authentification::get_utilisateur())) { // afficher le lien "Nouvel utilisateur" } $ret .= '<table class="utilisateurs index"><thead><th>Nom</th><th>Prénom</th><th>Groupe</th><th>Mot de passe</th><th>Peut se connecter</th><th colspan="2"></th></thead><tbody>'; $listegroupes = ""; // Construire la liste des groupes sous forme de menu drop-down. foreach (Authentification::liste_utilisateurs() as $u) { $ret .= '<tr>' . '<form action="' . $chemin->get_url() . '">' . '<td>' . $u . '</td>' . '<td>' . $u . '</td>' . '<td>' . Authentification::get_groupe($u) . '</td>' . '<td>' . Authentification::get_mot_de_passe($u) . '<input type="submit" value="Générer un nouveau mot de passe"/></td>' . '<td>' . (Authentification::get_peut_se_connecter($u) ? "oui" : "non") . '</td>' . '<td><input type="submit" value="appliquer"/></td>' . '<td><input type="submit" value="supprimer"/></td>' . '</form>' . '</tr>'; // Le champ mot de passe doit être un lien / bouton "nouveau // mot de passe automatique" qui redirige vers // $chemin->enfant("$utilisateur") ?action=gen_mdp . } $ret .= '</tbody></table>'; return new Page($ret, "Utilisateurs"); } } } Modules::enregister_module("AdminUtilisateurs", "admin-utilisateurs", "vue", "nouveau_nom nom mot_de_passe groupe peut_se_connecter");
$ret .= formulaire_édition_texte_enrichi(Stockage::get_prop($chemin, "description"), "description"); $ret .= '<p><input type="submit" value="appliquer" /></p>'; $ret .= '</form>'; } else { $ret .= '<h2>' . Stockage::get_prop($chemin, "titre") . '</h2>'; $ret .= '<p class="contact index description affichage">' . Stockage::get_prop($chemin, "description") . '</p>'; } $ret .= '<div class="contact liste-contacts index">'; $ret .= '<ul>'; if (Permissions::vérifier_permission($chemin, "nouvelle_page", Authentification::get_utilisateur())) { $ret .= '<li>'; $ret .= '<div class="titre">'; $ret .= '<form class="contact nouvelle_page" method="post" action="' . $chemin->get_url() . '">'; $ret .= '<p>'; $ret .= '<input type="hidden" name="action" value="nouvelle_page"/>'; $ret .= '<input type="submit" value="Nouveau contact"/>'; $ret .= '</p>'; $ret .= '</form>'; $ret .= '</div>'; $ret .= '</li>'; } foreach (stockage::liste_enfants($chemin) as $k) { $ret .= '<li>' . Modules::vue($k)->contenu . '</li>'; } $ret .= '</ul>'; return new Page($ret, Stockage::get_prop($chemin, "titre")); } } } Modules::enregister_module("ContactIndex", "contact-index", "vue", "titre description");
$ret .= '<li>'; $ret .= '<div class="titre">'; $ret .= '<form class="forum nouvelle_page" method="post" action="' . $chemin->get_url() . '">'; $ret .= '<p>'; $ret .= '<input type="hidden" name="action" value="nouvelle_page"/>'; $ret .= '<input type="submit" value="Nouveau sujet de discussion"/>'; $ret .= '</p>'; $ret .= '</form>'; $ret .= '</div>'; $ret .= '</li>'; } foreach (Stockage::liste_enfants($chemin) as $k) { // TODO : trier par numéro ! $mini = Modules::vue($k, 'miniature'); $ret .= '<li>'; // TODO : mettre une ancre "#message<numéro>" $ret .= '<a href="' . $k->get_url() . '">'; // TODO : escape l'url ! $ret .= '<span class="titre">'; $ret .= $mini->titre; $ret .= '</span>'; $ret .= '</a>'; $ret .= '</li>'; } $ret .= '</ul>'; return new Page($ret, Stockage::get_prop($chemin, "titre")); } } } Modules::enregister_module("ForumIndex", "forum-index", "vue", "titre description");
} 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 vue($chemin, $vue = "normal") { $singleton = new Chemin("/admin/permissions/"); if ($vue == "normal") { $ret = ""; $ret .= "<h2>Règles de sécurité</h2>"; $ret .= "<p>La première règle correspondant à une action de l'utilisateur est appliquée. TODO Bla-bla blabla sur le fonctionnement.</p>"; if (Permissions::vérifier_permission($singleton, "set_prop", Authentification::get_utilisateur())) { $ret .= '<textarea class="admin permissions regles" cols="200" rows="20">' . Stockage::get_prop($singleton, "regles") . "</textarea>"; // TODO : html escape chars etc. } else { $ret .= "<pre><code>" . Stockage::get_prop($singleton, "regles") . "</code></pre>"; // TODO : html escape chars etc. } return new Page($ret, "Permissions"); } } } Modules::enregister_module("AdminPermissions", "admin-permissions", "vue", "regles");
} else { if ($vue == "déconnexion") { $ret = "<h2>Déconnexion réussie</h2>"; $ret .= "<p>Vous êtes déconnecté. Vous pouvez à présent retourner à la "; $ret .= "<a href=\"" . Config::get("url_base") . "\">page d'accueil</a>"; $ret .= ".</p>"; return new Page($ret, "Déconnexion réussie"); } } } } } public static function formulaire_connexion($chemin, $titre = "Connexion", $message = "") { // TODO $ret = "<h2>" . $titre . "</h2>"; $ret .= $message; $ret .= '<form method="post" action="' . $chemin->get_url() . '">'; $ret .= '<p><label for="utilisateurnom">Nom : </label><input type="text" id="utilisateurnom" name="utilisateurnom" value="" /></p>'; $ret .= '<p><label for="utilisateurprenom">Prénom : </label><input type="text" id="utilisateurprenom" name="utilisateurprenom" value="" /></p>'; $ret .= '<p><label for="mdp">Mot de passe : </label><input type="password" id="mdp" name="mdp" value="" /></p>'; $ret .= '<p>'; $ret .= '<input type="hidden" name="action" value="connexion" />'; $ret .= '<input type="submit" value="Connexion" />'; $ret .= '</p>'; $ret .= '</form>'; return $ret; } } Modules::enregister_module("AdminConnexion", "admin-connexion", "vue", "utilisateurnom utilisateurprenom mdp");
$ret .= '</li>'; } if (Permissions::vérifier_permission($chemin, "nouvelle_page", Authentification::get_utilisateur())) { $ret .= '<li>'; $ret .= '<div class="miniature">'; $ret .= '<img alt="nouvelle période" src="' . $chemin->get_url("?vue=image_nouvelle_periode") . '" />'; $ret .= '</div>'; $ret .= '<div class="titre">'; $ret .= '<form class="galerie nouvelle_page" method="post" action="' . $chemin->get_url() . '">'; $ret .= '<p>'; $ret .= '<input type="hidden" name="action" value="nouvelle_page"/>'; $ret .= '<input type="submit" value="Nouvelle période"/>'; $ret .= '</p>'; $ret .= '</form>'; $ret .= '</div>'; $ret .= '</li>'; } $ret .= '</ul>'; $ret .= '<div class="clearboth"></div>'; $ret .= '</div>'; return new Page($ret, Stockage::get_prop($chemin, "titre")); } else { if ($vue == "image_nouvelle_periode") { // Houlàlà ça sent le hack pas beau ! return new Page(Path::combine(Config::get("chemin_base"), "/code/site/nouvelle_image.jpg"), null, "sendfile"); } } } } Modules::enregister_module("GalerieIndex", "galerie-index", "vue", "titre description");
if (Permissions::vérifier_permission($chemin, "supprimer", Authentification::get_utilisateur())) { $ret .= '<form action="' . $chemin->get_url() . '">'; $ret .= '<input type="hidden" name="action" value="supprimer"/>'; $ret .= '<input type="submit" value="Supprimer le sujet"/>'; $ret .= '</form>'; } $ret .= '<ul class="forum sujet">'; foreach (stockage::liste_enfants($chemin) as $k) { $ret .= '<li>' . Modules::vue($k)->contenu . '</li>'; } if (Permissions::vérifier_permission($chemin, "nouvelle_page", Authentification::get_utilisateur())) { $ret .= '<li>'; $ret .= '<form class="forum sujet nouvelle_page" method="post" action="' . $chemin->get_url() . '">'; $ret .= '<p>'; $ret .= '<input type="hidden" name="action" value="nouvelle_page"/>'; $ret .= '<input type="submit" value="Nouveau message"/>'; $ret .= '</p>'; $ret .= '</form>'; $ret .= '</li>'; } $ret .= '</ul>'; return new Page($ret, Stockage::get_prop($chemin, "titre")); } else { if ($vue == "miniature") { return new Page("Sujet.", Stockage::get_prop($chemin, "titre")); } } } } Modules::enregister_module("ForumSujet", "forum-sujet", "vue", "titre");
// TODO : mettre une ancre "#message<numéro>" $ret .= '<a href="' . $k->get_url() . '">'; // TODO : escape l'url ! $ret .= '<span class="titre">'; $ret .= $mini->titre; $ret .= '</span>'; $ret .= '</a>'; $ret .= '<p class="contenu">'; $ret .= $mini->contenu; $ret .= '</p>'; $ret .= '</li>'; } $ret .= '</ul>'; return new Page($ret, Stockage::get_prop($chemin, "titre")); } } } // TODO : maintenir la liste à jour lors des renomages, suppressions, ... 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()); } Modules::enregister_module("NouveautesIndex", "nouveautes-index", "vue", "titre");
$ret .= '<p>'; $ret .= '<input type="hidden" name="action" value="nouvelle_page"/>'; $ret .= '<input type="submit" value="Nouvel article"/>'; $ret .= '</p>'; $ret .= '</form>'; $ret .= '</div>'; $ret .= '</li>'; } foreach (Stockage::liste_enfants($chemin) as $k) { // TODO : trier par numéro ! $mini = Modules::vue($k, 'miniature'); $ret .= '<li>'; // TODO : mettre une ancre "#message<numéro>" $ret .= '<a href="' . $k->get_url() . '">'; // TODO : escape l'url ! $ret .= '<span class="titre">'; $ret .= $mini->titre; $ret .= '</span>'; $ret .= '<p class="contenu">'; $ret .= $mini->contenu; $ret .= '</p>'; $ret .= '</a>'; $ret .= '</li>'; } $ret .= '</ul>'; return new Page($ret, Stockage::get_prop($chemin, "titre")); } } } Modules::enregister_module("ArticlesIndex", "articles-index", "vue", "titre description");
$ret = ''; if (Permissions::vérifier_permission($chemin, "set_prop", Authentification::get_utilisateur())) { $ret .= '<form method="post" action="' . $chemin->get_url() . '">'; $ret .= '<ul>'; $ret .= '<li><label for="Couleur_A">Couleur A : </label><input type="text" id="Couleur_A" name="Couleur_A" value="#000" /></li>'; $ret .= '<li><label for="Couleur_B">Couleur B : </label><input type="text" id="Couleur_B" name="Couleur_B" value="#eee" /></li>'; $ret .= '<li><label for="Couleur_C">Couleur C : </label><input type="text" id="Couleur_C" name="Couleur_C" value="#ff6" /></li>'; $ret .= '<li><label for="Couleur_D">Couleur D : </label><input type="text" id="Couleur_D" name="Couleur_D" value="#fff" /></li>'; $ret .= '</ul>'; $ret .= '<p>'; $ret .= '<input type="submit" value="Appliquer" />'; $ret .= '</p>'; } else { $ret .= '<ul>'; $ret .= '<li>Couleur A : ' . Stockage::get_prop($chemin, "Coucleur_A") . '</li>'; $ret .= '<li>Couleur B : #eee</li>'; $ret .= '<li>Couleur C : #ff6</li>'; $ret .= '<li>Couleur D : #fff</li>'; $ret .= '</ul>'; } return new Page($ret, "Apparence"); } else { if ($vue == "css") { // TODO : où mettre ce gen_css... ? return Site::gen_css(array("Couleur_A" => Stockage::get_prop($chemin, "Coucleur_A"), "Couleur_B" => Stockage::get_prop($chemin, "Coucleur_B"), "Couleur_C" => Stockage::get_prop($chemin, "Coucleur_C"), "Couleur_D" => Stockage::get_prop($chemin, "Coucleur_D"))); } } } } Modules::enregister_module("AdminApparence", "admin-apparence", "vue", "Couleur_A Couleur_B Couleur_C Couleur_D");
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 vue($chemin, $vue = "normal") { if ($vue == "normal") { $ret = ''; if (Permissions::vérifier_permission($chemin, "set_prop", Authentification::get_utilisateur())) { $ret .= '<form class="forum message edition" enctype="multipart/form-data" method="post" action="' . $chemin->get_url() . '">'; $ret .= formulaire_édition_texte_enrichi(Stockage::get_prop($chemin, "message"), "message"); $ret .= '<p><input type="submit" value="appliquer" /></p>'; $ret .= '</form>'; } else { $ret .= affichage_texte_enrichi(Stockage::get_prop($chemin, "message")); } if (Permissions::vérifier_permission($chemin, "supprimer", Authentification::get_utilisateur())) { // peut-être afficher le bouton "Supprimer" ??? ou est-ce trop d'options ? } // Peut-être afficher le bouton "citer" ? ou est-ce trop d'options ? return new Page($ret, Stockage::get_prop($chemin, "titre")); } } } Modules::enregister_module("ForumMessage", "forum-message", "vue", "message");
} public static function vue($chemin, $vue = "normal") { if ($vue == "normal") { $ret = ''; if (Permissions::vérifier_permission($chemin, "set_prop", Authentification::get_utilisateur())) { $ret .= '<form class="équipes joueur edition" enctype="multipart/form-data" method="post" action="' . $chemin->get_url() . '">'; $ret .= '<input type="text" name="prenom" value="' . Stockage::get_prop($chemin, "prenom") . '" />'; $ret .= '<input type="text" name="nom" value="' . Stockage::get_prop($chemin, "nom") . '" />'; $ret .= formulaire_édition_texte_enrichi(Stockage::get_prop($chemin, "description"), "description"); $ret .= '<p><input type="submit" value="appliquer" /></p>'; $ret .= '</form>'; } else { $ret .= Stockage::get_prop($chemin, "prenom"); $ret .= " "; $ret .= Stockage::get_prop($chemin, "nom"); $ret .= affichage_texte_enrichi(Stockage::get_prop($chemin, "description")); } if (Permissions::vérifier_permission($chemin, "supprimer", Authentification::get_utilisateur())) { $ret .= '<form action="' . $chemin->get_url() . '">'; $ret .= '<input type="hidden" name="action" value="supprimer"/>'; $ret .= '<input type="submit" value="Supprimer le joueur ' . htmlspecialchars(Stockage::get_prop($chemin, "prenom") . " " . Stockage::get_prop($chemin, "nom")) . '"/>'; $ret .= '</form>'; } // Peut-être afficher le bouton "citer" ? ou est-ce trop d'options ? return new Page($ret, Stockage::get_prop($chemin, "prenom") . " " . Stockage::get_prop($chemin, "nom")); } } } Modules::enregister_module("ÉquipesJoueur", "equipes-joueur", "vue", "nom prenom description");
$ret .= '</li>'; } $ret .= '</ul>'; $ret .= '<div class="clearboth"></div>'; $ret .= '</div>'; if (Permissions::vérifier_permission($chemin, "supprimer", Authentification::get_utilisateur())) { $ret .= '<form action="' . $chemin->get_url() . '">'; $ret .= '<input type="hidden" name="action" value="supprimer"/>'; $ret .= '<input type="submit" value="Supprimer l\'évènement"/>'; $ret .= '</form>'; } return new Page($ret, Stockage::get_prop($chemin, "titre")); } else { if ($vue == "miniature") { $ret = "Aucune<br/>photo"; $enfants = Stockage::liste_enfants($chemin); if (isset($enfants[0])) { $ret = Modules::vue($enfants[0], 'miniature')->contenu; } return new Page($ret, Stockage::get_prop($chemin, "titre")); } else { if ($vue == "image_nouvelle_photo") { // Houlàlà ça sent le hack pas beau ! return new Page(Path::combine(Config::get("chemin_base"), "/code/site/nouvelle_photo.jpg"), null, "sendfile"); } } } } } Modules::enregister_module("GalerieÉvènement", "galerie-evenement", "vue", "titre description");
$image = imagecreatefromjpeg($chemin_fs); // ... formpng() $largeur = imageSX($image); $hauteur = imageSY($image); if ($largeur < $largeur_max && $hauteur < $hauteur_max) { $largeur_miniature = $largeur; $hauteur_miniature = $hauteur; } else { if ($largeur / $hauteur < $largeur_max / $hauteur_max) { // limité par la hauteur. $largeur_miniature = $largeur_max; $hauteur_miniature = $hauteur * $largeur_miniature / $largeur; } else { // limité par la largeur $hauteur_miniature = $hauteur_max; $largeur_miniature = $largeur * $hauteur_miniature / $hauteur; } } $miniature = ImageCreateTrueColor($largeur_miniature, $hauteur_miniature); // miniatures de tailles différentes var_dump($largeur_miniature, $hauteur_miniature, $largeur, $hauteur); imagecopyresampled($miniature, $image, 0, 0, 0, 0, $largeur_miniature, $hauteur_miniature, $largeur, $hauteur); imagedestroy($image); // On libère la mémoire le plus tôt possible. imagejpeg($miniature, $chemin_fs_dest); imagedestroy($miniature); return $chemin_fs_dest; } } Modules::enregister_module("GaleriePhoto", "galerie-photo", "vue", "description", "fichier_image");
return new Page($chemin->parent(), '', "redirect"); } } } public static function vue($chemin, $vue = "normal") { if ($vue == "normal") { $ret = ''; if (Permissions::vérifier_permission($chemin, "set_prop", Authentification::get_utilisateur())) { $ret .= '<form class="liens lien edition" enctype="multipart/form-data" method="post" action="' . $chemin->get_url() . '">'; $ret .= '<input type="text" name="texte" value="' . Stockage::get_prop($chemin, "texte") . '" />'; $ret .= '<input type="text" name="cible" value="' . Stockage::get_prop($chemin, "cible") . '" />'; $ret .= formulaire_édition_texte_enrichi(Stockage::get_prop($chemin, "description"), "description"); $ret .= '<p><input type="submit" value="appliquer" /></p>'; $ret .= '</form>'; } else { $ret .= '<a href="' . htmlspecialchars(Stockage::get_prop($chemin, "cible")) . '">' . Stockage::get_prop($chemin, "texte") . '</a>'; $ret .= affichage_texte_enrichi(Stockage::get_prop($chemin, "description")); } if (Permissions::vérifier_permission($chemin, "supprimer", Authentification::get_utilisateur())) { $ret .= '<form action="' . $chemin->get_url() . '">'; $ret .= '<input type="hidden" name="action" value="supprimer"/>'; $ret .= '<input type="submit" value="Supprimer le lien ' . htmlspecialchars(Stockage::get_prop($chemin, "cible")) . '"/>'; $ret .= '</form>'; } return new Page($ret, Stockage::get_prop($chemin, "titre")); } } } Modules::enregister_module("LiensLien", "liens-lien", "vue", "texte cible description");
} } public static function vue($chemin, $vue = "normal") { if ($vue == "normal") { $ret = ''; if (Permissions::vérifier_permission($chemin, "set_prop", Authentification::get_utilisateur())) { $ret .= '<form class="contacts contact edition" enctype="multipart/form-data" method="post" action="' . $chemin->get_url() . '">'; $ret .= '<input type="text" name="prenom" value="' . Stockage::get_prop($chemin, "prenom") . '" />'; $ret .= '<input type="text" name="nom" value="' . Stockage::get_prop($chemin, "nom") . '" />'; $ret .= formulaire_édition_texte_enrichi(Stockage::get_prop($chemin, "description"), "description"); $ret .= '<p><input type="submit" value="appliquer" /></p>'; $ret .= '</form>'; } else { $ret .= Stockage::get_prop($chemin, "prenom"); $ret .= " "; $ret .= Stockage::get_prop($chemin, "nom"); $ret .= affichage_texte_enrichi(Stockage::get_prop($chemin, "description")); } if (Permissions::vérifier_permission($chemin, "supprimer", Authentification::get_utilisateur())) { $ret .= '<form action="' . $chemin->get_url() . '">'; $ret .= '<input type="hidden" name="action" value="supprimer"/>'; $ret .= '<input type="submit" value="Supprimer le contact ' . htmlspecialchars(Stockage::get_prop($chemin, "prenom") . " " . Stockage::get_prop($chemin, "nom")) . '"/>'; $ret .= '</form>'; } return new Page($ret, Stockage::get_prop($chemin, "titre")); } } } Modules::enregister_module("ContactContact", "contact-contact", "vue", "nom prenom description");
return self::vue($chemin); } } } } public static function vue($chemin, $vue = "normal") { if ($vue == "normal") { $ret = ''; if (Permissions::vérifier_permission($chemin, "set_prop", Authentification::get_utilisateur())) { $ret .= '<form class="articles article edition" enctype="multipart/form-data" method="post" action="' . $chemin->get_url() . '">'; $ret .= '<h2><input type="text" name="titre" value="' . Stockage::get_prop($chemin, "titre") . '" /></h2>'; $ret .= formulaire_édition_texte_enrichi(Stockage::get_prop($chemin, "contenu"), "contenu"); $ret .= '<p><input type="submit" value="appliquer" /></p>'; $ret .= '</form>'; } else { $ret .= '<h2>' . Stockage::get_prop($chemin, "titre") . '</h2>'; $ret .= affichage_texte_enrichi(Stockage::get_prop($chemin, "contenu")); } if (Permissions::vérifier_permission($chemin, "supprimer", Authentification::get_utilisateur())) { // TODO : afficher le bouton "Supprimer". } return new Page($ret, Stockage::get_prop($chemin, "titre")); } elseif ($vue == "miniature") { $ret = miniature_texte_enrichi(Stockage::get_prop($chemin, "contenu")); return new Page($ret, Stockage::get_prop($chemin, "titre")); } } } Modules::enregister_module("ArticlesArticle", "articles-article", "vue", "titre contenu");
$ret .= formulaire_édition_texte_enrichi(Stockage::get_prop($chemin, "description"), "description"); $ret .= '<p><input type="submit" value="appliquer" /></p>'; $ret .= '</form>'; } else { $ret .= '<h2>' . Stockage::get_prop($chemin, "titre") . '</h2>'; $ret .= '<p class="liens index description affichage">' . Stockage::get_prop($chemin, "description") . '</p>'; } $ret .= '<div class="liens liste-liens index">'; $ret .= '<ul>'; if (Permissions::vérifier_permission($chemin, "nouvelle_page", Authentification::get_utilisateur())) { $ret .= '<li>'; $ret .= '<div class="titre">'; $ret .= '<form class="liens nouvelle_page" method="post" action="' . $chemin->get_url() . '">'; $ret .= '<p>'; $ret .= '<input type="hidden" name="action" value="nouvelle_page"/>'; $ret .= '<input type="submit" value="Nouveau lien"/>'; $ret .= '</p>'; $ret .= '</form>'; $ret .= '</div>'; $ret .= '</li>'; } foreach (stockage::liste_enfants($chemin) as $k) { $ret .= '<li>' . Modules::vue($k)->contenu . '</li>'; } $ret .= '</ul>'; return new Page($ret, Stockage::get_prop($chemin, "titre")); } } } Modules::enregister_module("LiensIndex", "liens-index", "vue", "titre description");