Correctifs sur galerie-index (mais j'ai oublié quoi :( ).

This commit is contained in:
Georges Dupéron 2010-08-19 05:46:01 +02:00
parent c1f0dad937
commit 799b4a3caf
5 changed files with 15 additions and 8 deletions

View File

@ -4,4 +4,5 @@ Les actions ne devraient être que des POST... ça pose problème sur certains l
Les titres devraient renomer _+_ set_prop (sachant que le renomage peut déteriorer le texte du titre (sécurité sur le chemin)).
Gérer ces saletées de magic quotes dans les biscuits aux brisures de chocolat (cookies).
Mettre le css dans une page (dossier) qui s'appelle "style.css", comme ça ça donne l'impression que c'est un fichier (même si en réalité
c'est le index.php de cette page qui le génère).
c'est le index.php de cette page qui le génère).
Si on ne peut lire la propriété __prop_type, afficher un "Access Denied" au lieu de dire qu'on n'a pas pu lire la propriété.

View File

@ -7,6 +7,8 @@ class GalerieIndex {
} else if ($action == "nouvelle_page") {
$np = Stockage::nouvelle_page($chemin, "Nouvelle période", "galerie-periode");
Stockage::set_prop($np, "proprietaire", Authentification::get_utilisateur());
Stockage::set_prop($np, "titre", "Nouvelle période");
Stockage::set_prop($np, "description", "");
return new Page($np, '', "redirect");
} else {
if (isset($paramètres["titre"])) {

View File

@ -9,7 +9,7 @@ class GaleriePériode {
Stockage::set_prop($np, "proprietaire", Authentification::get_utilisateur());
return new Page($np, '', "redirect");
} else if ($action == "supprimer") {
Stockage::supprimer($chemin);
Stockage::supprimer($chemin, true); // TODO ! gérer correctement le récursif
return new Page($chemin->parent(), '', "redirect");
} else {
if (isset($paramètres["titre"])) {

View File

@ -13,7 +13,6 @@ class Stockage {
self::set_prop($enfant, "type", $type);
$e = self::activer_réécriture($enfant);
if (Erreur::is_erreur($e)) return Erreur::fatale("Erreur lors de la mise en place de la redirection pour " . $enfant->get() . ".", $e);
exit;
return $enfant;
} else {
return false;
@ -96,7 +95,7 @@ class Stockage {
public static function supprimer($chemin, $récursif) {
if (Permissions::vérifier_permission($chemin, "supprimer")) {
// TODO : désactiver_réécriture($chemin) récursivement
return SystèmeFichier::supprimer($chemin->get_fs_stockage(), $récursif);
return Système_fichiers::supprimer($chemin->get_fs_stockage(), $récursif);
} else {
return false;
}

View File

@ -15,16 +15,21 @@ class Système_fichiers {
}*/
public static function supprimer($chemin_fs, $récursif) {
var_dump($chemin_fs);
if (is_link($chemin_fs) || is_file($chemin_fs)) {
unlink($chemin_fs);
} else if ($récursif) {
} else if ($récursif && is_dir($chemin_fs)) {
$d = dir($chemin_fs);
while (false !== ($entrée = $d->read())) {
while (false !== ($entrée = $d->read())) {
if ($entrée == '.') continue; // TODO : gérer correctement les boucles dans le système de fichiers (liens durs, ...)
if ($entrée == '..') continue;
self::supprimer($chemin_fs . '/' . $entrée, $récursif);
}
$d->close();
rmdir($chemin_fs);
}
} else if (is_dir($chemin_fs)) {
rmdir($chemin_fs);
}
}
public static function lire($chemin_fs) {
@ -34,7 +39,7 @@ class Système_fichiers {
public static function écrire($chemin_fs, $données) {
$d = dirname($chemin_fs);
if (!is_dir($d) || self::créer_dossier($d)) {
if (!is_dir($d) && !self::créer_dossier($d)) {
return Erreur::écriture("Impossible d'écrire dans $chemin_fs : le dossier $d n'existe pas");
}
return file_put_contents($chemin_fs, $données);