Subversion Repositories Applications.projet

Rev

Rev 208 | Rev 306 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 208 Rev 249
Line 4... Line 4...
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.
Line 8... Line 8...
8
                                                                                                      
8
                                                                                                      
9
// Ce logiciel est régi par la licence CeCILL soumise au droit français 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 diffusée par le CEA, le CNRS et l'INRIA 
12
// de la licence CeCILL telle que diffusee par le CEA, le CNRS et l'INRIA 
Line 13... Line 13...
13
// sur le site "http://www.cecill.info".
13
// sur le site "http://www.cecill.info".
14
 
14
 
15
// En contrepartie de l'accessibilité 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 accordés 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 limitée.  Pour les mêmes raisons,
17
// offert aux utilisateurs qu'une garantie limitee.  Pour les memes raisons,
Line 18... Line 18...
18
// seule une responsabilité restreinte pèse 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 concédants successifs.
19
// titulaire des droits patrimoniaux et les concedants successifs.
20
 
20
 
21
// A cet égard  l'attention de l'utilisateur est attirée sur les risques
21
// A cet egard  l'attention de l'utilisateur est attiree sur les risques
22
// associés au chargement,  à l'utilisation,  à la modification et/ou au
22
// associes au chargement,  a l'utilisation,  a la modification et/ou au
23
// développement et à la reproduction du logiciel par l'utilisateur étant 
23
// developpement et a la reproduction du logiciel par l'utilisateur etant 
24
// donné sa spécificité de logiciel libre, qui peut le rendre complexe à 
24
// donne sa specificite de logiciel libre, qui peut le rendre complexe a 
25
// manipuler et qui le réserve donc à des développeurs et des professionnels
25
// manipuler et qui le reserve donc a des developpeurs et des professionnels
26
// avertis possédant  des  connaissances  informatiques approfondies.  Les
26
// avertis possedant  des  connaissances  informatiques approfondies.  Les
27
// utilisateurs sont donc invités à charger  et  tester  l'adéquation  du
27
// utilisateurs sont donc invites a charger  et  tester  l'adequation  du
Line 28... Line 28...
28
// logiciel à leurs besoins dans des conditions permettant d'assurer la
28
// logiciel a leurs besoins dans des conditions permettant d'assurer la
29
// sécurité de leurs systèmes et ou de leurs données et, plus généralement, 
29
// securite de leurs systemes et ou de leurs donnees et, plus generalement, 
30
// à l'utiliser et l'exploiter dans les mêmes conditions de sécurité. 
30
// a l'utiliser et l'exploiter dans les memes conditions de securite. 
31
 
31
 
32
// Le fait que vous puissiez accéder à cet en-tête signifie que vous avez 
32
// Le fait que vous puissiez acceder a cet en-tete signifie que vous avez 
Line 33... Line 33...
33
// pris connaissance de la licence CeCILL, et que vous en avez accepté 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.4 2007-04-19 15:34:35 neiluj Exp $
36
// CVS : $Id: ezmlmAccessObject.class.php,v 1.5 2007-06-25 12:15:06 alexandre_tb Exp $
Line 44... Line 44...
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.4 $
49
*@version       $Revision: 1.5 $
50
// +------------------------------------------------------------------------------------------------------+
50
// +------------------------------------------------------------------------------------------------------+
51
*/
51
*/
Line 52... Line 52...
52
 
52
 
53
/** Etend XML_Parser_Simple */
53
/** Etend XML_Parser_Simple */
Line 89... Line 89...
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');
Line 95... Line 96...
95
	   
96
	   
96
	/**
97
	/**
97
	* l'action sélectionnée
98
	* l'action selectionnee
98
	*/
99
	*/
Line 99... Line 100...
99
	var $action ;
100
	var $action ;
100
	
101
	
Line 107... Line 108...
107
	 * L'url de base
108
	 * L'url de base
108
	 */
109
	 */
109
	 var $url ;
110
	 var $url ;
Line 110... Line 111...
110
	
111
	
111
	/**
112
	/**
112
	 * L'identifiant du répertoire
113
	 * L'identifiant du repertoire
113
	 */ 
114
	 */ 
Line 114... Line 115...
114
	var $identifiant_repertoire ;
115
	var $identifiant_repertoire ;
115
	
116
	
