www

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

commit b2bc2f4232b595f6314a9c28262f86de4a4b18aa
parent ceca66abe6edf074e05175439b7f972ba5e99902
Author: Georges Dupéron <jahvascriptmaniac+github@free.fr>
Date:   Sat, 31 Jul 2010 18:05:55 +0200

Remplissage des fonctions du module "admin".

Quelques TODO restent encore à faire.

Diffstat:
M__cms__/modules/admin/permissions.php | 15+++++++++------
M__cms__/modules/admin/utilisateurs.php | 40+++++++++++++++++++++++++++++++++++-----
2 files changed, 44 insertions(+), 11 deletions(-)

diff --git a/__cms__/modules/admin/permissions.php b/__cms__/modules/admin/permissions.php @@ -1,12 +1,12 @@ <?php function action($chemin, $action, $paramètres) { + $singleton = new Chemin("/admin/permissions/"); 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 ? + Stockage::set_prop($singleton, "regles", $paramètres["regles"]); } if (is_set($paramètres["vue"])) { @@ -18,14 +18,17 @@ function action($chemin, $action, $paramètres) { } function vue($chemin, $vue = "normal") { + $singleton = new Chemin("/admin/permissions/"); 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."; + if (vérifier_permission($singleton, "set_prop", get_utilisateur())) { + $ret .= "<textarea ...>" . Stockage::get_prop($singleton, "regles") . "</textarea>"; // TODO : html escape chars etc. + } else { + $ret .= "<pre><code>" . Stockage::get_prop($singleton, "regles") . "</code></pre>"; // TODO : html escape chars etc. + } + return $ret; } } diff --git a/__cms__/modules/admin/utilisateurs.php b/__cms__/modules/admin/utilisateurs.php @@ -1,13 +1,42 @@ <?php function action($chemin, $action, $paramètres) { + $singleton = new Chemin("/admin/utilisateurs/"); 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). + + // TODO ... + // Solution A (propre) : + // Il faut que le bouton "nouvel utilisateur" crée une nouvelle page et redirect vers la page utilisateur_S_ (la page en cours) + // Puis sur la page utilisateur_S_ on modifie les champs de l'utilisateur X, on clique sur appliquer, + // ça POST vers la page de X, qui fait les modifs et redirect vers utiliseur_S_. + // Solution B : + // [nom] [mdp] [peut_se_connecter] [[nouvel utilisateur]] -> crée nouvelle page "nom", définit le mot de passe et peut_se_connecter. + // Puis redirect vers utilisateur_S_ + // [nom] [mdp] [peut_se_connecter] [[Appliquer]] -> renome la page, définit le mdp et peut_se_connecter. + + // Solution B : } else { + if (is_set($paramètres["nouveau_nom"]) && ($action == "nouvelle_page")) { + // TODO : SECURITE : Si la page existe déjà, laisser tomber ! + Stockage::nouvelle_page($singleton, $paramètres["nouveau_nom"]); + $paramètres["nom"] = $paramètres["nouveau_nom"]; + // TODO : message de confirmation quelque part ? + } + + if (is_set($paramètres["nouveau_nom"]) && is_set($paramètres["nom"])) { + // renomer la page $paramètres["nom"] + $paramètres["nom"] = $paramètres["nouveau_nom"]; + } + + if (is_set($paramètres["mot_de_passe"]) && is_set($paramètres["nom"])) { + Stockage::set_pop($singleton->enfant($paramètres["nom"]), "mot_de_passe", $paramètres["mot_de_passe"]); + } + + if (is_set($paramètres["peut_se_connecter"]) && is_set($paramètres["nom"])) { + Stockage::set_pop($singleton->enfant($paramètres["nom"]), "peut_se_connecter", $paramètres["peut_se_connecter"]); + } + if (is_set($paramètres["vue"])) { self::vue($chemin, $paramètres["vue"]); } else { @@ -17,6 +46,7 @@ function action($chemin, $action, $paramètres) { } function vue($chemin, $vue = "normal") { + $singleton = new Chemin("/admin/utilisateurs/"); if ($vue == "normal") { $ret = ''; $ret .= "<h1>Utilisateurs</h1>"; @@ -25,7 +55,7 @@ function vue($chemin, $vue = "normal") { } $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) { + foreach (stockage::liste_enfants($chemin) as $k) { // TODO : trier par ordre alphabétique du nom ? $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