Structure des fichiers & dossiers pour Admin + un peu de code.

This commit is contained in:
Georges Dupéron 2010-08-05 07:45:50 +02:00
parent 78d4da8dfb
commit 783cab6b16
24 changed files with 93 additions and 13 deletions

View File

@ -3,3 +3,5 @@ Sécurité : les noms de propriétés passés à stockage ne doivent pas
Les actions ne devraient être que des POST... ça pose problème sur certains liens (connexion, ...).
Les titres devraient renomer _+_ set_prop (sachant que le renomage peut déteriorer le texte du titre (sécurité sur le chemin)).
Gérer ces saletées de magic quotes dans les biscuits aux brisures de chocolat (cookies).
Mettre le css dans une page (dossier) qui s'appelle "style.css", comme ça ça donne l'impression que c'est un fichier (même si en réalité
c'est le index.php de cette page qui le génère).

View File

@ -1,6 +1,6 @@
<?php
class AdminCouleurs {
class AdminApparence {
public static function action($chemin, $action, $paramètres) {
if ($action == "anuler") {
return new Page($chemin, '', "redirect");
@ -33,7 +33,7 @@ class AdminCouleurs {
$ret .= "<input ... Couleur B />";
$ret .= "<input ... Couleur C />";
// $ret .= ...
return "Vue normale de la page.";
return new Page($ret, "Apparence");
} else if ($vue == "css") {
// TODO : où mettre ce gen_css... ?
return Site::gen_css(array(
@ -45,6 +45,6 @@ class AdminCouleurs {
}
}
Modules::enregister_module("AdminCouleurs", "admin-couleurs", "vue", "Couleur_A Couleur_B Couleur_C");
Modules::enregister_module("AdminApparence", "admin-apparence", "vue", "Couleur_A Couleur_B Couleur_C");
?>

View File

@ -0,0 +1,35 @@
<?php
class AdminIndex {
public static function action($chemin, $action, $paramètres) {
if (isset($paramètres["vue"])) {
return self::vue($chemin, $paramètres["vue"]);
} else {
return self::vue($chemin);
}
}
public static function vue($chemin, $vue = "normal") {
if ($vue == "normal") {
$ret = '';
$ret .= '<h2>Administration</h2>';
$ret .= '<ul>';
foreach (Stockage::liste_enfants($chemin) as $k) {
if (Stockage::get_prop($k, "inclure_administration") == "oui") {
$ret .= '<li>';
$ret .= '<a href="' . $k->get_url() . '">'; // TODO : escape l'url !
$ret .= Stockage::get_prop($k, "titre");
$ret .= '</a>';
$ret .= '</li>';
}
}
$ret .= '</ul>';
return new Page($ret, Stockage::get_prop($chemin, "nom_site"));
}
return new Page('',''); // TODO : devrait renvoyer une page d'erreur !
}
}
Modules::enregister_module("AdminIndex", "admin-index", "vue");
?>

View File

@ -1,7 +1,7 @@
<?php
class AdminPermissions {
function action($chemin, $action, $paramètres) {
public static function action($chemin, $action, $paramètres) {
$singleton = new Chemin("/admin/permissions/");
if ($action == "anuler") {
return new Page($chemin, '', "redirect");
@ -18,7 +18,7 @@ class AdminPermissions {
}
}
function vue($chemin, $vue = "normal") {
public static function vue($chemin, $vue = "normal") {
$singleton = new Chemin("/admin/permissions/");
if ($vue == "normal") {
$ret = "";
@ -29,7 +29,7 @@ class AdminPermissions {
} else {
$ret .= "<pre><code>" . Stockage::get_prop($singleton, "regles") . "</code></pre>"; // TODO : html escape chars etc.
}
return $ret;
return new Page($ret, "Permissions");
}
}
}

View File

@ -1,6 +1,7 @@
<?php
require_once(dirname(__FILE__) . "/connexion.php");
require_once(dirname(__FILE__) . "/permissions.php");
require_once(dirname(__FILE__) . "/utilisateurs.php");
require_once(dirname(__FILE__) . "/couleurs.php");
require_once(dirname(__FILE__) . "/admin-connexion.php");
require_once(dirname(__FILE__) . "/admin-permissions.php");
require_once(dirname(__FILE__) . "/admin-utilisateurs.php");
require_once(dirname(__FILE__) . "/admin-apparence.php");
require_once(dirname(__FILE__) . "/admin-index.php");
?>

View File

@ -15,9 +15,11 @@ class Modules {
public static function get_module($chemin) {
$type = Stockage::get_prop($chemin, "type");
if (Erreur::is_erreur($type) || !isset(self::$liste_modules[$type])) {
if (Erreur::is_erreur($type)) {
// TODO : permettre l'empilement des erreurs. Quelle syntaxe utiliser ?
Erreur::fatale($type, "Erreur lors de la lecture du type de la page " . $chemin->get() . ".");
} else if (!isset(self::$liste_modules[$type])) {
Erreur::fatale("Type inconnu (" . var_export($type, true) . ") pour la page " . $chemin->get() . ".");
// return false;
}
return self::$liste_modules[$type];
}

View File

@ -0,0 +1 @@
admin-index

View File

@ -0,0 +1 @@
oui

View File

@ -0,0 +1 @@
Apparence

View File

@ -0,0 +1 @@
admin-apparence

View File

@ -0,0 +1 @@
non

View File

@ -0,0 +1 @@
Connexion

View File

@ -0,0 +1 @@
oui

View File

@ -0,0 +1 @@
Permissions

View File

@ -0,0 +1 @@
admin-permissions

View File

@ -0,0 +1 @@
oui

View File

@ -0,0 +1 @@
Utilisateurs

View File

@ -0,0 +1 @@
admin-utilisateurs

View File

@ -0,0 +1,7 @@
<?php
require_once(dirname(__FILE) . "/./../../__cms__/cms.php");
CMS::page("/admin/apparence");
?>

7
admin/index.php Normal file
View File

@ -0,0 +1,7 @@
<?php
require_once(dirname(__FILE) . "/./../__cms__/cms.php");
CMS::page("/admin");
?>

View File

@ -0,0 +1,7 @@
<?php
require_once(dirname(__FILE) . "/./../../__cms__/cms.php");
CMS::page("/admin/permissions");
?>

View File

@ -0,0 +1,7 @@
<?php
require_once(dirname(__FILE) . "/./../../__cms__/cms.php");
CMS::page("/admin/utilisateurs");
?>