diff --git a/__cms__/modules/admin/connexion.php b/__cms__/modules/admin/connexion.php index 763fb25..6050336 100644 --- a/__cms__/modules/admin/connexion.php +++ b/__cms__/modules/admin/connexion.php @@ -1,6 +1,6 @@ "; - $ret .= ""; - $ret .= ""; - $ret .= ... - return "Vue normale de la page."; - } else if ($vue == "css") { - // TODO : où mettre ce gen_css... ? - return Site::gen_css(array( - "Couleur_A" => Stockage::get_prop($chemin, "Coucleur_A"), - "Couleur_B" => Stockage::get_prop($chemin, "Coucleur_B"), - "Couleur_C" => Stockage::get_prop($chemin, "Coucleur_C") - )); + + public 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 .= ""; + $ret .= ""; + $ret .= ""; + $ret .= ... + return "Vue normale de la page."; + } else if ($vue == "css") { + // TODO : où mettre ce gen_css... ? + return Site::gen_css(array( + "Couleur_A" => Stockage::get_prop($chemin, "Coucleur_A"), + "Couleur_B" => Stockage::get_prop($chemin, "Coucleur_B"), + "Couleur_C" => Stockage::get_prop($chemin, "Coucleur_C") + )); + } } } diff --git a/__cms__/modules/admin/permissions.php b/__cms__/modules/admin/permissions.php index 5b85810..3b0bea0 100644 --- a/__cms__/modules/admin/permissions.php +++ b/__cms__/modules/admin/permissions.php @@ -1,34 +1,36 @@ Règles de sécurité"; - $ret .= "

La première règle correspondant à une action de l'utilisateur est appliquée. Bla-bla blabla sur le fonctionnement.

"; - if (vérifier_permission($singleton, "set_prop", get_utilisateur())) { - $ret .= ""; // TODO : html escape chars etc. - } else { - $ret .= "
" . Stockage::get_prop($singleton, "regles") . "
"; // TODO : html escape chars etc. + + function vue($chemin, $vue = "normal") { + $singleton = new Chemin("/admin/permissions/"); + if ($vue == "normal") { + $ret = ""; + $ret .= "

Règles de sécurité

"; + $ret .= "

La première règle correspondant à une action de l'utilisateur est appliquée. Bla-bla blabla sur le fonctionnement.

"; + if (vérifier_permission($singleton, "set_prop", get_utilisateur())) { + $ret .= ""; // TODO : html escape chars etc. + } else { + $ret .= "
" . Stockage::get_prop($singleton, "regles") . "
"; // TODO : html escape chars etc. + } + return $ret; } - return $ret; } } diff --git a/__cms__/modules/admin/utilisateurs.php b/__cms__/modules/admin/utilisateurs.php index b98a61f..40270a4 100644 --- a/__cms__/modules/admin/utilisateurs.php +++ b/__cms__/modules/admin/utilisateurs.php @@ -1,68 +1,70 @@ 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 ? - } +class AdminUtilisateurs { + public function action($chemin, $action, $paramètres) { + $singleton = new Chemin("/admin/utilisateurs/"); + if ($action == "anuler") { + return redirect($chemin); - 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"]; - } + // 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. - 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"]); + // Solution B : } else { - self::vue($chemin); + 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 { + self::vue($chemin); + } } } -} - -function vue($chemin, $vue = "normal") { - $singleton = new Chemin("/admin/utilisateurs/"); - if ($vue == "normal") { - $ret = ''; - $ret .= "

Utilisateurs

"; - if (vérifier_permission($chemin, "nouvelle_page", get_utilisateur())) { - // afficher le lien "Nouvel utilisateur" + + public function vue($chemin, $vue = "normal") { + $singleton = new Chemin("/admin/utilisateurs/"); + if ($vue == "normal") { + $ret = ''; + $ret .= "

Utilisateurs

"; + if (vérifier_permission($chemin, "nouvelle_page", get_utilisateur())) { + // afficher le lien "Nouvel utilisateur" + } + $ret .= ''; + $listegroupes = // Construire la liste des groupes sous forme de menu drop-down. + foreach (stockage::liste_enfants($chemin) as $k) { // TODO : trier par ordre alphabétique du nom ? + $ret .= '' . modules::vue($k) . ''; // ??? 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 .= '
NomPrénomGroupeMot de passe
'; + return $ret; } - $ret .= ''; - $listegroupes = // Construire la liste des groupes sous forme de menu drop-down. - foreach (stockage::liste_enfants($chemin) as $k) { // TODO : trier par ordre alphabétique du nom ? - $ret .= '' . modules::vue($k) . ''; // ??? 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 .= '
NomPrénomGroupeMot de passe
'; - return $ret; } }