www

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

commit a789019f8485ed2c017bd3b7e43ae6de002d5afa
parent 14e6f9af3e7133a3693be2452da3c4f1a7ada5d1
Author: Georges Dupéron <jahvascriptmaniac+github@free.fr>
Date:   Wed,  4 Aug 2010 09:29:56 +0200

Amélioration du squelette et de la page d'accueil.

Diffstat:
M__cms__/code/chemin/chemin.php | 7++++---
M__cms__/code/cms/util.php | 4++--
M__cms__/code/modules/admin/connexion.php | 6+++---
M__cms__/code/modules/admin/permissions.php | 2+-
M__cms__/code/modules/admin/utilisateurs.php | 2+-
M__cms__/code/modules/forum/forum-index.php | 2+-
M__cms__/code/modules/forum/forum-sujet.php | 2+-
M__cms__/code/modules/galerie/galerie-evenement.php | 2+-
M__cms__/code/modules/galerie/galerie-index.php | 2+-
M__cms__/code/modules/galerie/galerie-periode.php | 2+-
M__cms__/code/modules/galerie/galerie-photo.php | 2+-
M__cms__/code/modules/modules.php | 2+-
M__cms__/code/modules/site/site-index.php | 6++----
M__cms__/code/securite/erreur.php | 4++--
M__cms__/code/site/css.php | 19+++++++++++++++++--
M__cms__/code/site/squelette.php | 24++++++++++++++++++------
R__cms__/donnees/__prop__titre -> __cms__/donnees/__prop__nom_site | 0
17 files changed, 57 insertions(+), 31 deletions(-)

