Subversion Repositories Applications.gtt

Rev

Rev 10 | Go to most recent revision | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 10 Rev 48
1
<?php
1
<?php
2
/*vim: set expandtab tabstop=4 shiftwidth=4: */ 
2
/*vim: set expandtab tabstop=4 shiftwidth=4: */
3
// +------------------------------------------------------------------------------------------------------+
3
// +------------------------------------------------------------------------------------------------------+
4
// | PHP version 5.0.4                                                                                    |
4
// | PHP version 5.0.4                                                                                    |
5
// +------------------------------------------------------------------------------------------------------+
5
// +------------------------------------------------------------------------------------------------------+
6
// | Copyright (C) 2005 Tela Botanica (accueil@tela-botanica.org)                                         |
6
// | Copyright (C) 2005 Tela Botanica (accueil@tela-botanica.org)                                         |
7
// +------------------------------------------------------------------------------------------------------+
7
// +------------------------------------------------------------------------------------------------------+
8
// | This file is part of eFlore-Debogage.                                                                |
8
// | This file is part of eFlore-Debogage.                                                                |
9
// |                                                                                                      |
9
// |                                                                                                      |
10
// | Foobar is free software; you can redistribute it and/or modify                                       |
10
// | Foobar is free software; you can redistribute it and/or modify                                       |
11
// | it under the terms of the GNU General Public License as published by                                 |
11
// | it under the terms of the GNU General Public License as published by                                 |
12
// | the Free Software Foundation; either version 2 of the License, or                                    |
12
// | the Free Software Foundation; either version 2 of the License, or                                    |
13
// | (at your option) any later version.                                                                  |
13
// | (at your option) any later version.                                                                  |
14
// |                                                                                                      |
14
// |                                                                                                      |
15
// | Foobar is distributed in the hope that it will be useful,                                            |
15
// | Foobar is distributed in the hope that it will be useful,                                            |
16
// | but WITHOUT ANY WARRANTY; without even the implied warranty of                                       |
16
// | but WITHOUT ANY WARRANTY; without even the implied warranty of                                       |
17
// | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the                                        |
17
// | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the                                        |
18
// | GNU General Public License for more details.                                                         |
18
// | GNU General Public License for more details.                                                         |
19
// |                                                                                                      |
19
// |                                                                                                      |
20
// | You should have received a copy of the GNU General Public License                                    |
20
// | You should have received a copy of the GNU General Public License                                    |
21
// | along with Foobar; if not, write to the Free Software                                                |
21
// | along with Foobar; if not, write to the Free Software                                                |
22
// | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA                            |
22
// | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA                            |
23
// +------------------------------------------------------------------------------------------------------+
23
// +------------------------------------------------------------------------------------------------------+
24
// CVS : $Id: GestionnaireErreur.class.php,v 1.1 2005/11/15 17:33:49 jp_milcent Exp $
24
// CVS : $Id: GestionnaireErreur.class.php,v 1.1 2005/11/15 17:33:49 jp_milcent Exp $
25
/**
25
/**
26
* Classe de gestion des erreurs.
26
* Classe de gestion des erreurs.
27
*
27
*
28
* 
28
*
29
*
29
*
30
*@package eFlore
30
*@package eFlore
31
*@subpackage Debogage
31
*@subpackage Debogage
32
//Auteur original :
32
//Auteur original :
33
*@author        Jean-Pascal MILCENT <jpm@tela-botanica.org>
33
*@author        Jean-Pascal MILCENT <jpm@tela-botanica.org>
34
//Autres auteurs :
34
//Autres auteurs :
35
*@author        aucun
35
*@author        aucun
36
*@copyright     Tela-Botanica 2000-2005
36
*@copyright     Tela-Botanica 2000-2005
37
*@version       $Revision: 1.1 $ $Date: 2005/11/15 17:33:49 $
37
*@version       $Revision: 1.1 $ $Date: 2005/11/15 17:33:49 $
38
// +------------------------------------------------------------------------------------------------------+
38
// +------------------------------------------------------------------------------------------------------+
39
*/
39
*/
40
 
