www

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

commit 1c740e0379f0da125abf43240479c7f9a231d3d5
parent 783cab6b16c27f05e24330bd98e2c897a2ab1acf
Author: Georges Dupéron <jahvascriptmaniac+github@free.fr>
Date:   Thu,  5 Aug 2010 08:05:22 +0200

Apparence (brouillon, marche à moitié).

Diffstat:
M__cms__/code/cms/cms.php | 6+++++-
M__cms__/code/cms/page.php | 4++++
M__cms__/code/modules/admin/admin-apparence.php | 44+++++++++++++++++++++++++++++++-------------
M__cms__/code/securite/erreur.php | 2+-
M__cms__/code/site/css.php | 2+-
A__cms__/donnees/admin/apparence/__prop__Couleur_A | 2++
A__cms__/donnees/admin/apparence/__prop__Couleur_B | 2++
A__cms__/donnees/admin/apparence/__prop__Couleur_C | 2++
A__cms__/donnees/admin/apparence/__prop__Couleur_D | 2++
9 files changed, 50 insertions(+), 16 deletions(-)

diff --git a/__cms__/code/cms/cms.php b/__cms__/code/cms/cms.php @@ -31,7 +31,11 @@ class CMS { $action = $paramètres["action"]; $ret = Modules::action($chemin, $action, $paramètres); - $ret->envoyer(); + if (!Page::is_page($ret)) { + Erreur::fatale("Le module de " . $chemin->get() . " n'a pas renvoyé une page mais à la place : " . var_export($ret, true)); + } else { + $ret->envoyer(); + } } // Not even beneath my contempt... diff --git a/__cms__/code/cms/page.php b/__cms__/code/cms/page.php @@ -71,6 +71,10 @@ class Page { } // TODO : else erreur } + + public static function is_page($obj) { + return get_class($obj) === __CLASS__; + } } ?> \ No newline at end of file diff --git a/__cms__/code/modules/admin/admin-apparence.php b/__cms__/code/modules/admin/admin-apparence.php @@ -6,20 +6,22 @@ class AdminApparence { return new Page($chemin, '', "redirect"); } else { if (isset($paramètres["Couleur_A"])) { - // Stocker couleur A + Stockage::set_prop($chemin, "Couleur_A", $paramètres["Couleur_A"]); } if (isset($paramètres["Couleur_B"])) { - // Stocker couleur B + Stockage::set_prop($chemin, "Couleur_B", $paramètres["Couleur_B"]); } if (isset($paramètres["Couleur_C"])) { - // Stocker couleur C + Stockage::set_prop($chemin, "Couleur_C", $paramètres["Couleur_C"]); + } + if (isset($paramètres["Couleur_D"])) { + Stockage::set_prop($chemin, "Couleur_D", $paramètres["Couleur_D"]); } - // ... if (isset($paramètres["vue"])) { - self::vue($chemin, $paramètres["vue"]); + return self::vue($chemin, $paramètres["vue"]); } else { - self::vue($chemin); + return self::vue($chemin); } } } @@ -28,23 +30,39 @@ class AdminApparence { if ($vue == "normal") { // Si l'utilisateur a l'autorisation de modifier les propriétés, // on affiche la version modifiable plutôt que la "vue". - $ret = ""; - $ret .= "<input ... Couleur A />"; - $ret .= "<input ... Couleur B />"; - $ret .= "<input ... Couleur C />"; - // $ret .= ... + $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_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"); +Modules::enregister_module("AdminApparence", "admin-apparence", "vue", "Couleur_A Couleur_B Couleur_C Couleur_D"); ?> \ No newline at end of file diff --git a/__cms__/code/securite/erreur.php b/__cms__/code/securite/erreur.php @@ -42,7 +42,7 @@ class Erreur { } public static function is_erreur($obj) { - return get_class($obj) === "Erreur"; + return get_class($obj) === __CLASS__; } } diff --git a/__cms__/code/site/css.php b/__cms__/code/site/css.php @@ -22,7 +22,7 @@ function get_css() { } .site.navigation li:hover { - background-color: yellow; /* Flashy <3 */ + background-color: #ff0; /* Flashy <3 */ } .site.navigation li { diff --git a/__cms__/donnees/admin/apparence/__prop__Couleur_A b/__cms__/donnees/admin/apparence/__prop__Couleur_A @@ -0,0 +1 @@ +#000 +\ No newline at end of file diff --git a/__cms__/donnees/admin/apparence/__prop__Couleur_B b/__cms__/donnees/admin/apparence/__prop__Couleur_B @@ -0,0 +1 @@ +#eee +\ No newline at end of file diff --git a/__cms__/donnees/admin/apparence/__prop__Couleur_C b/__cms__/donnees/admin/apparence/__prop__Couleur_C @@ -0,0 +1 @@ +#ff6 +\ No newline at end of file diff --git a/__cms__/donnees/admin/apparence/__prop__Couleur_D b/__cms__/donnees/admin/apparence/__prop__Couleur_D @@ -0,0 +1 @@ +#fff +\ No newline at end of file