www

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

commit ee69af2128f6700c818b6a4e75bf9532f6ac4cc3
parent 6baacdd20a79664609d12c2a3ee0c2e5a860d275
Author: Georges Dupéron <jahvascriptmaniac+github@free.fr>
Date:   Fri, 23 Jul 2010 16:09:45 +0200

Restructuration (après griffonage sur papier).

- Organisation des types de pages en modules,
- Chaque module contient un fichier "module.php", qui #include les autres,
- Conception (partielle) de la partie "admin".
- Stockage plus ou moins prévu pour pouvoir stocker dans une base de
  données si nécessaire.
- Conception (partielle) du mécanisme d'authentification et de permissions.

Diffstat:
A__cms__/.htaccess | 1+
A__cms__/chemin/chemin.php | 14++++++++++++++
A__cms__/modules/admin/connexion.php | 0
A__cms__/modules/admin/couleurs.php | 0
A__cms__/modules/admin/module.php | 0
A__cms__/modules/admin/permissions.php | 0
A__cms__/modules/admin/utilisateurs.php | 0
A__cms__/modules/forum/module.php | 0
A__cms__/modules/galerie/galerie-evenement.php | 0
A__cms__/modules/galerie/galerie-index.php | 0
A__cms__/modules/galerie/galerie-periode.php | 0
A__cms__/modules/galerie/galerie-photo.php | 49+++++++++++++++++++++++++++++++++++++++++++++++++
A__cms__/modules/galerie/module.php | 6++++++
A__cms__/securite/authentification.php | 41+++++++++++++++++++++++++++++++++++++++++
A__cms__/securite/nettoyage.php | 6++++++
A__cms__/securite/permissions.php | 24++++++++++++++++++++++++
A__cms__/stockage/stockage.php | 34++++++++++++++++++++++++++++++++++
A__cms__/stockage/systeme-fichiers.php | 32++++++++++++++++++++++++++++++++
18 files changed, 207 insertions(+), 0 deletions(-)

