www

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | README

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:
M__cms__/modules/admin/connexion.php | 28++++++++++++++++++++++++++++
M__cms__/modules/admin/couleurs.php | 39+++++++++++++++++++++++++++++++++++++++
M__cms__/modules/admin/module.php | 6++++++
M__cms__/modules/admin/permissions.php | 32++++++++++++++++++++++++++++++++
M__cms__/modules/admin/utilisateurs.php | 39+++++++++++++++++++++++++++++++++++++++
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; + } +} + +?>