Subversion Repositories Applications.projet

Rev

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

Rev 306 Rev 387
1
<?php
1
<?php
2
//vim: set expandtab tabstop=4 shiftwidth=4:
2
//vim: set expandtab tabstop=4 shiftwidth=4:
3
 
3
 
4
// Copyright (C) 1999-2006 Tela Botanica (accueil@tela-botanica.org)
4
// Copyright (C) 1999-2006 Tela Botanica (accueil@tela-botanica.org)
5
//
5
//
6
// Ce logiciel est un programme informatique servant à gérer du contenu et des
6
// Ce logiciel est un programme informatique servant � g�rer du contenu et des
7
// applications web.
7
// applications web.
8
                                                                                                      
8
                                                                                                      
9
// Ce logiciel est regi par la licence CeCILL soumise au droit francais et
9
// Ce logiciel est regi par la licence CeCILL soumise au droit francais et
10
// respectant les principes de diffusion des logiciels libres. Vous pouvez
10
// respectant les principes de diffusion des logiciels libres. Vous pouvez
11
// utiliser, modifier et/ou redistribuer ce programme sous les conditions
11
// utiliser, modifier et/ou redistribuer ce programme sous les conditions
12
// de la licence CeCILL telle que diffusee par le CEA, le CNRS et l'INRIA 
12
// de la licence CeCILL telle que diffusee par le CEA, le CNRS et l'INRIA 
13
// sur le site "http://www.cecill.info".
13
// sur le site "http://www.cecill.info".
14
 
14
 
15
// En contrepartie de l'accessibilite au code source et des droits de copie,
15
// En contrepartie de l'accessibilite au code source et des droits de copie,
16
// de modification et de redistribution accordes par cette licence, il n'est
16
// de modification et de redistribution accordes par cette licence, il n'est
17
// offert aux utilisateurs qu'une garantie limitee.  Pour les memes raisons,
17
// offert aux utilisateurs qu'une garantie limitee.  Pour les memes raisons,
18
// seule une responsabilite restreinte pese sur l'auteur du programme,  le
18
// seule une responsabilite restreinte pese sur l'auteur du programme,  le
19
// titulaire des droits patrimoniaux et les concedants successifs.
19
// titulaire des droits patrimoniaux et les concedants successifs.
20
 
20
 
21
// A cet egard  l'attention de l'utilisateur est attiree sur les risques
21
// A cet egard  l'attention de l'utilisateur est attiree sur les risques
22
// associes au chargement,  a l'utilisation,  a la modification et/ou au
22
// associes au chargement,  a l'utilisation,  a la modification et/ou au
23
// developpement et a la reproduction du logiciel par l'utilisateur etant 
23
// developpement et a la reproduction du logiciel par l'utilisateur etant 
24
// donne sa specificite de logiciel libre, qui peut le rendre complexe a 
24
// donne sa specificite de logiciel libre, qui peut le rendre complexe a 
25
// manipuler et qui le reserve donc a des developpeurs et des professionnels
25
// manipuler et qui le reserve donc a des developpeurs et des professionnels
26
// avertis possedant  des  connaissances  informatiques approfondies.  Les
26
// avertis possedant  des  connaissances  informatiques approfondies.  Les
27
// utilisateurs sont donc invites a charger  et  tester  l'adequation  du
27
// utilisateurs sont donc invites a charger  et  tester  l'adequation  du
28
// logiciel a leurs besoins dans des conditions permettant d'assurer la
28
// logiciel a leurs besoins dans des conditions permettant d'assurer la
29
// securite de leurs systemes et ou de leurs donnees et, plus generalement, 
29
// securite de leurs systemes et ou de leurs donnees et, plus generalement, 
30
// a l'utiliser et l'exploiter dans les memes conditions de securite. 
30
// a l'utiliser et l'exploiter dans les memes conditions de securite. 
31
 
31
 
