diff --git a/__cms__/code/cms/cms.php b/__cms__/code/cms/cms.php index 2a57c6f..105c5e6 100644 --- 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 index 164b328..9d1ef46 100644 --- 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 index 1de195b..c7f32f2 100644 --- 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 .= ""; - $ret .= ""; - $ret .= ""; - // $ret .= ... + $ret = ''; + if (Permissions::vérifier_permission($chemin, "set_prop", Authentification::get_utilisateur())) { + $ret .= '