diff --git a/__cms__/code/cms/cms.php b/__cms__/code/cms/cms.php index 2224b7c..e5132b4 100644 --- a/__cms__/code/cms/cms.php +++ b/__cms__/code/cms/cms.php @@ -13,19 +13,27 @@ class CMS { $module = Modules::get_module($chemin); $paramètres = array("action" => "vue"); - foreach ($module["get_post"] as $param) { - if (isset($_GET[$param])) $paramètres[$param] = $_GET[$param]; - if (isset($_POST[$param])) $paramètres[$param] = $_POST[$param]; - } - foreach ($module["post"] as $param) { - if (isset($_POST[$param])) $paramètres[$param] = $_POST[$param]; - } - foreach ($module["file"] as $param) { - if (isset($_FILE[$param])) $paramètres[$param] = $_FILE[$param]; - } - + + foreach ($module["get_post"] as $param) { + if (isset($_GET[$param])) $paramètres[$param] = $_GET[$param]; + if (isset($_POST[$param])) $paramètres[$param] = $_POST[$param]; + } + foreach ($module["post"] as $param) { + if (isset($_POST[$param])) $paramètres[$param] = $_POST[$param]; + } + foreach ($module["file"] as $param) { + if (isset($_FILE[$param])) $paramètres[$param] = $_FILE[$param]; + } + $action = $paramètres["action"]; - echo Modules::action($chemin, $action, $paramètres); + $ret = Modules::action($chemin, $action, $paramètres); + + // TODO + // if ($ret est une page) { + echo Squelette::enrober($ret); + // } else if ($ret est un redirect) { + // } else if ($ret est un raw) { + // } } } diff --git a/__cms__/code/modules/galerie/galerie-evenement.php b/__cms__/code/modules/galerie/galerie-evenement.php index f59ff9c..576d526 100644 --- a/__cms__/code/modules/galerie/galerie-evenement.php +++ b/__cms__/code/modules/galerie/galerie-evenement.php @@ -30,8 +30,8 @@ class GalerieÉvènement { } public static function vue($chemin, $vue = "normal") { + $ret = ''; if ($vue == "normal") { - $ret = ''; if (Permissions::vérifier_permission($chemin, "set_prop", Authentification::get_utilisateur())) { $ret .= ''; $ret .= formulaire_édition_texte_enrichi(Stockage::get_prop($chemin, "description"), "message"); @@ -56,12 +56,13 @@ class GalerieÉvènement { $ret .= '
  • ' . Modules::vue($k, 'miniature') . '
  • '; // TODO : escape l'url ! } $ret .= ''; - return $ret; } else if ($vue == "miniature") { + $ret = "Aucune
    photo"; + $enfants = Stockage::liste_enfants($chemin); - if (isset($enfants[0])) return Modules::vue($enfants[0], 'miniature'); - else return "Aucune
    photo"; + if (isset($enfants[0])) $ret = Modules::vue($enfants[0], 'miniature')->contenu; } + return Modules::page($ret, Stockage::get_prop($chemin, "titre")); } } diff --git a/__cms__/code/modules/galerie/galerie-index.php b/__cms__/code/modules/galerie/galerie-index.php index c86be33..749cb36 100644 --- a/__cms__/code/modules/galerie/galerie-index.php +++ b/__cms__/code/modules/galerie/galerie-index.php @@ -30,8 +30,8 @@ class GalerieIndex { } public static function vue($chemin, $vue = "normal") { + $ret = ''; if ($vue == "normal") { - $ret = ''; if (Permissions::vérifier_permission($chemin, "set_prop", Authentification::get_utilisateur())) { $ret .= ''; $ret .= formulaire_édition_texte_enrichi(Stockage::get_prop($chemin, "description"), "message"); @@ -51,17 +51,15 @@ class GalerieIndex { $ret .= ''; $ret .= ''; } - $ret .= ''; - return $ret; - } else if ($vue == "miniature") { - $enfants = Stockage::liste_enfants($chemin); - if (isset($enfants[0])) return Modules::vue($enfants[0], 'miniature'); - else return "Aucune
    photo"; + $ret .= ''; } + return Modules::page($ret, Stockage::get_prop($chemin, "titre")); } } diff --git a/__cms__/code/modules/galerie/galerie-periode.php b/__cms__/code/modules/galerie/galerie-periode.php index d002bd9..e393f4a 100644 --- a/__cms__/code/modules/galerie/galerie-periode.php +++ b/__cms__/code/modules/galerie/galerie-periode.php @@ -30,8 +30,8 @@ class GaleriePériode { } public static function vue($chemin, $vue = "normal") { + $ret = ''; if ($vue == "normal") { - $ret = ''; if (Permissions::vérifier_permission($chemin, "set_prop", Authentification::get_utilisateur())) { $ret .= ''; $ret .= formulaire_édition_texte_enrichi(Stockage::get_prop($chemin, "description"), "message"); @@ -56,12 +56,13 @@ class GaleriePériode { $ret .= '
  • ' . Modules::vue($k, 'miniature') . '
  • '; // TODO : escape l'url ! } $ret .= ''; - return $ret; } else if ($vue == "miniature") { + $ret = "Aucune
    photo"; + $enfants = Stockage::liste_enfants($chemin); - if (isset($enfants[0])) return Modules::vue($enfants[0], 'miniature'); - else return "Aucune
    photo"; + if (isset($enfants[0])) $ret = Modules::vue($enfants[0], 'miniature')->contenu; } + return Modules::page($ret, Stockage::get_prop($chemin, "titre")); } } diff --git a/__cms__/code/modules/galerie/galerie-photo.php b/__cms__/code/modules/galerie/galerie-photo.php index 51b5be1..7ddcdcb 100644 --- a/__cms__/code/modules/galerie/galerie-photo.php +++ b/__cms__/code/modules/galerie/galerie-photo.php @@ -45,13 +45,15 @@ class GaleriePhoto { $ret .= ''; $ret .= affichage_texte_enrichi(Stockage::get_prop($chemin, "message")); } - return $ret; + return Modules::page($ret, "Photo"); } else if ($vue == "miniature") { - return ''; + $ret = ''; + + return Modules::page($ret, "Photo"); } else if ($vue == "image") { - Stockage::get_prop_sendfile("image"); + return Modules::raw(Stockage::get_prop_sendfile("image")); } else if ($vue == "image_mini") { - Stockage::get_prop_sendfile("image_mini"); + return Modules::raw(Stockage::get_prop_sendfile("image_mini")); } } } diff --git a/__cms__/code/modules/modules.php b/__cms__/code/modules/modules.php index 410937c..a7e65f9 100644 --- a/__cms__/code/modules/modules.php +++ b/__cms__/code/modules/modules.php @@ -21,15 +21,19 @@ class Modules { public static function action($chemin, $action, $paramètres) { $module = self::get_module($chemin); - if ($module === false) return false; + if ($module === false) return self::page(false, "Erreur"); 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; + if ($module === false) return self::page(false, "Erreur"); return call_user_func(array($module["classe"], "vue"), $chemin, $vue); - } + } + + public static function page($contenu, $titre) { + return (object)array("contenu" => $contenu, "titre" => $titre); + } } ?> \ No newline at end of file diff --git a/__cms__/code/site/squelette.php b/__cms__/code/site/squelette.php index 0e5e508..b0415ee 100644 --- a/__cms__/code/site/squelette.php +++ b/__cms__/code/site/squelette.php @@ -18,8 +18,7 @@ class Squelette { - -

    ' . $page->titre . '

    '; + '; // // } diff --git a/__cms__/donnees/__prop__titre b/__cms__/donnees/__prop__titre new file mode 100644 index 0000000..359b379 --- /dev/null +++ b/__cms__/donnees/__prop__titre @@ -0,0 +1 @@ +Site d'exemple \ No newline at end of file