116
	/**
117
	/**
Line 117... Line 118...
117
	 * Identifiant message
118
	 * Identifiant message
Line 118... Line 119...
118
	 */
119
	 */
119
	
120
	
120
	var $identifiant_message;
121
	var $identifiant_message;
121
 
122
 
Line 122... Line 123...
122
	/**
123
	/**
123
	 * L'identifiant du répertoire
124
	 * L'identifiant du repertoire
124
	 */ 
125
	 */ 
125
	var $_numeroRepertoireSuivant ;
126
	var $_numeroRepertoireSuivant ;
Line 126... Line 127...
126
	
127
	
127
	/**
128
	/**
128
	 * L'identifiant du répertoire
129
	 * L'identifiant du repertoire
129
	 */ 
130
	 */ 
Line 130... Line 131...
130
	var $hash_auteur ;
131
	var $hash_auteur ;
Line 145... Line 146...
145
	var $_numeroFichierPrecedent;
146
	var $_numeroFichierPrecedent;
Line 146... Line 147...
146
	
147
	
Line 147... Line 148...
147
	var $chemin_fichier_xml;
148
	var $chemin_fichier_xml;
148
	
149
	
149
	/**
150
	/**
150
	 * Creation de l'objet d'accès
-
 
151
	 * 
151
	 * Creation de l'objet d'acces
Line 152... Line 152...
152
	 * 	
152
	 * 
153
	 */
153
	 */
154
	
154
	
Line 195... Line 195...
195
	
195
	
Line 196... Line 196...
196
	function handleElement_ezmlm_messages_mois ($name, $attribs, $data) { echo $data ; }
196
	function handleElement_ezmlm_messages_mois ($name, $attribs, $data) { echo $data ; }
Line -... Line 197...
-
 
197
	
197
	
198
	function handleElement_ezmlm_messages_thread ($name, $attribs, $data) { echo $data ; }
198
	function handleElement_ezmlm_messages_thread ($name, $attribs, $data) { echo $data ; }
199
	
199
	
200
	function handleElement_ezmlm_liste_abonnes ($name, $attribs, $data) { echo $data ; }
200
	/**
201
	/**
201
	 * Choix de l'action
202
	 * Choix de l'action
202
	 * 
203
	 * 
203
	 * Liste des actions :
204
	 * Liste des actions :
204
	 * 'calendrier_messages'
205
	 * 'calendrier_messages'
205
	 * 
206
	 * 
Line 206... Line 207...
206
	 * @access public
207
	 * @access public
207
	 * @param string	une action qui doit être supporté
208
	 * @param string	une action qui doit etre supporté
208
	 */
209
	 */
209
	
210
	
210
	function setAction($action) {
211
	function setAction($action) {
211
		// vérification de l'action 
212
		// verification de l'action 
Line 212... Line 213...
212
		if (!in_array($action, $this->actions_supportees)) {
213
		if (!in_array($action, $this->actions_supportees)) {
213
			return raiseError(EZMLM_ACCESS_OBJECT_ACTION_NON_SUPPORTEE) ;	
214
			return raiseError(EZMLM_ACCESS_OBJECT_ACTION_NON_SUPPORTEE) ;	
Line -... Line 215...
-
 
215
		}
-
 
216
		$this->action = $action ;
-
 
217
		
214
		}
218
		// Libere les ressources (XML_Parser::free)
215
		$this->action = $action ;
219
		$this->free();
216
		
220
		
Line 217... Line 221...
217
		// Libere les ressources (XML_Parser::free)
221
		// On vide l url
Line 244... Line 248...
244
		
248
		
245
		$this->setInputFile($this->chemin_fichier_xml) ;
249
		$this->setInputFile($this->chemin_fichier_xml) ;
Line 246... Line 250...
246
	}
250
	}
247
	
251
	
248
	/**
252
	/**
249
	 * Précise un message à extraire
253
	 * Precise un message a extraire
250
	 * 
254
	 * 
251
	 * On indique le numéro de répertoire ezmlm et le numéro du message
255
	 * On indique le numero de repertoire ezmlm et le numero du message
252
	 * @param	integer	le numéro du répertoire
256
	 * @param	integer	le numero du repertoire
253
	 * @param 	integer le numéro du message
257
	 * @param 	integer le numero du message
Line 254... Line 258...
254
	 * 
258
	 * 
255
	 */
