www

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

commit ffb4f1e1826a8fddd5e3e241ca97124db6fd9ac7
parent 7a27127c24218fa1897267a69c5cad041b566e63
Author: Georges Dupéron <jahvascriptmaniac+github@free.fr>
Date:   Wed,  4 Aug 2010 21:41:39 +0200

Gestion d'erreur plus souple.

Les erreurs sont convertibles en string pour avoir une valeur par défaut, si on ignore l'erreur.

Diffstat:
M__cms__/code/securite/erreur.php | 18++++++++++++++++++
M__cms__/code/stockage/stockage.php | 5++---
M__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 @@ -1,6 +1,10 @@ <?php class Erreur { + public $type = "erreur"; + public $message = "erreur"; + public $string = ""; + public static function fatale($message) { echo '<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> @@ -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 @@ -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 @@ -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); }