diff --git a/__cms__/code/chemin/chemin.php b/__cms__/code/chemin/chemin.php @@ -36,7 +36,7 @@ class Chemin { if ($motif[$i] == CHEMIN_JOKER_SEGMENT) { continue; } - if ($motif[$i] == $this->segments[$i]) { + if ($i < count($this->segments) && $motif[$i] == $this->segments[$i]) { continue; } return false; @@ -103,7 +103,7 @@ class Chemin { $chemin = preg_replace("/^\\/*/", '', $chemin); $chemin = preg_replace("/\\/*$/", '', $chemin); - $segments = explode('/', $chemin); + $segments = qw($chemin, '/'); if ($est_un_motif) { $segments = array_map(array("self", "nettoyer_segment_motif"), $segments); } else { @@ -115,12 +115,13 @@ class Chemin { public static function nettoyer_segment($segment, $est_un_motif = false) { // SÉCURITÉ : $segment nettoyé : - // * /!\ Peut être vide /!\ + // * /!\ Ne peut pas être vide /!\ // * Ne doit pas contenir '\0' (octet NULL). // * Ne doit pas contenir '/' non plus, remplacer par '-'. // * Ne doit pas contenir '*' non plus, remplacer par '-'. // * Ne contient pas "__prop__", remplacer par "___prop___". + if ($segment == "") $segment = "_vide_"; $segment = preg_replace("/\\0/", '', $segment); // TODO : vérifier si c'est bien ça ! (supprime _toutes_ les occurences ???) $segment = preg_replace("/\\//", '-', $segment); // TODO : vérifier si c'est bien ça ! (supprime _toutes_ les occurences ???) if (!$est_un_motif) $segment = preg_replace("/\\*/", '-', $segment); // TODO : vérifier ... diff --git a/__cms__/code/cms/util.php b/__cms__/code/cms/util.php @@ -1,9 +1,9 @@ <?php -function qw($arg) { +function qw($arg, $sep = " ") { if (is_array($arg)) return $arg; $ret = array(); - foreach(explode(" ", $arg) as $v) { + foreach(explode($sep, $arg) as $v) { if ($v !== "") array_push($ret, $v); } return $ret; diff --git a/__cms__/code/modules/admin/connexion.php b/__cms__/code/modules/admin/connexion.php @@ -28,7 +28,7 @@ class AdminConnexion { if ($vue == "normal") { return formulaire_connexion(); } else if ($vue == "connexion réussie") { - $ret = "<h1>Connexion réussie</h1>"; + $ret = "<h2>Connexion réussie</h2>"; $ret .= "<p>Pour vous déconnecter, utilisez le lien «déconnexion» en haut à droite.</p>"; $ret .= "<p><a href=\"" . Config::get("url_base") . "\">Retour à la page d'accueil</a>.</p>"; return $ret; @@ -38,7 +38,7 @@ class AdminConnexion { $msg .= ".</strong></p>"; return formulaire_connexion($msg); }else if ($vue == "déconnexion") { - $ret = "<h1>Déconnexion réussie</h1>"; + $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>"; @@ -48,7 +48,7 @@ class AdminConnexion { public static function formulaire_connexion($message = "") { // TODO - return "<h1>Connexion</h1>" . $message . "<input type=\"text\" name=\"nom\" value=\"Nom\" />..."; + return "<h2>Connexion</h2>" . $message . "<input type=\"text\" name=\"nom\" value=\"Nom\" />..."; } } diff --git a/__cms__/code/modules/admin/permissions.php b/__cms__/code/modules/admin/permissions.php @@ -22,7 +22,7 @@ class AdminPermissions { $singleton = new Chemin("/admin/permissions/"); if ($vue == "normal") { $ret = ""; - $ret .= "<h1>Règles de sécurité</h1>"; + $ret .= "<h2>Règles de sécurité</h2>"; $ret .= "<p>La première règle correspondant à une action de l'utilisateur est appliquée. Bla-bla blabla sur le fonctionnement.</p>"; if (Permissions::vérifier_permission($singleton, "set_prop", Authentification::get_utilisateur())) { $ret .= "<textarea ...>" . Stockage::get_prop($singleton, "regles") . "</textarea>"; // TODO : html escape chars etc. diff --git a/__cms__/code/modules/admin/utilisateurs.php b/__cms__/code/modules/admin/utilisateurs.php @@ -59,7 +59,7 @@ class AdminUtilisateurs { $singleton = new Chemin("/admin/utilisateurs/"); if ($vue == "normal") { $ret = ''; - $ret .= "<h1>Utilisateurs</h1>"; + $ret .= "<h2>Utilisateurs</h2>"; if (Permissions::vérifier_permission($chemin, "nouvelle_page", Authentification::get_utilisateur())) { // afficher le lien "Nouvel utilisateur" } diff --git a/__cms__/code/modules/forum/forum-index.php b/__cms__/code/modules/forum/forum-index.php @@ -22,7 +22,7 @@ class ForumIndex { public static function vue($chemin, $vue = "normal") { if ($vue == "normal") { $ret = ''; - $ret .= "<h1>Forum</h1>"; + $ret .= "<h2>Forum</h2>"; if (Permissions::vérifier_permission($chemin, "nouvelle_page", Authentification::get_utilisateur())) { // afficher le lien "Nouveau sujet" } diff --git a/__cms__/code/modules/forum/forum-sujet.php b/__cms__/code/modules/forum/forum-sujet.php @@ -39,7 +39,7 @@ class ForumSujet { $ret .= '<input type="submit" value="renomer" />'; $ret .= '</form>'; } else { - $ret .= '<h1 class="forum sujet titre affichage">' . Stockage::get_prop($chemin, "titre") . '</h1>'; + $ret .= '<h2 class="forum sujet titre affichage">' . Stockage::get_prop($chemin, "titre") . '</h2>'; } if (Permissions::vérifier_permission($chemin, "supprimer", Authentification::get_utilisateur())) { $ret .= '<form action="' . $chemin->get_url() . '">'; diff --git a/__cms__/code/modules/galerie/galerie-evenement.php b/__cms__/code/modules/galerie/galerie-evenement.php @@ -36,7 +36,7 @@ class GalerieÉvènement { $ret .= '<input type="text" name="titre" value="' . Stockage::get_prop($chemin, "titre") . '" />'; $ret .= formulaire_édition_texte_enrichi(Stockage::get_prop($chemin, "description"), "message"); } else { - $ret .= '<h1>' . Stockage::get_prop($chemin, "titre") . '</h1>'; + $ret .= '<h2>' . Stockage::get_prop($chemin, "titre") . '</h2>'; $ret .= '<p class="galerie evenement description affichage">' . Stockage::get_prop($chemin, "description") . '</p>'; } if (Permissions::vérifier_permission($chemin, "nouvelle_page", Authentification::get_utilisateur())) { diff --git a/__cms__/code/modules/galerie/galerie-index.php b/__cms__/code/modules/galerie/galerie-index.php @@ -36,7 +36,7 @@ class GalerieIndex { $ret .= '<input type="text" name="titre" value="' . Stockage::get_prop($chemin, "titre") . '" />'; $ret .= formulaire_édition_texte_enrichi(Stockage::get_prop($chemin, "description"), "message"); } else { - $ret .= '<h1>' . Stockage::get_prop($chemin, "titre") . '</h1>'; + $ret .= '<h2>' . Stockage::get_prop($chemin, "titre") . '</h2>'; $ret .= '<p class="galerie index description affichage">' . Stockage::get_prop($chemin, "description") . '</p>'; } if (Permissions::vérifier_permission($chemin, "nouvelle_page", Authentification::get_utilisateur())) { diff --git a/__cms__/code/modules/galerie/galerie-periode.php b/__cms__/code/modules/galerie/galerie-periode.php @@ -36,7 +36,7 @@ class GaleriePériode { $ret .= '<input type="text" name="titre" value="' . Stockage::get_prop($chemin, "titre") . '" />'; $ret .= formulaire_édition_texte_enrichi(Stockage::get_prop($chemin, "description"), "message"); } else { - $ret .= '<h1>' . Stockage::get_prop($chemin, "titre") . '</h1>'; + $ret .= '<h2>' . Stockage::get_prop($chemin, "titre") . '</h2>'; $ret .= '<p class="galerie periode description affichage">' . Stockage::get_prop($chemin, "description") . '</p>'; } if (Permissions::vérifier_permission($chemin, "nouvelle_page", Authentification::get_utilisateur())) { diff --git a/__cms__/code/modules/galerie/galerie-photo.php b/__cms__/code/modules/galerie/galerie-photo.php @@ -41,7 +41,7 @@ class GaleriePhoto { $ret .= '<input type="filename" .../>'; $ret .= formulaire_édition_texte_enrichi(Stockage::get_prop($chemin, "description"), "message"); } else { - $ret .= '<h1>' . Stockage::get_prop($chemin, "titre") . '</h1>'; + $ret .= '<h2>' . Stockage::get_prop($chemin, "titre") . '</h2>'; $ret .= '<img src="' . $chemin->get_url("?vue=image") . '"/>'; $ret .= affichage_texte_enrichi(Stockage::get_prop($chemin, "message")); } diff --git a/__cms__/code/modules/modules.php b/__cms__/code/modules/modules.php @@ -16,7 +16,7 @@ class Modules { public static function get_module($chemin) { $type = Stockage::get_prop($chemin, "type"); if ($type === false || !isset(self::$liste_modules[$type])) { - Erreur::fatale("Type inconnu (" . $type . ") pour la page " . $chemin->get() . "."); + Erreur::fatale("Type inconnu (" . var_export($type, true) . ") pour la page " . $chemin->get() . "."); // return false; } return self::$liste_modules[$type]; diff --git a/__cms__/code/modules/site/site-index.php b/__cms__/code/modules/site/site-index.php @@ -16,10 +16,8 @@ class SiteIndex { public static function vue($chemin, $vue = "normal") { if ($vue == "normal") { $ret = ''; - $ret .= "<h1>" . Stockage::get_prop($chemin, "nom_site") . "</h1>"; - $ret .= "<ul>"; - $ret .= "<li><a href=\"" . $chemin->enfant("galerie")->get_url() . "\">Galerie</a>"; - $ret .= "</ul>"; + $ret .= "<h2>" . Stockage::get_prop($chemin, "nom_site") . "</h2>"; + $ret .= "<p>Bienvenue sur le site d'exemple.</p>"; return new Page($ret, Stockage::get_prop($chemin, "nom_site")); } else if ($vue == "css") { return new Page(get_css(), "text/css", "raw"); diff --git a/__cms__/code/securite/erreur.php b/__cms__/code/securite/erreur.php @@ -9,7 +9,7 @@ class Erreur { <title>Erreur</title> </head> <body> - <h1>Erreur</h1> + <h2>Erreur</h2> <p>Désolé, une erreur est survenue. Contactez le créateur du site SVP : <a href="mailto:' . htmlspecialchars(Config::get('courriel_admin')) . '?subject=Erreur%20dans%20le%20programme%202010-moteur-site-simple&body=' @@ -19,7 +19,7 @@ class Erreur { <p><strong>' . htmlspecialchars($message) . '</strong></p> </body> </html>'; - + //echo "\n"; debug_print_backtrace(); exit; } } diff --git a/__cms__/code/site/css.php b/__cms__/code/site/css.php @@ -1,12 +1,27 @@ <?php function get_css() { - return ".galerie img { + return ".site.connexion { + position: absolute; + top: 0; + right: 0; + padding: 0.1em 0.2em; +} + +.site.navigation { + float: left; + padding-right: 1em; + margin-right: 1em; + border-top: thick solid gray; + border-right: thick solid gray; +} + +.galerie img { border: thin solid black; padding: 0.1em; } -.galerie { +.galerie li { list-style-type: none; } diff --git a/__cms__/code/site/squelette.php b/__cms__/code/site/squelette.php @@ -10,8 +10,8 @@ class Squelette { public static function en_tete($page) { // TODO : chemin css relatif. - $chemin_css = new Chemin('/'); - $chemin_css = $chemin_css->get_url('?vue=css'); + $racine = new Chemin('/'); + $chemin_css = $racine->get_url('?vue=css'); return '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr"> @@ -21,16 +21,29 @@ class Squelette { <meta http-equiv="Content-Language" content="fr" /> <link href="' . $chemin_css . '" rel="stylesheet" type="text/css" /> </head> - <body>'; + <body> + <h1>' . Stockage::get_prop($racine, "nom_site") . '</h1> + <div class="site connexion"> + <a href="' . $racine->enfant("admin")->enfant("connexion")->get_url() . '">connexion</a> + </div> + <div class="site navigation"> + <ul> + <li><a href="' . $racine->enfant("galerie")->get_url() . '">Galerie</a></li> + </ul> + </div> + <div class="site contenu"> +'; // <meta name="keywords" lang="fr" content="motcle1,mocle2" /> // <meta name="description" content="Description de ma page web." /> } public static function pied() { return -' </body> +' + </div> + </body> </html>'; } } -?> -\ No newline at end of file +?> diff --git a/__cms__/donnees/__prop__titre b/__cms__/donnees/__prop__nom_site