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:
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