commit 32b7caecaedc79fca5b81667ce98a51315da1556
parent 54b2b64f8fe8decb3261d3756b3a12f1c36c9138
Author: Georges Dupéron <jahvascriptmaniac+github@free.fr>
Date: Mon, 26 Jul 2010 01:53:34 +0200
Implémentation (brouillon) du module admin.
Diffstat:
5 files changed, 144 insertions(+), 0 deletions(-)
diff --git a/__cms__/modules/admin/connexion.php b/__cms__/modules/admin/connexion.php
@@ -0,0 +1,28 @@
+<?php
+
+function action($chemin, $action, $paramètres) {
+ if ($action == "connexion") {
+ if (connexion($paramètres["utilisateur"], $paramètres["mdp"])) {
+ // Afficher la page "Connexion réussie" et un lien vers la page d'accueil.
+ } else {
+ // Afficher "Mauvais mot de passe ou nom d'utilisateur" puis le formulaire de connexion.
+ }
+ } else if ($action == "déconnexion") {
+ déconnexion();
+ // Afficher "déconnexion réussie" et un lien vers la page d'accueil.
+ } else {
+ // Afficher le formulaire de connexion.
+ if (is_set($paramètres["vue"])) {
+ self::vue($chemin, $paramètres["vue"]);
+ } else {
+ self::vue($chemin);
+ }
+ }
+}
+
+function vue($chemin, $vue = "normal") {
+ // Les quatre vues ("connexion réussie", "déconnexion réussie",
+ // formulaire de connexion, formulaire + "mauvais mdp")
+}
+
+?>
diff --git a/__cms__/modules/admin/couleurs.php b/__cms__/modules/admin/couleurs.php
@@ -0,0 +1,39 @@
+<?php
+
+function action($chemin, $action, $paramètres) {
+ if ($action == "anuler") {
+ return redirect($chemin);
+ } else {
+ if (is_set($paramètres["Couleur_A"])) {
+ // Stocker couleur A
+ }
+ if (is_set($paramètres["Couleur_B"])) {
+ // Stocker couleur B
+ }
+ if (is_set($paramètres["Couleur_C"])) {
+ // Stocker couleur C
+ }
+ // ...
+
+ if (is_set($paramètres["vue"])) {
+ self::vue($chemin, $paramètres["vue"]);
+ } else {
+ self::vue($chemin);
+ }
+ }
+}
+
+function vue($chemin, $vue = "normal") {
+ if ($vue == "normal") {
+ // Si l'utilisateur a l'autorisation de modifier les propriétés,
+ // on affiche la version modifiable plutôt que la "vue".
+ $ret = "";
+ $ret .= "<input ... Couleur A />";
+ $ret .= "<input ... Couleur B />";
+ $ret .= "<input ... Couleur C />";
+ $ret .= ...
+ return "Vue normale de la page.";
+ }
+}
+
+?>
diff --git a/__cms__/modules/admin/module.php b/__cms__/modules/admin/module.php
@@ -0,0 +1,6 @@
+<?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");
+?>
diff --git a/__cms__/modules/admin/permissions.php b/__cms__/modules/admin/permissions.php
@@ -0,0 +1,32 @@
+<?php
+
+function action($chemin, $action, $paramètres) {
+ if ($action == "anuler") {
+ return redirect($chemin);
+ } else {
+ if (is_set($paramètres["regles"])) {
+ // Stocker les regles dans regles, peut-être faire une
+ // sauvegarde des règles actuelles ?
+ }
+
+ if (is_set($paramètres["vue"])) {
+ self::vue($chemin, $paramètres["vue"]);
+ } else {
+ self::vue($chemin);
+ }
+ }
+}
+
+function vue($chemin, $vue = "normal") {
+ if ($vue == "normal") {
+ // Si l'utilisateur a l'autorisation de modifier les propriétés,
+ // on affiche la version modifiable plutôt que la "vue".
+ $ret = "";
+ $ret .= "<h1>Règles de sécurité</h1>";
+ $ret .= "<p>La première règle correspondant à une action de l'utilisateur est appliquée. Bla-bla blabla sur le fonctionnement.</p>";
+ $ret .= "<textarea ... Règles />";
+ return "Vue normale de la page.";
+ }
+}
+
+?>
diff --git a/__cms__/modules/admin/utilisateurs.php b/__cms__/modules/admin/utilisateurs.php
@@ -0,0 +1,39 @@
+<?php
+
+function action($chemin, $action, $paramètres) {
+ if ($action == "anuler") {
+ return redirect($chemin);
+ } else if ($action == "nouvelle_page") {
+ // Créer le nouvel utilisateur avec comme nom "Nouvel utilisateur".
+ // return Redirect vers la page actuelle, à l'ancre correspondant
+ // à cet utilisateur (#Nouvel_utilisateur).
+ } else {
+ if (is_set($paramètres["vue"])) {
+ self::vue($chemin, $paramètres["vue"]);
+ } else {
+ self::vue($chemin);
+ }
+ }
+}
+
+function vue($chemin, $vue = "normal") {
+ if ($vue == "normal") {
+ $ret = '';
+ $ret .= "<h1>Utilisateurs</h1>";
+ if (vérifier_permission($chemin, "nouvelle_page", get_utilisateur())) {
+ // afficher le lien "Nouvel utilisateur"
+ }
+ $ret .= '<table class="utilisateurs index"><thead><th>Nom</th><th>Prénom</th><th>Groupe</th><th>Mot de passe</th></thead><tbody>';
+ $listegroupes = // Construire la liste des groupes sous forme de menu drop-down.
+ foreach (stockage::liste_enfants($chemin) as $k) {
+ $ret .= '<tr>' . modules::vue($k) . '</tr>'; // ??? TODO
+ // Le champ mot de passe doit être un lien / bouton "nouveau
+ // mot de passe automatique" qui redirige vers
+ // $chemin->enfant("$utilisateur") ?action=gen_mdp .
+ }
+ $ret .= '</tbody></table>';
+ return $ret;
+ }
+}
+
+?>