40
 
41
// +------------------------------------------------------------------------------------------------------+
41
// +------------------------------------------------------------------------------------------------------+
42
// |                                            ENTETE du PROGRAMME                                       |
42
// |                                            ENTETE du PROGRAMME                                       |
43
// +------------------------------------------------------------------------------------------------------+
43
// +------------------------------------------------------------------------------------------------------+
44
 
44
 
45
 
45
 
46
// +------------------------------------------------------------------------------------------------------+
46
// +------------------------------------------------------------------------------------------------------+
47
// |                                            CORPS du PROGRAMME                                        |
47
// |                                            CORPS du PROGRAMME                                        |
48
// +------------------------------------------------------------------------------------------------------+
48
// +------------------------------------------------------------------------------------------------------+
49
 
49
 
50
 
50
 
51
/**
51
/**
52
 * Classe GestionnaireErreur
52
 * Classe GestionnaireErreur
53
 * 
53
 *
54
 * Gérer les erreurs PHP et SQL.
54
 * Gérer les erreurs PHP et SQL.
55
 */
55
 */
56
class GestionnaireErreur
56
class GestionnaireErreur {
57
{
-
 
58
	/*** Attributes: ***/
57
	/*** Attributes: ***/
59
 
58
 
60
	/**
59
	/**
61
	 * Contient la liste des erreurs.
60
	* Contient la liste des erreurs.
62
	 * @access private
61
	* @access private
63
	 */
62
	*/
64
	private $erreurs;
63
	private $erreurs;
65
 
64
 
66
	/**
65
	/**
67
	 * Permet de savoir si on veut faire apparaître ou pas le contexte de l'erreur,
66
	* Permet de savoir si on veut faire apparaître ou pas le contexte de l'erreur,
68
	 * c'est à dire le contenu des variables.
67
	* c'est à dire le contenu des variables.
69
	 * @access private
68
	* @access private
70
	 */
69
	*/
71
	private $contexte;
70
	private $contexte;
72
	
71
 
73
	/**
72
	/**
-
 
73
	* Permet de savoir si on veut faire apparaître ou pas les erreurs Pear.
-
 
74
	* @access private
-
 
75
	*/
-
 
76
	private $pear;
-
 
77
 
-
 
78
	/**
-
 
79
	* Chaine de caractères permettant d'identifier les erreurs de la bibliothèque Pear.
-
 
80
	* @access private
-
 
81
	*/
-
 
82
	private $pear_chaine;
-
 
83
 
-
 
84
	/**
74
	 * Contient le niveau d'erreur courrant. Celui que l'on donne à la fonction
85
	* Contient le niveau d'erreur courrant. Celui que l'on donne à la fonction
75
	 * error_reporting().
86
	* error_reporting().
76
	 * @access private
87
	* @access private
77
	 */
88
	*/
78
	private $niveau_erreur_courrant;
89
	private $niveau_erreur_courrant;
79
	
90
 
80
	/*** Constructeur: ***/
91
	/*** Constructeur: ***/
81
	
92
 
82
	/**
93
	/**
83
	 * Construit le gestionnaire d'erreur.
94
	* Construit le gestionnaire d'erreur.
84
	 *
95
	*
85
	 * @return void
96
	* @return void
86
	 * @access public
97
	* @access public
87
	 */
98
	*/
88
	public function __construct( $contexte = FALSE ) {
99
	public function __construct($bool_contexte = false, $int_niveau = 2048, $bool_pear = false, $str_pear = '')
-
 
100
	{
89
		$this->erreurs = array();
101
		$this->erreurs = array();
90
		$this->setContexte($contexte);
102
		$this->setContexte($bool_contexte);
-
 
103
		$this->setNiveauErreurCourrant($int_niveau);
-
 
104
		$this->setPear($bool_pear);
-
 
105
		$this->setPearChaine($str_pear);
91
		set_error_handler(array($this, 'gererErreur'));
106
		set_error_handler(array($this, 'gererErreur'));
92
	} // end of member function __construct
107
	} // end of member function __construct
93
	
108
 
94
	
109
 
95
	/*** Destructeur: ***/
110
	/*** Destructeur: ***/
96
	public function __destruct()
111
	public function __destruct()
97
	{
112
	{
98
		echo $this->retournerErreur();
113
		echo $this->retournerErreur();
99
	}
114
	}
100
		
115
 
101
	/*** Accesseurs: ***/
116
	/*** Accesseurs: ***/
102
	
117
 
103
	/**
118
	/**
104
	 * Récupère le tableau des erreurs.
119
	* Récupère le tableau des erreurs.
105
	 *
120
	*
106
	 * @return array
121
	* @return array
107
	 * @access public
122
	* @access public
108
	 */
123
	*/
109
	public function getErreur( ) {
124
	public function getErreur()
-
 
125
	{
110
		return $this->erreurs;
126
		return $this->erreurs;
111
	}
127
	}
112
 
128
 
113
	/**
129
	/**
114
	 * Ajoute une erreur à la liste.
130
	* Ajoute une erreur à la liste.
115
	 *
131
	*
116
	 * @param array une_erreur 	 
132
	* @param array une_erreur
117
	 * @return void
133
	* @return void
118
	 * @access public
134
	* @access public
119
	 */
135
	*/
120
	public function setErreur( $une_erreur ) {
136
	public function setErreur($une_erreur)
-
 
137
	{
121
		$tab_erreurs =& $this->getErreur();
138
		$tab_erreurs =& $this->getErreur();
122
		array_push($tab_erreurs, $une_erreur);
139
		array_push($tab_erreurs, $une_erreur);
123
	}
140
	}
124
 
141
 
125
	/**
142
	/**
126
	 * Récupère la valeur du contexte.
143
	* Récupère la valeur du contexte.
127
	 *
144
	*
128
	 * @return boolean
145
	* @return boolean
129
	 * @access public
146
	* @access public
130
	 */
147
	*/
131
	public function getContexte( ) {
148
	public function getContexte()
-
 
149
	{
132
		return $this->contexte;
150
		return $this->contexte;
133
	}
151
	}
134
 
152
 
135
	/**
153
	/**
136
	 * Définit si oui ou non le contexte sera affiché.
154
	* Définit si oui ou non le contexte sera affiché.
137
	 *
155
	*
138
	 * @param boolean un_contexte
156
	* @param boolean un_contexte
139
	 * @return  void
157
	* @return  void
140
	 * @access public
158
	* @access public
141
	 */
159
	*/
142
	public function setContexte( $un_contexte ) {
160
	public function setContexte( $un_contexte )
-
 
161
	{
143
		$this->contexte = $un_contexte;
162
		$this->contexte = $un_contexte;
144
	}
163
	}
145
	
164
 
146
	/**
165
	/**
-
 
166
	* Récupère la valeur de l'attribut Pear.
-
 
167
	*
-
 
168
	* @return boolean true pour afficher les erreurs Pear sinon false.
-
 
169
	* @access public
-
 
170
	*/
-
 
171
	public function getPear()
-
 
172
	{
-
 
173
		return $this->pear;
-
 
174
	}
-
 
175
 
-
 
176
	/**
-
 
177
	* Définit si oui ou non les erreurs Pear seront affichées.
-
 
178
	*
-
 
179
	* @param boolean true pour afficher les erreurs Pear sinon false.
-
 
180
	* @return  void
-
 
181
	* @access public
-
 
182
	*/
-
 
183
	public function setPear( $p )
-
 
184
	{
-
 
185
		$this->pear = $p;
-
 
186
	}
-
 
187
 
-
 
188
	/**
-
 
189
	* Récupère la valeur de l'attribut pear_chaine.
-
 
190
	*
-
 
191
	* @return string la chaine de caractère identifiant les erreurs Pear.
-
 
192
	* @access public
-
 
193
	*/
-
 
194
	public function getPearChaine()
-
 
195
	{
-
 
196
		return $this->pear_chaine;
-
 
197
	}
-
 
198
 
-
 
199
	/**
-
 
200
	* Définit la chaine de caractère identifiant les erreurs Pear.
-
 
201
	*
-
 
202
	* @param string la chaine de caractère identifiant les erreurs Pear.
-
 
203
	* @return  void
-
 
204
	* @access public
-
 
205
	*/
-
 
206
	public function setPearChaine( $pc )
-
 
207
	{
-
 
208
		$this->pear_chaine = $pc;
-
 
209
	}
-
 
210
 
-
 
211
 
-
 
212
	/**
147
	 * Récupère le niveau d'erreur courrant.
213
	* Récupère le niveau d'erreur courrant.
148
	 *
214
	*
149
	 * @return int le niveau d'erreur courrant.
215
	* @return int le niveau d'erreur courrant.
150
	 * @access public
216
	* @access public
151
	 */
217
	*/
152
	public function getNiveauErreurCourrant( ) {
218
	public function getNiveauErreurCourrant()
-
 
219
	{
153
		return (int)$this->niveau_erreur_courrant;
220
		return (int)$this->niveau_erreur_courrant;
154
	}
221
	}
155
 
222
 
156
	/**
223
	/**
157
	 * Définit le niveau d'erreur courrant.
224
	* Définit le niveau d'erreur courrant.
158
	 *
225
	*
159
	 * @param int un niveau d'erreur.
226
	* @param int un niveau d'erreur.
160
	 * @return void
227
	* @return void
161
	 * @access public
228
	* @access public
162
	 */
229
	*/
163
	public function setNiveauErreurCourrant( $niveau ) {
230
	public function setNiveauErreurCourrant($niveau)
-
 
231
	{
164
		$this->niveau_erreur_courrant = $niveau;
232
		$this->niveau_erreur_courrant = $niveau;
165
	}
233
	}
166
	
234
 
167
	/*** Méthodes : ***/
235
	/*** Méthodes : ***/
168
	
236
 
169
	/**
237
	/**
170
	 *
238
	*
171
	 * @param int niveau
239
	* @param int niveau
172
	 * @param string message
240
	* @param string message
173
	 * @param string fichier
241
	* @param string fichier
174
	 * @param int ligne
242
	* @param int ligne
175
	 * @param boolean contexte
243
	* @param boolean contexte
176
	 * @return void
244
	* @return void
177
	 * @access public
245
	* @access public
178
	 */
246
	*/
179
	public function gererErreur( $niveau,  $message,  $fichier,  $ligne,  $contexte ) {
247
	public function gererErreur( $niveau,  $message,  $fichier,  $ligne,  $contexte )
-
 
248
	{
180
		$aso_erreur = array();
249
		$aso_erreur = array();
181
		// Nous vérifions si nous affichons ou pas l'erreur en fonction du niveau demandé
250
		// Nous vérifions si nous affichons ou pas l'erreur en fonction du niveau demandé
182
		if ( $niveau <= $this->getNiveauErreurCourrant() ) {
251
		if ( $niveau <= $this->getNiveauErreurCourrant() ) {
183
			$aso_erreur['niveau'] = $niveau;
252
			$aso_erreur['niveau'] = $niveau;
184
			$aso_erreur['message'] = $message;
253
			$aso_erreur['message'] = $message;
185
			$aso_erreur['fichier'] = $fichier;
254
			$aso_erreur['fichier'] = $fichier;
186
			$aso_erreur['ligne'] = $ligne;
255
			$aso_erreur['ligne'] = $ligne;
187
			if ($this->getContexte()) {
256
			if ($this->getContexte()) {
188
				$aso_erreur['contexte'] = $contexte;
257
				$aso_erreur['contexte'] = $contexte;
189
			}
258
			}
190
			$this->setErreur($aso_erreur);
259
			$this->setErreur($aso_erreur);
191
		}
260
		}
192
		
261
 
193
		// Si nous avons à faire à une erreur et non à un warning ou une notice, nous arrêtons l'exécution du script
262
		// Si nous avons à faire à une erreur et non à un warning ou une notice, nous arrêtons l'exécution du script
194
		if ($niveau == E_USER_ERROR) {
263
		if ($niveau == E_USER_ERROR) {
195
			echo 	$this->retournerErreur();
264
			echo 	$this->retournerErreur();
196
			exit(1);
265
			exit(1);
197
		}
266
		}
198
	} // end of member function gererErreur
267
	} // end of member function gererErreur
199
 
268
 
200
	/**
269
	/**
201
	 * Retourne l'erreur PHP formatée en XHTML.
270
	 * Retourne l'erreur PHP formatée en XHTML.
202
	 *
271
	 *
203
	 * @return string
272
	 * @return string
204
	 * @access public
273
	 * @access public
205
	 */
274
	 */
206
	public function retournerErreur() {
275
	public function retournerErreur()
-
 
276
	{
207
		$retour = '';
277
		$retour = '';
-
 
278
		$erreur_pear_nbre = 0;
208
		foreach($this->getErreur() as $aso_erreur) {
279
		foreach($this->getErreur() as $aso_erreur) {
209
			if ('<!-- BEGIN sql -->' == substr($aso_erreur['message'], 0, 18)) {
280
			if ('<!-- BEGIN sql -->' == substr($aso_erreur['message'], 0, 18)) {
210
				$retour .= $aso_erreur['message'];
281
				$retour .= $aso_erreur['message'];
211
				continue;
282
				continue;
212
			}
283
			}
-
 
284
			// Nous testons les erreurs PEAR pour ne pas en tenir compte
-
 
285
			if (!$this->getPear() && stristr($aso_erreur['fichier'], $this->getPearChaine())) {
-
 
286
				$erreur_pear_nbre++;
-
 
287
			} else {
213
			$retour .= '<p class="erreur">'."\n";
288
				$retour .= '<p class="attention">'."\n";
214
			$retour .= '<strong>ERREUR</strong><br />'."\n";
289
				$retour .= '<strong>ERREUR</strong><br />'."\n";
215
			$retour .= '<strong>Niveau : </strong>'.$aso_erreur['niveau'].'<br />'."\n";
290
				$retour .= '<strong>Niveau : </strong>'.$aso_erreur['niveau'].'<br />'."\n";
216
			$retour .= '<strong>Message : </strong>'.$aso_erreur['message'].'<br />'."\n";
291
				$retour .= '<strong>Message : </strong>'.$aso_erreur['message'].'<br />'."\n";
217
			$retour .= '<strong>Fichier : </strong>'.$aso_erreur['fichier'].'<br />'."\n";
292
				$retour .= '<strong>Fichier : </strong>'.$aso_erreur['fichier'].'<br />'."\n";
218
			$retour .= '<strong>Ligne : </strong>'.$aso_erreur['ligne'].'<br />'."\n";
293
				$retour .= '<strong>Ligne : </strong>'.$aso_erreur['ligne'].'<br />'."\n";
219
			if ($this->getContexte()) {
294
				if ($this->getContexte()) {
220
                $retour .= '<pre>'."\n";
295
					$retour .= '<pre>'."\n";
221
                $retour .= '<stong>Contexte : </stong>'."\n".print_r($aso_erreur['contexte'], true)."\n";
296
					$retour .= '<stong>Contexte : </stong>'."\n".print_r($aso_erreur['contexte'], true)."\n";
222
                $retour .= '</pre>'."\n";
297
					$retour .= '</pre>'."\n";
223
            }
298
				}
224
            $retour .= '</p>'."\n";
299
				$retour .= '</p>'."\n";
-
 
300
			}
-
 
301
		}
-
 
302
		if ($erreur_pear_nbre != 0) {
-
 
303
			$retour .= '<p class="attention"><strong>Nombre d\'erreurs PEAR : </strong>'.$erreur_pear_nbre.'</p>'."\n";
225
		}
304
		}
226
		return $retour;
305
		return $retour;
227
	} // end of member function retournerErreur
306
	} // end of member function retournerErreur
228
 
307
 
229
	/**
308
	/**
230
	 * Retourne l'erreur SQL formatée.
309
	* Retourne l'erreur SQL formatée.
231
	 *
310
	*
232
	 * @param string fichier
311
	* @param string fichier
233
	 * @param int ligne
312
	* @param int ligne
234
	 * @param string message
313
	* @param string message
235
	 * @param string requete
314
	* @param string requete
236
	 * @param string autres
315
	* @param string autres
237
	 * @return string
316
	* @return string
238
	 * @static
317
	* @static
239
	 * @access public
318
	* @access public
240
	 */
319
	*/
241
	public static function retournerErreurSql( $fichier,  $methode,  $message,  $requete = NULL,  $autres = NULL ) {
320
	public static function retournerErreurSql( $fichier,  $methode,  $message,  $requete = NULL,  $autres = NULL )
-
 
321
	{
242
		$retour = '<!-- BEGIN sql -->';
322
		$retour = '<!-- BEGIN sql -->';
243
		$retour .= '<div id="zone_erreur">'."\n";
323
		$retour .= '<div id="zone_erreur">'."\n";
244
		$retour .= '<h1 > ERREUR SQL </h1><br />'."\n";
324
		$retour .= '<h1 > ERREUR SQL </h1><br />'."\n";
245
		$retour .= '<dl>'."\n";
325
		$retour .= '<dl>'."\n";
246
		$retour .= '<dt> Fichier : </dt> ';
326
		$retour .= '<dt> Fichier : </dt> ';
247
		$retour .= '<dd> '.$fichier.'</dd>'."\n";
327
		$retour .= '<dd> '.$fichier.'</dd>'."\n";
248
		
328
 
249
		$retour .= '<dt> Méthode : </dt> ';
329
		$retour .= '<dt> Méthode : </dt> ';
250
		$retour .= '<dd> '.$methode.'</dd>'."\n";
330
		$retour .= '<dd> '.$methode.'</dd>'."\n";
251
		
331
 
252
		$retour .= '<dt> Message erreur : </dt> ';
332
		$retour .= '<dt> Message erreur : </dt> ';
253
		$retour .= '<dd> '.$message.'</dd>'."\n";
333
		$retour .= '<dd> '.$message.'</dd>'."\n";
254
		
334
 
255
		if (!is_null($requete)) {
335
		if (!is_null($requete)) {
256
			$retour .= '<dt> Requete : </dt> ';
336
			$retour .= '<dt> Requete : </dt> ';
257
			$retour .= '<dd> '.$requete.' </dd>'."\n";
337
			$retour .= '<dd> '.$requete.' </dd>'."\n";
258
    	}
338
    	}
259
    	
339
 
260
		if (!is_null($autres)) {
340
		if (!is_null($autres)) {
261
			$retour .= '<dt> Autres infos : </dt> ';
341
			$retour .= '<dt> Autres infos : </dt> ';
262
			$retour .= '<dd> '.$autres.' </dd>'."\n";
342
			$retour .= '<dd> '.$autres.' </dd>'."\n";
263
		}
343
		}
264
		$retour .= '</dl>'."\n";
344
		$retour .= '</dl>'."\n";
265
		$retour .= '</div>'."\n";
345
		$retour .= '</div>'."\n";
266
		$retour .= '<!-- END sql -->'."\n";
346
		$retour .= '<!-- END sql -->'."\n";
267
		
347
 
268
		return $retour;
348
		return $retour;
269
	} // end of member function retournerErreurSql
349
	} // end of member function retournerErreurSql
270
	
350
 
271
	/**
351
	/**
272
	 * Retourne l'erreur SQL formatée selon le format demandé.
352
	* Retourne l'erreur SQL formatée selon le format demandé.
273
	 *
353
	*
274
	 * @param string fichier
354
	* @param string fichier
275
	 * @param int ligne
355
	* @param int ligne
276
	 * @param string message
356
	* @param string message
277
	 * @param string format : txt.
357
	* @param string format : txt.
278
	 * @return string
358
	* @return string
279
	 * @static
359
	* @static
280
	 * @access public
360
	* @access public
281
	 */
361
	*/
282
	public static function formaterMessageErreur( $message, $fichier = null,  $ligne = null,  $format = 'txt' )
362
	public static function formaterMessageErreur( $message, $fichier = null,  $ligne = null,  $format = 'txt' )
283
	{
363
	{
284
		$retour = '';
364
		$retour = '';
285
		if ($format == 'txt') {
365
		if ($format == 'txt') {
286
			$retour .= "\n";
366
			$retour .= "\n";
287
			if (!is_null($fichier)) {
367
			if (!is_null($fichier)) {
288
				$retour .= "\t".'Fichier : '.$fichier."\n";
368
				$retour .= "\t".'Fichier : '.$fichier."\n";
289
			}
369
			}
290
			if (!is_null($ligne)) {
370
			if (!is_null($ligne)) {
291
				$retour .= "\t".'Ligne : '.$ligne."\n";
371
				$retour .= "\t".'Ligne : '.$ligne."\n";
292
			}
372
			}
293
			$retour .= "\t".'Message : '.$message."\n";
373
			$retour .= "\t".'Message : '.$message."\n";
294
		}
374
		}
295
		return $retour;
375
		return $retour;
296
	}
376
	}
297
} // end of GestionnaireErreur
-
 
-
 
377
}
298
 
