Subversion Repositories Applications.annuaire

Rev

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

Rev 473 Rev 519
Line 22... Line 22...
22
	protected $orderby = null;
22
	protected $orderby = null;
23
	protected $formatRetour = 'objet';
23
	protected $formatRetour = 'objet';
24
	protected $start = 0;
24
	protected $start = 0;
25
	protected $limit = 150;
25
	protected $limit = 150;
Line -... Line 26...
-
 
26
 
-
 
27
	/** pour l'envoi de XML : éventuelle balise dans laquelle placer tout le contenu */
-
 
28
	protected $baliseMaitresse;
26
 
29
 
27
	public function __construct($config, $demarrer_session = true) {
30
	public function __construct($config, $demarrer_session = true) {
28
		// Tableau contenant la config de Jrest
31
		// Tableau contenant la config de Jrest
Line 29... Line 32...
29
		$this->config = $config;
32
		$this->config = $config;
Line 59... Line 62...
59
	protected function envoyerJson($donnees, $encodage = 'utf-8') {
62
	protected function envoyerJson($donnees, $encodage = 'utf-8') {
60
		$contenu = json_encode($donnees);
63
		$contenu = json_encode($donnees);
61
		$this->envoyer($contenu, 'application/json', $encodage, false);
64
		$this->envoyer($contenu, 'application/json', $encodage, false);
62
	}
65
	}
Line -... Line 66...
-
 
66
 
-
 
67
	/** à l'arrache pour rétrocompatibilité avec le service "annuaire_tela" de eFlore_chatin */
-
 
68
	protected function envoyerXml($donnees, $encodage = 'utf-8') {
-
 
69
		$xml = '<?xml version="1.0" encoding="' . strtoupper($encodage) . '"?>';
-
 
70
		if ($this->baliseMaitresse) {
-
 
71
			$xml .= '<' . $this->baliseMaitresse . '>';
-
 
72
		}
-
 
73
		$xml .= $this->genererXmlAPartirDeTableau($donnees);
-
 
74
		if ($this->baliseMaitresse) {
-
 
75
			$xml .= '</' . $this->baliseMaitresse . '>';
-
 
76
		}
-
 
77
		$this->envoyer($xml, 'application/xml', $encodage, false);
-
 
78
	}
-
 
79
 
-
 
80
	/**
-
 
81
	 * Génère un XML minimaliste à partir d'un tableau associatif
-
 
82
	 * Note : gère mal les indices numériques
-
 
83
	 * @TODO utiliser une vraie lib 
-
 
84
	 */ 
-
 
85
	protected function genererXmlAPartirDeTableau($tableau) {
-
 
86
		$xml = '';
-
 
87
		foreach ($tableau as $balise => $donnee) {
-
 
88
			$xml .= '<' . $balise . '>';
-
 
89
			if (is_array($donnee)) {
-
 
90
				// récurer, balayer, que ce soit toujours pimpant
-
 
91
				$xml .= $this->genererXmlAPartirDeTableau($donnee);
-
 
92
			} else {
-
 
93
				$xml .= $donnee;
-
 
94
			}
-
 
95
			$xml .= '</' . $balise . '>';
-
 
96
		}
-
 
97
		return $xml;
-
 
98
	}
63
 
99
 
64
	protected function envoyerJsonVar($variable, $donnees = null, $encodage = 'utf-8') {
100
	protected function envoyerJsonVar($variable, $donnees = null, $encodage = 'utf-8') {
65
		$contenu = "var $variable = ".json_encode($donnees);
101
		$contenu = "var $variable = ".json_encode($donnees);
66
		$this->envoyer($contenu, 'text/html', $encodage, false);
102
		$this->envoyer($contenu, 'text/html', $encodage, false);