1,61 → 1,23 |
<?php |
/*vim: set expandtab tabstop=4 shiftwidth=4: */ |
// +------------------------------------------------------------------------------------------------------+ |
// | PHP version 5.0.4 | |
// +------------------------------------------------------------------------------------------------------+ |
// | Copyright (C) 2005 Tela Botanica (accueil@tela-botanica.org) | |
// +------------------------------------------------------------------------------------------------------+ |
// | This file is part of eFlore-Debogage. | |
// | | |
// | Foobar is free software; you can redistribute it and/or modify | |
// | it under the terms of the GNU General Public License as published by | |
// | the Free Software Foundation; either version 2 of the License, or | |
// | (at your option) any later version. | |
// | | |
// | Foobar is distributed in the hope that it will be useful, | |
// | but WITHOUT ANY WARRANTY; without even the implied warranty of | |
// | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
// | GNU General Public License for more details. | |
// | | |
// | You should have received a copy of the GNU General Public License | |
// | along with Foobar; if not, write to the Free Software | |
// | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | |
// +------------------------------------------------------------------------------------------------------+ |
// CVS : $Id$ |
// declare(encoding='UTF-8'); |
/** |
* Classe de gestion des erreurs. |
* |
* classe de gestion des erreurs. |
* |
* |
*@package eFlore |
*@subpackage Debogage |
//Auteur original : |
*@author Jean-Pascal MILCENT <jpm@tela-botanica.org> |
//Autres auteurs : |
*@author aucun |
*@copyright Tela-Botanica 2000-2005 |
*@version $Revision$ $Date$ |
// +------------------------------------------------------------------------------------------------------+ |
* PHP Version 5 |
* |
* @category Class |
* @package Framework |
* @author Jean-Pascal Milcent <jpm@tela-botanica.org> |
* @copyright 2009 Tela-Botanica |
* @license http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt Licence CECILL |
* @license http://www.gnu.org/licenses/gpl.html Licence GNU-GPL |
* @version SVN: $$Id$$ |
* @link /doc/framework/ |
* |
*/ |
|
// +------------------------------------------------------------------------------------------------------+ |
// | ENTETE du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
|
|
// +------------------------------------------------------------------------------------------------------+ |
// | CORPS du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
|
|
/** |
* Classe GestionnaireErreur |
* |
* Gérer les erreurs PHP et SQL. |
*/ |
class GestionnaireErreur |
{ |
/*** Attributes: ***/ |
/*** Attributs: ***/ |
|
/** |
* Permet de savoir si on utilise PHP en ligne de commande dans une console (PHP-CLI) ou en mode module de serveur. |
70,14 → 32,14 |
private $erreurs; |
|
/** |
* Permet de savoir si on veut faire apparaître ou pas le contexte de l'erreur, |
* c'est à dire le contenu des variables. |
* Permet de savoir si on veut faire apparaître ou pas le contexte de l'erreur, |
* c'est à dire le contenu des variables. |
* @access private |
*/ |
private $contexte; |
|
/** |
* Contient le niveau d'erreur courant. Celui que l'on donne à la fonction |
* Contient le niveau d'erreur courant. Celui que l'on donne à la fonction |
* error_reporting(). |
* @access private |
*/ |
106,7 → 68,7 |
} |
|
/** |
* Fonction d'accès au singleton |
* Fonction d'accès au singleton |
* @return GestionnaireErreur le gestionnaire d'erreurs courant |
*/ |
public static function getInstance() |
120,7 → 82,7 |
|
/*** Accesseurs: ***/ |
/** |
* Récupère le tableau des erreurs. |
* Récupère le tableau des erreurs. |
* |
* @return array |
* @access public |
130,7 → 92,7 |
} |
|
/** |
* Ajoute une erreur à la liste. |
* Ajoute une erreur à la liste. |
* |
* @param array une_erreur |
* @return void |
141,7 → 103,7 |
} |
|
/** |
* Récupère la valeur du contexte. |
* Récupère la valeur du contexte. |
* |
* @return boolean |
* @access public |
151,7 → 113,7 |
} |
|
/** |
* Définit si oui ou non le contexte sera affiché. |
* Définit si oui ou non le contexte sera affiché. |
* |
* @param boolean un_contexte |
* @return void |
162,7 → 124,7 |
} |
|
/** |
* Récupère le niveau d'erreur courrant. |
* Récupère le niveau d'erreur courrant. |
* |
* @return int le niveau d'erreur courrant. |
* @access public |
172,7 → 134,7 |
} |
|
/** |
* Définit le niveau d'erreur courrant. |
* Définit le niveau d'erreur courrant. |
* |
* @param int un niveau d'erreur. |
* @return void |
183,7 → 145,7 |
} |
|
/** |
* Définit le niveau d'erreur courrant (synonyme fonction precedente) |
* Définit le niveau d'erreur courrant (synonyme fonction precedente) |
* |
* @param int un niveau d'erreur. |
* @return void |
194,7 → 156,7 |
} |
|
|
/*** Méthodes : ***/ |
/*** Méthodes : ***/ |
|
/** |
* |
209,7 → 171,7 |
public function gererErreur($niveau, $message, $fichier, $ligne, $contexte) |
{ |
$aso_erreur = array(); |
// Nous vérifions si nous affichons ou pas l'erreur en fonction du niveau demandé |
// Nous vérifions si nous affichons ou pas l'erreur en fonction du niveau demandé |
if ( $niveau <= $this->getNiveauErreurCourant() ) { |
$aso_erreur['niveau'] = $niveau; |
switch ($niveau) { |
234,7 → 196,7 |
|
echo print_r($this->erreurs,true) ; |
exit() ; |
// Si nous avons à faire à une erreur et non à un warning ou une notice, nous arrêtons l'exécution du script |
// Si nous avons affaire à une erreur et non à un warning ou une notice, nous arrêtons l'exécution du script |
switch ($niveau) { |
case E_ERROR : |
case E_USER_ERROR : |
244,7 → 206,7 |
} |
|
/** |
* Retourne l'erreur PHP formatée en XHTML. |
* Retourne l'erreur PHP formatée en XHTML. |
* |
* @return string |
* @access public |
309,7 → 271,7 |
} |
|
/** |
* Retourne l'erreur SQL formatée en XHTML. |
* Retourne l'erreur SQL formatée en XHTML. |
* |
* @param string fichier |
* @param int ligne |
327,7 → 289,7 |
case 'cli' : |
$retour .= 'ERREUR SQL '."\n"; |
$retour .= 'Fichier : '.$fichier."\n"; |
$retour .= 'Méthode : '.$methode."\n"; |
$retour .= 'Méthode : '.$methode."\n"; |
$retour .= 'Message : '.$message."\n"; |
if (!is_null($requete)) { |
$retour .= 'Requete : '."\n"; |
347,7 → 309,7 |
$retour .= '<dt> Fichier : </dt> '; |
$retour .= '<dd> '.$fichier.'</dd>'."\n"; |
|
$retour .= '<dt> Méthode : </dt> '; |
$retour .= '<dt> Méthode : </dt> '; |
$retour .= '<dd> '.$methode.'</dd>'."\n"; |
|
$retour .= '<dt> Message erreur : </dt> '; |