259
	 */
256
	 
260
	 
257
	 function setIdMessage ($identifiant_repertoire, $identifiant_message) {
261
	 function setIdMessage ($identifiant_repertoire, $identifiant_message) {
Line 258... Line 262...
258
	 	$this->identifiant_repertoire = $identifiant_repertoire ;
262
	 	$this->identifiant_repertoire = $identifiant_repertoire ;
259
	 	$this->identifiant_message = $identifiant_message ;	
263
	 	$this->identifiant_message = $identifiant_message ;	
260
	 }
264
	 }
261
	 
265
	 
262
	 	/**
266
	 	/**
263
	 * Précise un auteur
267
	 * Precise un auteur
264
	 * 
268
	 * 
Line 265... Line 269...
265
	 * On indique le numéro de répertoire ezmlm et le numéro du message
269
	 * On indique le numero de repertoire ezmlm et le numero du message
266
	 * @param	string	le hash d'un auteur
270
	 * @param	string	le hash d'un auteur
267
	 * 
271
	 * 
268
	 */
272
	 */
269
	 
273
	 
270
	 function setHashAuteur ($hash_auteur) {
274
	 function setHashAuteur ($hash_auteur) {
271
	 	$this->hash_auteur = $hash_auteur;	
275
	 	$this->hash_auteur = $hash_auteur;	
272
	 }
276
	 }
273
	 /**
277
	 /**
274
	 * Précise un mois
278
	 * Precise un mois
Line 275... Line 279...
275
	 * 
279
	 * 
Line 296... Line 300...
296
	 function getNumeroFichierPrecedent () { return $this->_numeroFichierPrecedent ; }
300
	 function getNumeroFichierPrecedent () { return $this->_numeroFichierPrecedent ; }
Line 297... Line 301...
297
	 
301
	 
298
	 function parse()
302
	 function parse()
299
    {
303
    {
-
 
304
  		if (substr(phpversion(), 0, 1) == '5') {
300
  		if (substr(phpversion(), 0, 1) == '5') {
305
  			//try {
-
 
306
			    $xml = new SimpleXMLElement($this->chemin_fichier_xml, null, true);
-
 
307
			    switch ($this->action) {
-
 
308
  				case 'calendrier_messages' :echo utf8_decode($xml); 
-
 
309
	  				echo utf8_decode($xml->ezmlm_calendrier_messages);
-
 
310
	  				break;
301
  			$xml = new SimpleXMLElement(file_get_contents($this->chemin_fichier_xml));
311
	  				case 'message':
-
 
312
	  				echo utf8_decode ($xml);
-
 
313
	  				$this->_numeroRepertoirePrecedent = $xml->message_precedent['numero_repertoire'];
302
  			echo utf8_decode ($xml);
314
	  				$this->_numeroRepertoireSuivant = $xml->message_suivant['numero_repertoire'];
303
  			switch ($this->action) {
315
	  				$this->_numeroFichierSuivant = $xml->message_suivant['numero'];
304
  				case 'calendrier_messages' : echo utf8_decode($xml->ezmlm_calendrier_messages);
316
	  				$this->_numeroFichierPrecedent = $xml->message_precedent['numero'];
305
  				break;
317
  				break;
306
  				case 'message':
318
  				default :
-
 
319
  					echo utf8_decode($xml);
307
  				$this->_numeroRepertoirePrecedent = $xml->message_precedent['numero_repertoire'];
320
  				}
-
 
321
			    $error = 'Erreur dans l\'acc&egrave;s au fichier:<br />'.$this->chemin_fichier_xml.'<br />';
308
  				$this->_numeroRepertoireSuivant = $xml->message_suivant['numero_repertoire'];
322
			    $error = '';
-
 
323
			 //   throw new Exception($error);
-
 
324
			//}
309
  				$this->_numeroFichierSuivant = $xml->message_suivant['numero'];
325
			//catch (Exception $e) {
310
  				$this->_numeroFichierPrecedent = $xml->message_precedent['numero'];
326
			//    echo $e->getMessage(). "<br />";
-
 
327
			//}
311
  			}
328
  			
312
  		} else {
329
  		} else {
313
  			return parent::parse();
330
  			return parent::parse();
314
  		}
331
  		}
315
    }
332
    }