diff --git a/__cms__/.htaccess b/__cms__/.htaccess @@ -0,0 +1 @@ +deny from all diff --git a/__cms__/chemin/chemin.php b/__cms__/chemin/chemin.php @@ -0,0 +1,14 @@ +<?php + +function correspond(motif, chemin) { + // motif : liste de segments, pouvant être un chaîne ou un jocker + // correspondant à "n'importe quelle chaîne pour ce segment". Le + // dernier segment peut être le joker "n'importe quelle suite de + // segments (le motif doit donc correspondre à un préfixe du chemin + // dans ce cas-là). + // chemin : liste de segments. + + // les segments de chemin et motif sont déjà nettoyés. +} + +?> diff --git a/__cms__/modules/admin/connexion.php b/__cms__/modules/admin/connexion.php diff --git a/__cms__/modules/admin/couleurs.php b/__cms__/modules/admin/couleurs.php diff --git a/__cms__/modules/admin/module.php b/__cms__/modules/admin/module.php diff --git a/__cms__/modules/admin/permissions.php b/__cms__/modules/admin/permissions.php diff --git a/__cms__/modules/admin/utilisateurs.php b/__cms__/modules/admin/utilisateurs.php diff --git a/__cms__/modules/forum/module.php b/__cms__/modules/forum/module.php diff --git a/__cms__/modules/galerie/galerie-evenement.php b/__cms__/modules/galerie/galerie-evenement.php diff --git a/__cms__/modules/galerie/galerie-index.php b/__cms__/modules/galerie/galerie-index.php diff --git a/__cms__/modules/galerie/galerie-periode.php b/__cms__/modules/galerie/galerie-periode.php diff --git a/__cms__/modules/galerie/galerie-photo.php b/__cms__/modules/galerie/galerie-photo.php @@ -0,0 +1,49 @@ +<?php + +function action($chemin, $action, $paramètres) { + if ($action == "anuler") { + return redirect($chemin); + } else if ($action == "nouvelle_page") { + // Créer la nouvelle page avec les valeurs par défaut. + // return Redirect vers cette nouvelle page. + } else if ($action == "supprimer") { + // Supprimer cette page. + // return Redirect vers la page parente. + } else { + if (is_set($paramètres["fichier_image"])) { + // stocker le fichier reçu dans prop_image + // redimensionner l'image avec gd, stocker la miniature dans + // prop_image_mini + } + if (is_set($paramètres["titre"])) { + // renomer la page + } + if (is_set($paramètres["description"])) { + // set_prop($chemin, "description", $paramètres["description"]); + } +/* if (is_set($paramètres[""])) { + }*/ + + 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". + return "Vue normale de la page."; + } else if ($vue == "miniature") { + return "Vue miniature."; + } else if ($vue == "image") { + // stockage::sendfile_prop("image"); + } else if ($vue == "image_mini") { + // stockage::sendfile_prop("image_mini"); + } +} + +?> diff --git a/__cms__/modules/galerie/module.php b/__cms__/modules/galerie/module.php @@ -0,0 +1,6 @@ +<?php + require_once(dirname(__FILE__) . "/galerie-index.php"); + require_once(dirname(__FILE__) . "/galerie-periode.php"); + require_once(dirname(__FILE__) . "/galerie-evenement.php"); + require_once(dirname(__FILE__) . "/galerie-photo.php"); +?> diff --git a/__cms__/securite/authentification.php b/__cms__/securite/authentification.php @@ -0,0 +1,41 @@ +<?php + +function connexion($utilisateur, $mdp) { + // vérifie si $utilisateur a pour mot de passe $mdp. + // Si oui, on place une variable de session, et on renvoie true. + // (Note : session_start doit avoir été exécuté avant.) + // La variable de session contient $utilisateur (vérifier si c'est sécurisé...) + // Si non, on renvoie false. +} + +function déconnexion() { + // Efface la variable de session positionnée par connexion(). +} + +function get_utilisateur() { + // Renvoie $utilisateur s'il est connecté, false sinon. +} + +function nouvel_utilisateur($utilisateur) { + // Crée un nouvel utilisateur nommé $utilisateur. + // Lui affecte un mot de passe aléatoire. + // Positionne son groupe à "anonyme". +} + +function set_groupe($utilisateur, $groupe) { + // Positionne le groupe de $utilisateur à $groupe. +} + +function get_groupe($utilisateur, $groupe) { + // Positionne le groupe de $utilisateur à $groupe. +} + +function supprimer_utilisateur($utilisateur) { + // Supprime l'utilisateur créé par nouvel_utilisateur +} + +function get_mot_de_passe($utilisateur) { + // Renvoie le mot de passe de $utilisateur +} + +?> diff --git a/__cms__/securite/nettoyage.php b/__cms__/securite/nettoyage.php @@ -0,0 +1,6 @@ +<?php + +// Fonctions permettant de "nettoyer" les données provenant de +// l'utilisateur. + +?> diff --git a/__cms__/securite/permissions.php b/__cms__/securite/permissions.php @@ -0,0 +1,24 @@ +<?php + +function vérifier_permission($chemin, $action, $utilisateur) { + // Vérifie si $utilisateur a la permission d'effectuer $action sur $chemin. + // Parcourt la liste les règles de sécurité (get_regles()), et + // sélectionne la première pour laquelle $chemin correspond au motif + // de la règle, $action correspond au motif de la règle, et + // $utilisateur a comme groupe le groupe de la règle (get_groupe()). + // Si le champ "autorisation" de la règle est true, on renvoie true, + // sinon on renvoie false +} + +function set_regles($regles) { + // $regles est un tableau de quadruplets + // (chemin, action, groupe, autorisation). + + // Enregistre $regles pour qu'il puisse être lu par get_regles. +} + +function get_regles() { + // Renvoie les regles. +} + +?> diff --git a/__cms__/stockage/stockage.php b/__cms__/stockage/stockage.php @@ -0,0 +1,34 @@ +<?php + +// Chaque fonction appelle vérifier_permission($chemin, $action, $utilisateur). + +// Chaque fonction ajoute un chemin de base (pour le stockage) avant +// $chemin, puis appelle une fonction de systeme-fichiers.php + +function créer_enfant($chemin, $nom) { +} + +function set_prop($chemin, $prop, $valeur) { +} + +function get_prop($chemin, $prop) { +} + +function supprimer($chemin, $récursif) { +} + +function liste_enfants($chemin) { +} + +/*function parent($chemin) { +}*/ + +/*function stocker_fichier($chemin_fs_orig, $chemin, $prop) { +}*/ + +function renomer($chemin, $nouveau_nom) { + // Vérifie si l'ancien nom et le nouveau nom sont différents. + // Renome le dossier. +} + +?> diff --git a/__cms__/stockage/systeme-fichiers.php b/__cms__/stockage/systeme-fichiers.php @@ -0,0 +1,32 @@ +<?php + +function créer_dossier($chemin) { + // mkdir($chemin) +} + +/*function créer_fichier($chemin) { + // touch($chemin) +}*/ + +function supprimer($chemin, $récursif) { + // Si non récursif, supprime ssi c'est un fichier. + // Sinon, si c'est un fichier ou un lien, supprime, + // si c'est un dossier, appelle récursivement puis rmdir. +} + +function lire($chemin) { + // file_get_contents() +} + +function ecrire($chemin, $données) { + // file_put_contents(); +} + +function liste_enfants($chemin) { + // Renvoie la liste des sous-fichiers et sous-dossiers. +} + +function déplacer($chemin_de, $cemin_vers) { +} + +?>