commit a0607e7cb5624434032f1acbfe07bc0efd7da2ab
parent 2e7438f13003b4ab30f0be50784adc24df5e2426
Author: Georges Dupéron <jahvascriptmaniac+github@free.fr>
Date: Mon, 26 Jul 2010 21:12:38 +0200
Remplissage (brouillon) des fonctions de Stockage.
Diffstat:
1 file changed, 36 insertions(+), 3 deletions(-)
diff --git a/__cms__/stockage/stockage.php b/__cms__/stockage/stockage.php
@@ -5,22 +5,55 @@
// 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 nouvelle_page($chemin, $nom) {
+ if (vérifier_permission($chemin, "nouvelle_page")) {
+ $enfant = $chemin->enfant($nom);
+ SystemeFichiers::créer_dossier($config_chemin_base_stockage . '/' . $enfant);
+ // Imitation de l'url rewriting
+ SystemeFichiers::écrire($config_chemin_base_public . '/' . $enfant, "<?php require_once(" . $config_chemin_base_php . "/cms.php);"); // TODO : séparer dans une autre fonction (rewriting.php ?)
+ return $enfant;
+ } else {
+ return false;
+ }
}
function set_prop($chemin, $prop, $valeur) {
+ if (vérifier_permission($chemin, "set_prop")) {
+ return SystemeFichiers::écrire($config_chemin_base_stockage . '/' . $chemin . '/' . $prop, $valeur)
+ } else {
+ return false;
+ }
}
+// Stocke le contenu de $fichier dans $prop, et supprime $fichier.
function set_prop_fichier($chemin, $prop, $fichier) {
- // Stocke le contenu de $fichier dans $prop, et supprime $fichier.
+ if (vérifier_permission($chemin, "set_prop")) {
+ // TODO : Utiliser move_uploaded_file lorsque nécessaire !!!
+ return SystemeFichiers::déplacer($fichier, $config_chemin_base_stockage . '/' . $chemin . '/' . $prop)
+ } else {
+ return false;
+ }
}
-function get_prop($chemin, $prop) {
+function get_prop($chemin, $prop, $forcer_permissions = false) {
+ // $forcer_permissions permet à vérifier_permission() et ses
+ // dépendances get_regles() et get_groupe() de faire des get_prop
+ // même si l'utilisateur courant n'en a pas le droit.
+ if ($forcer_permissions || vérifier_permission($chemin, "get_prop")) {
+ return SystemeFichiers::lire($config_chemin_base_stockage . '/' . $chemin . '/' . $prop);
+ } else {
+ return false;
+ }
}
function get_prop_sendfile($chemin, $prop) {
// Envoie tout le conctenu de $prop sur le réseau.
// Équivalent à appeller sendfile sur le fichier qui contient $prop.
+ if (vérifier_permission($chemin, "get_prop")) {
+ // (SystemeFichiers:: ???) sendfile($config_chemin_base_stockage . '/' . $chemin . '/' . $prop);
+ } else {
+ return false;
+ }
}
function supprimer($chemin, $récursif) {