From ffb4f1e1826a8fddd5e3e241ca97124db6fd9ac7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Georges=20Dup=C3=A9ron?= Date: Wed, 4 Aug 2010 21:41:39 +0200 Subject: [PATCH] Gestion d'erreur plus souple. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Les erreurs sont convertibles en string pour avoir une valeur par défaut, si on ignore l'erreur. --- __cms__/code/securite/erreur.php | 18 ++++++++++++++++++ __cms__/code/stockage/stockage.php | 5 ++--- __cms__/code/stockage/systeme-fichiers.php | 2 +- 3 files changed, 21 insertions(+), 4 deletions(-) diff --git a/__cms__/code/securite/erreur.php b/__cms__/code/securite/erreur.php index 259e37d..d5e406c 100644 --- a/__cms__/code/securite/erreur.php +++ b/__cms__/code/securite/erreur.php @@ -1,6 +1,10 @@ @@ -22,6 +26,20 @@ class Erreur { //echo "\n"; debug_print_backtrace(); exit; } + + public static function lecture($message) { + $t = new self("lecture", $message); + } + + public function __construct($type, $message, $string = "[debug:erreur]") { + $this->type = $type; + $this->message = $message; + $this->string = $string; + } + + public function __toString() { + return $this->string; + } } ?> \ No newline at end of file diff --git a/__cms__/code/stockage/stockage.php b/__cms__/code/stockage/stockage.php index b717bad..86ce1a6 100644 --- a/__cms__/code/stockage/stockage.php +++ b/__cms__/code/stockage/stockage.php @@ -73,8 +73,7 @@ class Stockage { if ($forcer_permissions || Permissions::vérifier_permission($chemin, "get_prop")) { return Système_fichiers::lire(self::fichier_prop($chemin, $prop)); } else { - Erreur::fatale("Permission non accordée pour la lecture de chemin: " . $chemin->get() . " propriété: " . $prop); - // return false; + return Erreur::lecture("Permission non accordée pour la lecture de chemin: " . $chemin->get() . " propriété: " . $prop); } } @@ -84,7 +83,7 @@ class Stockage { if (Permissions::vérifier_permission($chemin, "get_prop")) { return Système_fichiers::envoyer_fichier_directement(self::fichier_prop($chemin, $prop)); } else { - return false; + return Erreur::lecture("Permission non accordée pour la lecture de chemin: " . $chemin->get() . " propriété: " . $prop); } } diff --git a/__cms__/code/stockage/systeme-fichiers.php b/__cms__/code/stockage/systeme-fichiers.php index 7d73859..82eca55 100644 --- a/__cms__/code/stockage/systeme-fichiers.php +++ b/__cms__/code/stockage/systeme-fichiers.php @@ -25,7 +25,7 @@ class Système_fichiers { } public static function lire($chemin_fs) { - if (!file_exists($chemin_fs)) Erreur::fatale("Ne peut lire le fichier " . $chemin_fs); // return false; + if (!file_exists($chemin_fs)) return Erreur::lecture("Ne peut lire le fichier " . $chemin_fs); return file_get_contents($chemin_fs); }