commit 8d47727b8d1cbdc5bd88349fbe9453f528defa0b
parent b9737b3283da1d595e8777df45abe5200ff1b080
Author: Georges Dupéron <jahvascriptmaniac+github@free.fr>
Date: Sat, 31 Jul 2010 20:17:05 +0200
Enveloppage des fonction du module admin dans des classes.
Diffstat:
4 files changed, 126 insertions(+), 120 deletions(-)
diff --git a/__cms__/modules/admin/connexion.php b/__cms__/modules/admin/connexion.php
@@ -1,6 +1,6 @@
<?php
-class Connexion {
+class AdminConnexion {
public function action($chemin, $action, $paramètres) {
if ($action == "connexion") {
if (connexion($paramètres["utilisateur"], $paramètres["mdp"])) {
diff --git a/__cms__/modules/admin/couleurs.php b/__cms__/modules/admin/couleurs.php
@@ -1,45 +1,47 @@
<?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"]);
+class AdminCouleurs {
+ public function action($chemin, $action, $paramètres) {
+ if ($action == "anuler") {
+ return redirect($chemin);
} else {
- self::vue($chemin);
+ 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.";
- } 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 .= "<input ... Couleur A />";
+ $ret .= "<input ... Couleur B />";
+ $ret .= "<input ... Couleur C />";
+ $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
@@ -1,34 +1,36 @@
<?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"])) {
- Stockage::set_prop($singleton, "regles", $paramètres["regles"]);
- }
-
- if (is_set($paramètres["vue"])) {
- self::vue($chemin, $paramètres["vue"]);
+class AdminPermissions {
+ function action($chemin, $action, $paramètres) {
+ $singleton = new Chemin("/admin/permissions/");
+ if ($action == "anuler") {
+ return redirect($chemin);
} else {
- self::vue($chemin);
+ if (is_set($paramètres["regles"])) {
+ Stockage::set_prop($singleton, "regles", $paramètres["regles"]);
+ }
+
+ 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/permissions/");
- if ($vue == "normal") {
- $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>";
- 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.
+
+ function vue($chemin, $vue = "normal") {
+ $singleton = new Chemin("/admin/permissions/");
+ if ($vue == "normal") {
+ $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>";
+ 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;
}
- return $ret;
}
}
diff --git a/__cms__/modules/admin/utilisateurs.php b/__cms__/modules/admin/utilisateurs.php
@@ -1,68 +1,70 @@
<?php
-function action($chemin, $action, $paramètres) {
- $singleton = new Chemin("/admin/utilisateurs/");
- if ($action == "anuler") {
- return redirect($chemin);
-
- // 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 ?
- }
+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"];
- }
-
- 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"]);
- }
+ // 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["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 .= "<h1>Utilisateurs</h1>";
- 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 .= "<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) { // 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
+ // $chemin->enfant("$utilisateur") ?action=gen_mdp .
+ }
+ $ret .= '</tbody></table>';
+ return $ret;
}
- $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) { // 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
- // $chemin->enfant("$utilisateur") ?action=gen_mdp .
- }
- $ret .= '</tbody></table>';
- return $ret;
}
}