378
 
299
/* +--Fin du code ----------------------------------------------------------------------------------------+
379
/* +--Fin du code ----------------------------------------------------------------------------------------+
300
*
380
*
301
* $Log: GestionnaireErreur.class.php,v $
-
 
302
* Revision 1.1  2005/11/15 17:33:49  jp_milcent
-
 
303
* Ajout de classe Système pour le débogage.
-
 
304
* Ces classes sont à améliorer!
-
 
305
*
-
 
306
* Revision 1.3  2005/10/10 07:28:07  jp_milcent
-
 
307
* Utilisation du webservice Yahoo-Image.
-
 
308
*
381
* $Log$
309
* Revision 1.2  2005/10/04 16:34:03  jp_milcent
-
 
310
* Début gestion de la chorologie.
-
 
311
* Ajout de la bibliothèque de cartographie (à améliorer!).
-
 
312
*
-
 
313
* Revision 1.1  2005/08/04 15:51:45  jp_milcent
-
 
314
* Implémentation de la gestion via DAO.
-
 
315
* Fin page d'accueil.
-
 
316
* Fin formulaire recherche taxonomique.
-
 
317
*
-
 
318
* Revision 1.3  2005/08/02 16:19:33  jp_milcent
-
 
319
* Amélioration des requetes de recherche de noms.
-
 
320
*
-
 
321
* Revision 1.2  2005/08/01 16:18:39  jp_milcent
-
 
322
* Début gestion résultat de la recherche par nom.
-
 
323
*
-
 
324
* Revision 1.1  2005/07/28 15:37:56  jp_milcent
-
 
325
* Début gestion des squelettes et de l'API eFlore.
-
 
326
*
-
 
327
*
382
*
328
* +-- Fin du code ----------------------------------------------------------------------------------------+
383
* +-- Fin du code ----------------------------------------------------------------------------------------+
329
*/
384
*/
330
?>
385
?>