32
// Le fait que vous puissiez acceder a cet en-tete signifie que vous avez 
32
// Le fait que vous puissiez acceder a cet en-tete signifie que vous avez 
33
// pris connaissance de la licence CeCILL, et que vous en avez accepte les
33
// pris connaissance de la licence CeCILL, et que vous en avez accepte les
34
// termes.
34
// termes.
35
// ----
35
// ----
36
// CVS : $Id: ezmlmAccessObject.class.php,v 1.6 2008-08-25 15:16:59 alexandre_tb Exp $
36
// CVS : $Id: ezmlmAccessObject.class.php,v 1.6 2008-08-25 15:16:59 alexandre_tb Exp $
37
 
37
 
38
/**
38
/**
39
* Application projet
39
* Application projet
40
*
40
*
41
* La classe ezmlmAccessObject
41
* La classe ezmlmAccessObject
42
*
42
*
43
*@package projet
43
*@package projet
44
//Auteur original :
44
//Auteur original :
45
*@author        Alexandre Granier <alexandre@tela-botanica.org>
45
*@author        Alexandre Granier <alexandre@tela-botanica.org>
46
//Autres auteurs :
46
//Autres auteurs :
47
*@author        Aucun
47
*@author        Aucun
48
*@copyright     Tela-Botanica 2000-2006
48
*@copyright     Tela-Botanica 2000-2006
49
*@version       $Revision: 1.6 $
49
*@version       $Revision: 1.6 $
50
// +------------------------------------------------------------------------------------------------------+
50
// +------------------------------------------------------------------------------------------------------+
51
*/
51
*/
52
 
52
 
53
/** Etend XML_Parser_Simple */
53
/** Etend XML_Parser_Simple */
54
require_once 'XML/Parser/Simple.php' ;
54
require_once 'XML/Parser/Simple.php' ;
55
 
55
 
56
/**
56
/**
57
 * Les codes erreurs
57
 * Les codes erreurs
58
 */
58
 */
59
 
59
 
60
define ('EZMLM_ACCESS_OBJECT_ACTION_NON_SUPPORTEE', 206) ;
60
define ('EZMLM_ACCESS_OBJECT_ACTION_NON_SUPPORTEE', 206) ;
61
/**
61
/**
62
 * classe ezmlmAccessObject parse les fichiers XML
62
 * classe ezmlmAccessObject parse les fichiers XML
63
 * issue de ezmlm
63
 * issue de ezmlm
64
 * 
64
 * 
65
 * @category XML  
65
 * @category XML  
66
 * @package projet
66
 * @package projet
67
 * @author alex  
67
 * @author alex  
68
 */
68
 */
69
 
69
 
