commit 7be81c959e094dba4c468296c3c23e3267111dcb
parent 88476240e5091c7d8dda5cf29f8d6faffb30c0a4
Author: Georges Dupéron <jahvascriptmaniac+github@free.fr>
Date: Sun, 1 Aug 2010 22:38:48 +0200
Génération des fichiers "index.php" dans la partie publique.
Diffstat:
2 files changed, 14 insertions(+), 5 deletions(-)
diff --git a/__cms__/cms.php b/__cms__/cms.php
@@ -4,10 +4,10 @@ require_once(dirname(__FILE__) . "/config.php");
require_once(dirname(__FILE__) . "/include.php");
class CMS {
- public static function cms() {
+ public static function cms($chemin_str) {
// TODO : appeller Modules::action($chemin, $action, $paramètres);
- $chemin = Chemin::depuis_url($_SERVER["request_uri"]); // TODO : vérifier nom variables etc.
+ $chemin = new Chemin($chemin_str);
$noms_params = Modules::liste_paramètres();
$noms_params[] = "action";
// récupérer $noms_params dans $_GET, $_POST et $_FILE
diff --git a/__cms__/stockage/stockage.php b/__cms__/stockage/stockage.php
@@ -9,15 +9,24 @@ class Stockage {
public function nouvelle_page($chemin, $nom) {
if (vérifier_permission($chemin, "nouvelle_page")) {
$enfant = $chemin->enfant($nom);
- SystemeFichiers::créer_dossier($config_chemin_base_stockage . '/' . $enfant->get());
- // Imitation de l'url rewriting
- SystemeFichiers::écrire($config_chemin_base_public . '/' . $enfant->get(), "<?php require_once(" . $config_chemin_base_php . "/cms.php);"); // TODO : séparer dans une autre fonction (rewriting.php ?)
+ SystemeFichiers::créer_dossier($enfant->get_fs_stockage());
+ self::activer_réécriture($enfant);
return $enfant;
} else {
return false;
}
}
+ // Imitation de l'url rewriting lorsque ce n'est pas disponible sur
+ // le serveur.
+ public function activer_réécriture($chemin_vers) {
+ $php_str = "<?php\n"
+ $php_str .= "require_once(" . Path::combine($config_chemin_base, "cms.php") . ");\n"
+ $php_str .= "CMS::cms(" . $chemin_vers->get() . ");\n"
+ $php_str .= "?>\n"
+ SystemeFichiers::écrire($chemin_vers->get_fs_public(), $php_str);
+ }
+
public function set_prop($chemin, $prop, $valeur) {
if (vérifier_permission($chemin, "set_prop")) {
return SystemeFichiers::écrire(Path::combine($chemin->get_fs_stockage(), $prop), $valeur)