Génération des fichiers "index.php" dans la partie publique.

This commit is contained in:
Georges Dupéron 2010-08-01 22:38:48 +02:00
parent 88476240e5
commit 7be81c959e
2 changed files with 14 additions and 5 deletions

View File

@ -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

View File

@ -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)