70
class ezmlmAccessObject extends XML_Parser_Simple {
70
class ezmlmAccessObject extends XML_Parser_Simple {
71
	
71
	
72
	/**
72
	/**
73
	 * Le domaine de la liste
73
	 * Le domaine de la liste
74
	 */
74
	 */
75
	 
75
	 
76
	var $domaine ;
76
	var $domaine ;
77
	 
77
	 
78
	 /**
78
	 /**
79
	  * Le nom de la liste
79
	  * Le nom de la liste
80
	 */
80
	 */
81
	  
81
	  
82
	var $liste ;
82
	var $liste ;
83
	  
83
	  
84
	  /**
84
	  /**
85
	  * Les actions valides
85
	  * Les actions valides
86
	  */
86
	  */
87
	   
87
	   
88
	var $actions_supportees = array ('calendrier_messages',
88
	var $actions_supportees = array ('calendrier_messages',
89
									 'message',
89
									 'message',
90
									 'derniers_messages',
90
									 'derniers_messages',
91
									 'messages_auteur',
91
									 'messages_auteur',
92
									 'messages_mois',
92
									 'messages_mois',
93
									 'messages_thread',
93
									 'messages_thread',
94
									 'supprimer',
94
									 'supprimer',
95
									 'liste_abonnes',
95
									 'liste_abonnes',
96
									 'nombre_messages');
96
									 'nombre_messages');
97
	   
97
	   
98
	/**
98
	/**
99
	* l'action selectionnee
99
	* l'action selectionnee
100
	*/
100
	*/
101
	var $action ;
101
	var $action ;
102
	
102
	
103
	/**
103
	/**
104
	 * La langue 'fr-FR'
104
	 * La langue 'fr-FR'
105
	 */
105
	 */
106
	 var $langue ;
106
	 var $langue ;
107
	
107
	
108
	/**
108
	/**
109
	 * L'url de base
109
	 * L'url de base
110
	 */
110
	 */
111
	 var $url ;
111
	 var $url ;
112
	
112
	
113
	/**
113
	/**
114
	 * L'identifiant du repertoire
114
	 * L'identifiant du repertoire
115
	 */ 
115
	 */ 
116
	var $identifiant_repertoire ;
116
	var $identifiant_repertoire ;
117
	
117
	
118
	/**
118
	/**
119
	 * Identifiant message
119
	 * Identifiant message
120
	 */
120
	 */
121
	
121
	
122
	var $identifiant_message;
122
	var $identifiant_message;
123
 
123
 
124
	/**
124
	/**
125
	 * L'identifiant du repertoire
125
	 * L'identifiant du repertoire
126
	 */ 
126
	 */ 
127
	var $_numeroRepertoireSuivant ;
127
	var $_numeroRepertoireSuivant ;
128
	
128
	
129
	/**
129
	/**
130
	 * L'identifiant du repertoire
130
	 * L'identifiant du repertoire
131
	 */ 
131
	 */ 
132
	var $hash_auteur ;
132
	var $hash_auteur ;
133
	
133
	
134
	/**
134
	/**
135
	 * Le mois a afficher
135
	 * Le mois a afficher
136
	 */ 
136
	 */ 
137
	var $mois ;
137
	var $mois ;
138
	
138
	
139
	var $_numeraRepertoirePrecedent;
139
	var $_numeraRepertoirePrecedent;
140
	
140
	
141
	/**
141
	/**
142
	 * Identifiant message
142
	 * Identifiant message
143
	 */
143
	 */
144
	
144
	
145
	var $_numeroFichierSuivant;
145
	var $_numeroFichierSuivant;
146
	
146
	
147
	var $_numeroFichierPrecedent;
147
	var $_numeroFichierPrecedent;
148
	
148
	
149
	var $chemin_fichier_xml;
149
	var $chemin_fichier_xml;
150
	
150
	
151
	/**
151
	/**
152
	 * Creation de l'objet d'acces
152
	 * Creation de l'objet d'acces
153
	 * 
153
	 * 
154
	 */
154
	 */
155
	
155
	
156
	function ezmlmAccessObject ($action, $domaine, $liste, $langue = 'fr', $url = '') {
156
	function ezmlmAccessObject ($action, $domaine, $liste, $langue = 'fr', $url = '') {
157
		$this->XML_Parser_Simple(null, 'func') ;
157
		$this->XML_Parser_Simple(null, 'func') ;
158
		$this->action = $action ;
158
		$this->action = $action ;
159
		$this->domaine = $domaine ;
159
		$this->domaine = $domaine ;
160
		$this->liste = $liste ;
160
		$this->liste = $liste ;
161
		$this->langue = $langue ;
161
		$this->langue = $langue ;
162
		$this->url = $url ;
162
		$this->url = $url ;
163
	}
163
	}
164
	
164
	
165
	/**
165
	/**
166
	 * Gestion des balises
166
	 * Gestion des balises
167
	 * 
167
	 * 
168
	 * Cette methode specifie les balises reconnus par ezmlmAccessObject
168
	 * Cette methode specifie les balises reconnus par ezmlmAccessObject
169
	 * Elle remplace la methode handleElement de XML_Parser_Simple
169
	 * Elle remplace la methode handleElement de XML_Parser_Simple
170
	 * 
170
	 * 
171
	 * @access public
171
	 * @access public
172
	 * @param string nom de l'element (Voir la doc de PHP)
172
	 * @param string nom de l'element (Voir la doc de PHP)
173
	 * @param array attributes
173
	 * @param array attributes
174
	 * @param 
174
	 * @param 
175
	 * @link http://fr.php.net/manual/fr/ref.xml.php manuel
175
	 * @link http://fr.php.net/manual/fr/ref.xml.php manuel
176
	 */
176
	 */
177
	
177
	
178
	function handleElement_ezmlm_message ($name, $attribs, $data) {
178
	function handleElement_ezmlm_message ($name, $attribs, $data) {
179
		echo $data ;		
179
		echo $data ;		
180
	}
180
	}
181
	
181
	
182
	function handleElement_message_suivant ($name, $attribs, $data) {
182
	function handleElement_message_suivant ($name, $attribs, $data) {
183
		$this->_numeroRepertoireSuivant = $attribs['NUMERO_REPERTOIRE'] ;
183
		$this->_numeroRepertoireSuivant = $attribs['NUMERO_REPERTOIRE'] ;
184
		$this->_numeroFichierSuivant = $attribs['NUMERO'] ;
184
		$this->_numeroFichierSuivant = $attribs['NUMERO'] ;
185
	}
185
	}
186
	
186
	
187
	function handleElement_message_precedent ($name, $attribs, $data) {
187
	function handleElement_message_precedent ($name, $attribs, $data) {
188
		$this->_numeroRepertoirePrecedent = $attribs['NUMERO_REPERTOIRE'] ;
188
		$this->_numeroRepertoirePrecedent = $attribs['NUMERO_REPERTOIRE'] ;
189
		$this->_numeroFichierPrecedent = $attribs['NUMERO'] ;
189
		$this->_numeroFichierPrecedent = $attribs['NUMERO'] ;
190
	}
190
	}
191
	function handleElement_ezmlm_calendrier_messages ($name, $attribs, $data) { echo $data ; }
191
	function handleElement_ezmlm_calendrier_messages ($name, $attribs, $data) { echo $data ; }
192
	
192
	
193
	function handleElement_ezmlm_derniers_messages ($name, $attribs, $data) { echo $data ; }
193
	function handleElement_ezmlm_derniers_messages ($name, $attribs, $data) { echo $data ; }
194
	
194
	
195
	function handleElement_ezmlm_messages_auteur ($name, $attribs, $data) { echo $data ; }
195
	function handleElement_ezmlm_messages_auteur ($name, $attribs, $data) { echo $data ; }
196
	
196
	
197
	function handleElement_ezmlm_messages_mois ($name, $attribs, $data) { echo $data ; }
197
	function handleElement_ezmlm_messages_mois ($name, $attribs, $data) { echo $data ; }
198
	
198
	
199
	function handleElement_ezmlm_messages_thread ($name, $attribs, $data) { echo $data ; }
199
	function handleElement_ezmlm_messages_thread ($name, $attribs, $data) { echo $data ; }
200
	
200
	
201
	function handleElement_ezmlm_liste_abonnes ($name, $attribs, $data) { echo $data ; }
201
	function handleElement_ezmlm_liste_abonnes ($name, $attribs, $data) { echo $data ; }
202
	
202
	
203
	function handleElement_ezmlm_nombre_messages ($name, $attribs, $data) { echo $data ; }
203
	function handleElement_ezmlm_nombre_messages ($name, $attribs, $data) { echo $data ; }
204
	/**
204
	/**
205
	 * Choix de l'action
205
	 * Choix de l'action
206
	 * 
206
	 * 
207
	 * Liste des actions :
207
	 * Liste des actions :
208
	 * 'calendrier_messages'
208
	 * 'calendrier_messages'
209
	 * 
209
	 * 
210
	 * @access public
210
	 * @access public
211
	 * @param string	une action qui doit etre supporté
211
	 * @param string	une action qui doit etre support�
212
	 */
212
	 */
213
	
213
	
214
	function setAction($action) {
214
	function setAction($action) {
215
		// verification de l'action 
215
		// verification de l'action 
216
		if (!in_array($action, $this->actions_supportees)) {
216
		if (!in_array($action, $this->actions_supportees)) {
217
			return raiseError(EZMLM_ACCESS_OBJECT_ACTION_NON_SUPPORTEE) ;	
217
			return raiseError(EZMLM_ACCESS_OBJECT_ACTION_NON_SUPPORTEE) ;	
218
		}
218
		}
219
		$this->action = $action ;
219
		$this->action = $action ;
220
		
220
		
221
		// Libere les ressources (XML_Parser::free)
221
		// Libere les ressources (XML_Parser::free)
222
		$this->free();
222
		$this->free();
223
		
223
		
224
		// On vide l url
224
		// On vide l url
225
		//$this->url = '';
225
		//$this->url = '';
226
		$this->chemin_fichier_xml = '';
226
		$this->chemin_fichier_xml = '';
227
		// Charge la nouvelle action
227
		// Charge la nouvelle action
228
		$this->load() ;
228
		$this->load() ;
229
	}
229
	}
230
	
230
	
231
	/**
231
	/**
232
	 * Charge une action
232
	 * Charge une action
233
	 * 
233
	 * 
234
	 * cad affecte un fichier xml au parser
234
	 * cad affecte un fichier xml au parser
235
	 * 
235
	 * 
236
	 * @access public
236
	 * @access public
237
	 */
237
	 */
238
	function load() {
238
	function load() {
239
		$this->chemin_fichier_xml = PROJET_SERVEUR_VPOPMAIL.'/'.$this->action.'.php?domaine='.
239
		$this->chemin_fichier_xml = PROJET_SERVEUR_VPOPMAIL.'/'.$this->action.'.php?domaine='.
240
                         $this->domaine.'&liste='.$this->liste.'&langue='.
240
                         $this->domaine.'&liste='.$this->liste.'&langue='.
241
                         $this->langue ;
241
                         $this->langue ;
242
		if ($this->url != '') $this->chemin_fichier_xml.= '&url='.urlencode($this->url) ; 
242
		if ($this->url != '') $this->chemin_fichier_xml.= '&url='.urlencode($this->url) ; 
243
		if (isset ($this->identifiant_repertoire)) 
243
		if (isset ($this->identifiant_repertoire)) 
244
			$this->chemin_fichier_xml .= '&actionargs[]='.$this->identifiant_repertoire ;
244
			$this->chemin_fichier_xml .= '&actionargs[]='.$this->identifiant_repertoire ;
245
		if (isset ($this->identifiant_message)) 
245
		if (isset ($this->identifiant_message)) 
246
			$this->chemin_fichier_xml .= '&actionargs[]='.$this->identifiant_message ;
246
			$this->chemin_fichier_xml .= '&actionargs[]='.$this->identifiant_message ;
247
		if (isset ($this->hash_auteur)) 
247
		if (isset ($this->hash_auteur)) 
248
			$this->chemin_fichier_xml .= '&actionargs[]='.$this->hash_auteur ;
248
			$this->chemin_fichier_xml .= '&actionargs[]='.$this->hash_auteur ;
249
		if (isset ($this->mois)) 
249
		if (isset ($this->mois)) 
250
			$this->chemin_fichier_xml .= '&actionargs[]='.$this->mois ;
250
			$this->chemin_fichier_xml .= '&actionargs[]='.$this->mois ;
251
		
251
		
252
		$this->setInputFile($this->chemin_fichier_xml) ;
252
		$this->setInputFile($this->chemin_fichier_xml) ;
253
	}
253
	}
254
	
254
	
255
	/**
255
	/**
256
	 * Precise un message a extraire
256
	 * Precise un message a extraire
257
	 * 
257
	 * 
258
	 * On indique le numero de repertoire ezmlm et le numero du message
258
	 * On indique le numero de repertoire ezmlm et le numero du message
259
	 * @param	integer	le numero du repertoire
259
	 * @param	integer	le numero du repertoire
260
	 * @param 	integer le numero du message
260
	 * @param 	integer le numero du message
261
	 * 
261
	 * 
262
	 */
262
	 */
263
	 
263
	 
264
	 function setIdMessage ($identifiant_repertoire, $identifiant_message) {
264
	 function setIdMessage ($identifiant_repertoire, $identifiant_message) {
265
	 	$this->identifiant_repertoire = $identifiant_repertoire ;
265
	 	$this->identifiant_repertoire = $identifiant_repertoire ;
266
	 	$this->identifiant_message = $identifiant_message ;	
266
	 	$this->identifiant_message = $identifiant_message ;	
267
	 }
267
	 }
268
	 
268
	 
269
	 	/**
269
	 	/**
270
	 * Precise un auteur
270
	 * Precise un auteur
271
	 * 
271
	 * 
272
	 * On indique le numero de repertoire ezmlm et le numero du message
272
	 * On indique le numero de repertoire ezmlm et le numero du message
273
	 * @param	string	le hash d'un auteur
273
	 * @param	string	le hash d'un auteur
274
	 * 
274
	 * 
275
	 */
275
	 */
276
	 
276
	 
277
	 function setHashAuteur ($hash_auteur) {
277
	 function setHashAuteur ($hash_auteur) {
278
	 	$this->hash_auteur = $hash_auteur;	
278
	 	$this->hash_auteur = $hash_auteur;	
279
	 }
279
	 }
280
	 /**
280
	 /**
281
	 * Precise un mois
281
	 * Precise un mois
282
	 * 
282
	 * 
283
	 * On indique le numero de repertoire ezmlm et le numéro du message
283
	 * On indique le numero de repertoire ezmlm et le num�ro du message
284
	 * @param	string	le hash d'un auteur
284
	 * @param	string	le hash d'un auteur
285
	 * 
285
	 * 
286
	 */
286
	 */
287
	 
287
	 
288
	 function setMois ($mois) {
288
	 function setMois ($mois) {
289
	 	$this->mois = $mois;	
289
	 	$this->mois = $mois;	
290
	 }
290
	 }
291
	 
291
	 
292
	 /**
292
	 /**
293
	  * Renvoi le numero du repertoire suivant
293
	  * Renvoi le numero du repertoire suivant
294
	  * 
294
	  * 
295
	  * 
295
	  * 
296
	 */
296
	 */
297
	 function getNumeroRepertoireSuivant() { return $this->_numeroRepertoireSuivant; } 
297
	 function getNumeroRepertoireSuivant() { return $this->_numeroRepertoireSuivant; } 
298
	 
298
	 
299
	 function getNumeroFichierSuivant () { return $this->_numeroFichierSuivant ; }
299
	 function getNumeroFichierSuivant () { return $this->_numeroFichierSuivant ; }
300
	 
300
	 
301
	 function getNumeroRepertoirePrecedent() { return $this->_numeroRepertoirePrecedent; }
301
	 function getNumeroRepertoirePrecedent() { return $this->_numeroRepertoirePrecedent; }
302
	 
302
	 
303
	 function getNumeroFichierPrecedent () { return $this->_numeroFichierPrecedent ; }
303
	 function getNumeroFichierPrecedent () { return $this->_numeroFichierPrecedent ; }
304
	 
304
	 
305
	 function getNumeroMessage () { return $this->_numeroMessage ; }
305
	 function getNumeroMessage () { return $this->_numeroMessage ; }
306
	 
306
	 
307
	 function getNombreTotalMessage () { return $this->_nombreTotalMessage ; }
307
	 function getNombreTotalMessage () { return $this->_nombreTotalMessage ; }
308
	 
308
	 
309
	 function parse()
309
	 function parse()
310
    {
310
    {
311
  		if (substr(phpversion(), 0, 1) == '5') {
311
  		if (substr(phpversion(), 0, 1) == '5') {
312
  			try {
312
  			try {
313
			    $xml = new SimpleXMLElement($this->chemin_fichier_xml, null, true);
313
			    $xml = new SimpleXMLElement($this->chemin_fichier_xml, null, true);
314
			    switch ($this->action) {
314
			    switch ($this->action) {
315
  				case 'calendrier_messages' :echo utf8_decode($xml); 
315
  				case 'calendrier_messages' :echo $xml; 
316
	  				echo utf8_decode($xml->ezmlm_calendrier_messages);
316
	  				echo $xml->ezmlm_calendrier_messages;
317
	  				break;
317
	  				break;
318
	  				case 'message':
318
	  				case 'message':
319
	  				echo utf8_decode ($xml);
319
	  				echo $xml;
320
	  				$this->_numeroRepertoirePrecedent = $xml->message_precedent['numero_repertoire'];
320
	  				$this->_numeroRepertoirePrecedent = $xml->message_precedent['numero_repertoire'];
321
	  				$this->_numeroRepertoireSuivant = $xml->message_suivant['numero_repertoire'];
321
	  				$this->_numeroRepertoireSuivant = $xml->message_suivant['numero_repertoire'];
322
	  				$this->_numeroFichierSuivant = $xml->message_suivant['numero'];
322
	  				$this->_numeroFichierSuivant = $xml->message_suivant['numero'];
323
	  				$this->_numeroFichierPrecedent = $xml->message_precedent['numero'];
323
	  				$this->_numeroFichierPrecedent = $xml->message_precedent['numero'];
324
	  				$this->_numeroMessage = $xml->numero;
324
	  				$this->_numeroMessage = $xml->numero;
325
	  				$this->_nombreTotalMessage = $xml->numero['total_message'];
325
	  				$this->_nombreTotalMessage = $xml->numero['total_message'];
326
  				break;
326
  				break;
327
  					case 'nombre_messages':
327
  					case 'nombre_messages':
328
  					
328
  					
329
  					echo $xml[0];
329
  					echo $xml[0];
330
  					
330
  					
331
  				break;
331
  				break;
332
  					case 'liste_abonnes':
332
  					case 'liste_abonnes':
333
  					return $xml;
333
  					return $xml;
334
  				break;
334
  				break;
335
  				default :
335
  				default :
336
  					echo utf8_decode($xml);
336
  					echo $xml;
337
  					
337
  					
338
  				}
338
  				}
339
			    $error = 'Erreur dans l\'acc&egrave;s au fichier:<br />'.$this->chemin_fichier_xml.'<br />';
339
			    $error = 'Erreur dans l\'acc&egrave;s au fichier:<br />'.$this->chemin_fichier_xml.'<br />';
340
			    $error = '';
340
			    $error = '';
341
			   throw new Exception($error);
341
			   throw new Exception($error);
342
			}
342
			}
343
			catch (Exception $e) {
343
			catch (Exception $e) {
344
			    echo $e->getMessage().'<br />';
344
			    echo $e->getMessage().'<br />';
345
			    //echo $this->chemin_fichier_xml;
345
			    //echo $this->chemin_fichier_xml;
346
			}
346
			}
347
  			
347
  			
348
  		} else {
348
  		} else {
349
  			return parent::parse();
349
  			return parent::parse();
350
  		}
350
  		}
351
    }
351
    }
352
}
352
}
353
 
353
 
354
?>
354
?>