From aada4c8f396179d453f102bc2262c25a1cb68bf7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Georges=20Dup=C3=A9ron?= Date: Mon, 2 Aug 2010 08:19:17 +0200 Subject: [PATCH] =?UTF-8?q?D=C3=A9tection=20du=20type=20d'une=20page=20et?= =?UTF-8?q?=20gestion=20des=20modules=20(param=C3=A8tres,=20...).?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- __cms__/cms.php | 6 +++--- __cms__/cms/include.php | 6 ++++++ __cms__/cms/util.php | 12 +++++++++++ __cms__/include.php | 1 + __cms__/modele/__prop__type | 1 + __cms__/modules/forum/forum-index.php | 2 +- __cms__/modules/forum/forum-message.php | 2 +- __cms__/modules/forum/forum-sujet.php | 2 +- __cms__/modules/galerie/galerie-evenement.php | 2 +- __cms__/modules/galerie/galerie-index.php | 4 ++-- __cms__/modules/galerie/galerie-periode.php | 2 +- __cms__/modules/galerie/galerie-photo.php | 2 +- __cms__/modules/modules.php | 20 ++++++++++++++----- __cms__/securite/permissions.php | 2 +- 14 files changed, 47 insertions(+), 17 deletions(-) create mode 100644 __cms__/cms/include.php create mode 100644 __cms__/cms/util.php create mode 100644 __cms__/modele/__prop__type diff --git a/__cms__/cms.php b/__cms__/cms.php index 9249980..c9b4732 100644 --- a/__cms__/cms.php +++ b/__cms__/cms.php @@ -15,9 +15,9 @@ class CMS { // TODO : appeller Modules::action($chemin, $action, $paramètres); $chemin = new Chemin($chemin_str); - $noms_params = Modules::get_liste_paramètres($chemin); - $noms_params[] = "action"; - $paramètres = array(); + $noms_params = Modules::get_module($chemin); + $noms_params["get_post"][] = "action"; + $paramètres = array("action" => "vue"); // récupérer $noms_params dans $_GET, $_POST et $_FILE ==> $paramètres $action = $paramètres["action"]; Modules::action($chemin, $action, $paramètres); diff --git a/__cms__/cms/include.php b/__cms__/cms/include.php new file mode 100644 index 0000000..fd8da2a --- /dev/null +++ b/__cms__/cms/include.php @@ -0,0 +1,6 @@ + \ No newline at end of file diff --git a/__cms__/cms/util.php b/__cms__/cms/util.php new file mode 100644 index 0000000..99c423b --- /dev/null +++ b/__cms__/cms/util.php @@ -0,0 +1,12 @@ + \ No newline at end of file diff --git a/__cms__/include.php b/__cms__/include.php index a3c60d5..739d2fc 100644 --- a/__cms__/include.php +++ b/__cms__/include.php @@ -1,5 +1,6 @@ \ No newline at end of file diff --git a/__cms__/modules/forum/forum-message.php b/__cms__/modules/forum/forum-message.php index e7e7428..f05f4c5 100644 --- a/__cms__/modules/forum/forum-message.php +++ b/__cms__/modules/forum/forum-message.php @@ -36,6 +36,6 @@ function vue($chemin, $vue = "normal") { } } -Modules::enregister_module("ForumMessage", "forum-message"); +Modules::enregister_module("ForumMessage", "forum-message", "vue", "message"); ?> \ No newline at end of file diff --git a/__cms__/modules/forum/forum-sujet.php b/__cms__/modules/forum/forum-sujet.php index 575d98d..49c1d31 100644 --- a/__cms__/modules/forum/forum-sujet.php +++ b/__cms__/modules/forum/forum-sujet.php @@ -65,6 +65,6 @@ class ForumSujet { } } -Modules::enregister_module("ForumSujet", "forum-sujet"); +Modules::enregister_module("ForumSujet", "forum-sujet", "vue", "titre"); ?> \ No newline at end of file diff --git a/__cms__/modules/galerie/galerie-evenement.php b/__cms__/modules/galerie/galerie-evenement.php index dcabae1..1017724 100644 --- a/__cms__/modules/galerie/galerie-evenement.php +++ b/__cms__/modules/galerie/galerie-evenement.php @@ -65,6 +65,6 @@ class GalerieÉvènement { } } -Modules::enregister_module("GalerieÉvènement", "galerie-evenement"); +Modules::enregister_module("GalerieÉvènement", "galerie-evenement", "vue", "titre description"); ?> \ No newline at end of file diff --git a/__cms__/modules/galerie/galerie-index.php b/__cms__/modules/galerie/galerie-index.php index 8bf4682..9a4960d 100644 --- a/__cms__/modules/galerie/galerie-index.php +++ b/__cms__/modules/galerie/galerie-index.php @@ -32,7 +32,7 @@ class GalerieIndex { public function vue($chemin, $vue = "normal") { if ($vue == "normal") { $ret = ''; - if (vérifier_permission($chemin, "set_prop", get_utilisateur())) { + if (Permissions::vérifier_permission($chemin, "set_prop", get_utilisateur())) { $ret .= ''; $ret .= formulaire_édition_texte_enrichi(get_prop($chemin, "description"), "message"); } else { @@ -65,6 +65,6 @@ class GalerieIndex { } } -Modules::enregister_module("GalerieIndex", "galerie-index"); +Modules::enregister_module("GalerieIndex", "galerie-index", "vue", "titre description"); ?> \ No newline at end of file diff --git a/__cms__/modules/galerie/galerie-periode.php b/__cms__/modules/galerie/galerie-periode.php index 0f027ce..fea277e 100644 --- a/__cms__/modules/galerie/galerie-periode.php +++ b/__cms__/modules/galerie/galerie-periode.php @@ -65,6 +65,6 @@ class GaleriePériode { } } -Modules::enregister_module("GaleriePériode", "galerie-periode"); +Modules::enregister_module("GaleriePériode", "galerie-periode", "vue", "titre description"); ?> \ No newline at end of file diff --git a/__cms__/modules/galerie/galerie-photo.php b/__cms__/modules/galerie/galerie-photo.php index fa4c458..243af07 100644 --- a/__cms__/modules/galerie/galerie-photo.php +++ b/__cms__/modules/galerie/galerie-photo.php @@ -56,6 +56,6 @@ class GaleriePhoto { } } -Modules::enregister_module("GaleriePhoto", "galerie-photo"); +Modules::enregister_module("GaleriePhoto", "galerie-photo", "vue", "description", "fichier_image"); ?> \ No newline at end of file diff --git a/__cms__/modules/modules.php b/__cms__/modules/modules.php index b49cd7f..d389eea 100644 --- a/__cms__/modules/modules.php +++ b/__cms__/modules/modules.php @@ -3,8 +3,13 @@ class Modules { static $liste_modules = array(); - public static function enregister_module($classe, $type) { - self::$liste_modules[$type] = $classe; + public static function enregister_module($classe, $type, $get_post = array(), $post = array(), $file = array()) { + self::$liste_modules[$type] = array( + "classe" => $classe, + "get_post" => qw($get_post), + "post" => qw($post), + "file" => qw($file) + ); } public static function get_module($chemin) { @@ -13,12 +18,17 @@ class Modules { return self::$liste_modules[$type]; } - public static function get_liste_paramètres($chemin) { + public static function action($chemin, $action, $paramètres) { $module = self::get_module($chemin); if ($module === false) return false; - // TODO - return call_user_func(array($module, "get_liste_paramètres"));; + return call_user_func(array($module["classe"], "action"), $chemin, $action, $paramètres); } + + public static function vue($chemin, $vue = "normal") { + $module = self::get_module($chemin); + if ($module === false) return false; + return call_user_func(array($module["classe"], "vue"), $chemin, $vue); + } } ?> \ No newline at end of file diff --git a/__cms__/securite/permissions.php b/__cms__/securite/permissions.php index ff61cb3..23ea253 100644 --- a/__cms__/securite/permissions.php +++ b/__cms__/securite/permissions.php @@ -37,7 +37,7 @@ class Permissions { } public static function chemin_correspond($chemin, $motif) { - $chemin->correspond($motif); + return $chemin->correspond($motif); } public static function action_correspond($action, $motif) {