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