Implémentation (brouillon) du module admin.

This commit is contained in:
Georges Dupéron 2010-07-26 01:53:34 +02:00
parent 54b2b64f8f
commit 32b7caecae
5 changed files with 144 additions and 0 deletions

View File

@ -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")
}
?>

View File

@ -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.";
}
}
?>

View File

@ -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");
?>

View File

@ -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.";
}
}
?>

View File

@ -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;
}
}
?>