Subversion Repositories eFlore/Applications.cel

Rev

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

Rev 2260 Rev 2262
1
<?php
1
<?php
2
/**
2
/**
3
 * Widget fournissant des stats graphiques du CEL.
3
 * Widget fournissant des stats graphiques du CEL.
4
 * Encodage en entrée : utf8
4
 * Encodage en entrée : utf8
5
 * Encodage en sortie : utf8
5
 * Encodage en sortie : utf8
6
 *
6
 *
7
 * @author Jean-Pascal MILCENT <jpm@clapas.org>
7
 * @author Jean-Pascal MILCENT <jpm@clapas.org>
8
 * @license GPL v3 <http://www.gnu.org/licenses/gpl.txt>
8
 * @license GPL v3 <http://www.gnu.org/licenses/gpl.txt>
9
 * @license CECILL v2 <http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt>
9
 * @license CECILL v2 <http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt>
10
 * @version $Id$
10
 * @version $Id$
11
 * @copyright © 2010, Jean-Pascal MILCENT
11
 * @copyright © 2010, Jean-Pascal MILCENT
12
 */
12
 */
13
class Stats extends WidgetCommun {
13
class Stats extends WidgetCommun {
14
	const PAGE_DEFAUT = 'defaut';
14
	const PAGE_DEFAUT = 'defaut';
15
	const MODE_DEFAUT = 'defaut';
15
	const MODE_DEFAUT = 'defaut';
16
	const MODE_UTILISATEUR = 'utilisateur';
16
	const MODE_UTILISATEUR = 'utilisateur';
17
	private $page;
17
	private $page;
18
	private $mode;
18
	private $mode;
19
	/**
19
	/**
20
	 * Si true, pas de barre de navigation inter-applications
20
	 * Si spécifié, pas de barre de navigation inter-applications
21
	 * Attention, pour l'instant nobar désactive également le bouton pour avoir ses stats personnelles
21
	 * Attention, pour l'instant nobar désactive également le bouton pour avoir ses stats personnelles
22
	 */
22
	 */
23
	private $nobar;
23
	private $nobar;
24
	
24
	
25
	/**
25
	/**
26
	 * Méthode appelée avec une requête de type GET.
26
	 * Méthode appelée avec une requête de type GET.
27
	 */
27
	 */
28
	public function executer() {
28
	public function executer() {
29
		$retour = null;
29
		$retour = null;
30
		
30
		
31
		extract($this->parametres);
31
		extract($this->parametres);
32
		$this->mode = (isset($mode)) ? $mode : self::MODE_DEFAUT;
32
		$this->mode = (isset($mode)) ? $mode : self::MODE_DEFAUT;
33
		$this->page = (isset($page)) ? $page : self::PAGE_DEFAUT;
33
		$this->page = (isset($page)) ? $page : self::PAGE_DEFAUT;
34
		$this->nobar = (isset($nobar)) ? $nobar : false;
34
		$this->nobar = (isset($nobar)) ? $nobar : false;
35
		
35
		
36
		$methode = $this->traiterNomMethodeExecuter($this->page);
36
		$methode = $this->traiterNomMethodeExecuter($this->page);
37
		if (method_exists($this, $methode)) {
37
		if (method_exists($this, $methode)) {
38
			$retour = $this->$methode();
38
			$retour = $this->$methode();
39
		} else {
39
		} else {
40
			$this->messages[] = "Le type de statistiques '$methode' n'est pas disponible.";
40
			$this->messages[] = "Le type de statistiques '$methode' n'est pas disponible.";
41
		}
41
		}
42
 
42
 
43
		if (is_null($retour)) {
43
		if (is_null($retour)) {
44
			$info = 'Un problème est survenu : '.print_r($this->messages, true);
44
			$info = 'Un problème est survenu : '.print_r($this->messages, true);
45
			$this->envoyer($info);
45
			$this->envoyer($info);
46
		} else if (is_array($retour) && isset($retour['squelette'])) { // compatibilité avec un retour de HTML direct
46
		} else if (is_array($retour) && isset($retour['squelette'])) { // compatibilité avec un retour de HTML direct
47
			$squelette = dirname(__FILE__).DIRECTORY_SEPARATOR.'squelettes'.DIRECTORY_SEPARATOR.$retour['squelette'].'.tpl.html';
47
			$squelette = dirname(__FILE__).DIRECTORY_SEPARATOR.'squelettes'.DIRECTORY_SEPARATOR.$retour['squelette'].'.tpl.html';
48
			$html = $this->traiterSquelettePhp($squelette, $retour['donnees']);
48
			$html = $this->traiterSquelettePhp($squelette, $retour['donnees']);
49
			$this->envoyer($html);
49
			$this->envoyer($html);
50
		} else {
50
		} else {
51
			$this->envoyer($retour);
51
			$this->envoyer($retour);
52
		}
52
		}
53
	}
53
	}
54
 
54
 
55
	/**
55
	/**
56
	 * Stats par défaut - exécute tout et met ça dans un squelette Bootstrap
56
	 * Stats par défaut - exécute tout et met ça dans un squelette Bootstrap
57
	 */
57
	 */
58
	public function executerDefaut() {
58
	public function executerDefaut() {
59
		$widget = null;
59
		$widget = null;
60
		$widget['squelette'] = 'stats_tout'; // squelette bootstrap unifié
60
		$widget['squelette'] = 'stats_tout'; // squelette bootstrap unifié
61
		$utilisateur_authentifie = false;
61
		$utilisateur_authentifie = false;
62
 
62
 
63
		switch ($this->mode) {
63
		switch ($this->mode) {
64
			case self::MODE_DEFAUT :
64
			case self::MODE_DEFAUT :
65
				break;
65
				break;
66
			case self::MODE_UTILISATEUR :
66
			case self::MODE_UTILISATEUR :
67
				$auth = $this->authentifierUtilisateur();
67
				$auth = $this->authentifierUtilisateur();
68
				if ($auth) {
68
				if ($auth) {
69
					$utilisateur_authentifie = true;
69
					$utilisateur_authentifie = true;
70
					$widget['donnees']['utilisateur'] = $this->getAuthIdentifiant();
70
					$widget['donnees']['utilisateur'] = $this->getAuthIdentifiant();
71
					$widget['donnees']['utilisateur_nom_prenom'] = $this->recupererPrenomNomIdentifie();
71
					$widget['donnees']['utilisateur_nom_prenom'] = $this->recupererPrenomNomIdentifie();
72
				}
72
				}
73
				break;
73
				break;
74
			default :
74
			default :
75
				$this->messages[] = "Le mode '{$this->mode}' est inconnu.";
75
				$this->messages[] = "Le mode '{$this->mode}' est inconnu.";
76
		}
76
		}
77
		
77
		
78
		if (!is_null($widget)) {
78
		if (!is_null($widget)) {
79
			$widget['donnees']['url_css'] = sprintf($this->config['chemins']['baseURLAbsoluDyn'], 'modules/stats/squelettes/css/stats_tout.css');
79
			$widget['donnees']['url_css'] = sprintf($this->config['chemins']['baseURLAbsoluDyn'], 'modules/stats/squelettes/css/stats_tout.css');
80
			$widget['donnees']['url_js'] = sprintf($this->config['chemins']['baseURLAbsoluDyn'], 'modules/stats/squelettes/js/defaut.js');
80
			$widget['donnees']['url_js'] = sprintf($this->config['chemins']['baseURLAbsoluDyn'], 'modules/stats/squelettes/js/defaut.js');
81
			$widget['donnees']['url_script_navigation'] = sprintf($this->config['chemins']['baseURLRessources'], 'tb/reseau/navigation.js');
81
			$widget['donnees']['url_script_navigation'] = sprintf($this->config['chemins']['baseURLRessources'], 'tb/reseau/navigation.js');
82
			
82
			
83
			$widget['donnees']['url_js_bootstrap'] = sprintf($this->config['chemins']['baseURLRessources'], 'bootstrap/3.1.0/js/bootstrap.min.js');
83
			$widget['donnees']['url_js_bootstrap'] = sprintf($this->config['chemins']['baseURLRessources'], 'bootstrap/3.1.0/js/bootstrap.min.js');
84
			$widget['donnees']['url_css_bootstrap'] = sprintf($this->config['chemins']['baseURLRessources'], 'bootstrap/3.1.0/css/bootstrap.min.css');
84
			$widget['donnees']['url_css_bootstrap'] = sprintf($this->config['chemins']['baseURLRessources'], 'bootstrap/3.1.0/css/bootstrap.min.css');
85
 
85
 
86
			$widget['donnees']['mode_serveur'] = $this->config['parametres']['modeServeur'];
86
			$widget['donnees']['mode_serveur'] = $this->config['parametres']['modeServeur'];
87
			$widget['donnees']['url_image_chargement'] = sprintf($this->config['chemins']['baseURLAbsoluDyn'], 'modules/stats/squelettes/img/chargement.gif');
87
			$widget['donnees']['url_image_chargement'] = sprintf($this->config['chemins']['baseURLAbsoluDyn'], 'modules/stats/squelettes/img/chargement.gif');
88
			$widget['donnees']['url_widget'] = sprintf($this->config['chemins']['baseURLAbsoluDyn'], 'stats');
88
			$widget['donnees']['url_widget'] = sprintf($this->config['chemins']['baseURLAbsoluDyn'], 'stats');
89
			$widget['donnees']['url_service'] = sprintf($this->config['chemins']['baseURLServicesCelTpl'], 'CelStatistique');
89
			$widget['donnees']['url_service'] = sprintf($this->config['chemins']['baseURLServicesCelTpl'], 'CelStatistique');
90
			$widget['donnees']['filtres'] = $this->parametres;
90
			$widget['donnees']['filtres'] = $this->parametres;
91
			$widget['donnees']['utilisateur_authentifie'] = $utilisateur_authentifie;
91
			$widget['donnees']['utilisateur_authentifie'] = $utilisateur_authentifie;
92
 
92
 
93
			$widget['donnees']['nobar'] = $this->nobar;
93
			$widget['donnees']['nobar'] = $this->nobar;
94
		}
94
		}
95
		return $widget;
95
		return $widget;
96
	}
96
	}
97
 
97
 
98
	public function executerNombres() {
98
	public function executerNombres() {
99
		$widget = null;
99
		$widget = null;
100
		
100
		
101
		switch ($this->mode) {
101
		switch ($this->mode) {
102
			case self::MODE_DEFAUT :
102
			case self::MODE_DEFAUT :
103
				$widget['donnees'] = (array) $this->recupererStatsTxtNombres();
103
				$widget['donnees'] = (array) $this->recupererStatsTxtNombres();
104
				break;
104
				break;
105
			case self::MODE_UTILISATEUR :
105
			case self::MODE_UTILISATEUR :
106
				if ($this->authentifierUtilisateur()) {
106
				if ($this->authentifierUtilisateur()) {
107
					$widget['donnees'] = (array) $this->recupererStatsTxtNombres();
107
					$widget['donnees'] = (array) $this->recupererStatsTxtNombres();
108
					$widget['donnees']['utilisateur'] = $this->getAuthIdentifiant();
108
					$widget['donnees']['utilisateur'] = $this->getAuthIdentifiant();
109
					$widget['donnees']['utilisateur_nom_prenom'] = $this->recupererPrenomNomIdentifie();
109
					$widget['donnees']['utilisateur_nom_prenom'] = $this->recupererPrenomNomIdentifie();
110
				}
110
				}
111
				break;
111
				break;
112
			default:
112
			default:
113
				$this->messages[] = "Le mode '{$this->mode}' est inconnu.";
113
				$this->messages[] = "Le mode '{$this->mode}' est inconnu.";
114
		}
114
		}
115
		
115
		
116
		if (!is_null($widget)) {
116
		if (!is_null($widget)) {
117
			$widget['squelette'] = 'nombres';
117
			$widget['squelette'] = 'nombres';
118
			$widget['donnees']['filtres'] = $this->parametres;
118
			$widget['donnees']['filtres'] = $this->parametres;
119
		}
119
		}
120
		
120
		
121
		return $widget;
121
		return $widget;
122
	}
122
	}
123
	
123
	
124
	public function executerListeTaxonsNbrePhotos() {
124
	public function executerListeTaxonsNbrePhotos() {
125
		$widget = null;
125
		$widget = null;
126
		
126
		
127
		switch ($this->mode) {
127
		switch ($this->mode) {
128
			case self::MODE_DEFAUT :
128
			case self::MODE_DEFAUT :
129
				$widget['donnees']['taxons'] = $this->recupererStatsTxtListeTaxonsNbrePhotos();
129
				$widget['donnees']['taxons'] = $this->recupererStatsTxtListeTaxonsNbrePhotos();
130
				break;
130
				break;
131
			case self::MODE_UTILISATEUR :
131
			case self::MODE_UTILISATEUR :
132
				if ($this->authentifierUtilisateur()) {
132
				if ($this->authentifierUtilisateur()) {
133
					$widget['donnees']['taxons'] = $this->recupererStatsTxtListeTaxonsNbrePhotos();
133
					$widget['donnees']['taxons'] = $this->recupererStatsTxtListeTaxonsNbrePhotos();
134
					$widget['donnees']['utilisateur'] = $this->getAuthIdentifiant();
134
					$widget['donnees']['utilisateur'] = $this->getAuthIdentifiant();
135
					$widget['donnees']['utilisateur_nom_prenom'] = $this->recupererPrenomNomIdentifie();
135
					$widget['donnees']['utilisateur_nom_prenom'] = $this->recupererPrenomNomIdentifie();
136
				}
136
				}
137
				break;
137
				break;
138
			default:
138
			default:
139
				$this->messages[] = "Le mode '{$this->mode}' est inconnu.";
139
				$this->messages[] = "Le mode '{$this->mode}' est inconnu.";
140
		}
140
		}
141
		
141
		
142
		if (!is_null($widget)) {
142
		if (!is_null($widget)) {
143
			$widget['squelette'] = 'liste_taxons_nbre_photos';
143
			$widget['squelette'] = 'liste_taxons_nbre_photos';
144
			$widget['donnees']['filtres'] = $this->parametres;
144
			$widget['donnees']['filtres'] = $this->parametres;
145
		}
145
		}
146
 
146
 
147
		return $widget;
147
		return $widget;
148
	}
148
	}
149
	
149
	
150
	public function executerListeUtilisateursNbrePhotos() {
150
	public function executerListeUtilisateursNbrePhotos() {
151
		$widget = null;
151
		$widget = null;
152
		$utilisateurs = $this->recupererStatsTxtListeUtilisateursNbrePhotos();
152
		$utilisateurs = $this->recupererStatsTxtListeUtilisateursNbrePhotos();
153
		if (isset($utilisateurs)) {
153
		if (isset($utilisateurs)) {
154
			$noms = $this->recupererUtilisateursNomPrenom(array_keys($utilisateurs));
154
			$noms = $this->recupererUtilisateursNomPrenom(array_keys($utilisateurs));
155
			foreach ($utilisateurs as $courriel => $infos) {
155
			foreach ($utilisateurs as $courriel => $infos) {
156
				if (array_key_exists($courriel, $noms)) {
156
				if (array_key_exists($courriel, $noms)) {
157
					$nom_infos = (array) $noms[$courriel];
157
					$nom_infos = (array) $noms[$courriel];
158
					$nom_fmt = $nom_infos['prenom'].' '.$nom_infos['nom'];
158
					$nom_fmt = $nom_infos['prenom'].' '.$nom_infos['nom'];
159
					$widget['donnees']['utilisateurs'][$nom_fmt] = $infos;
159
					$widget['donnees']['utilisateurs'][$nom_fmt] = $infos;
160
				}
160
				}
161
			}
161
			}
162
		}
162
		}
163
		$widget['donnees']['filtres'] = $this->parametres;
163
		$widget['donnees']['filtres'] = $this->parametres;
164
		$widget['squelette'] = 'liste_utilisateurs_nbre_photos';
164
		$widget['squelette'] = 'liste_utilisateurs_nbre_photos';
165
		return $widget;
165
		return $widget;
166
	}
166
	}
167
 
167
 
168
	/**
168
	/**
169
	 * Aligne les contributeurs contre un mur et... euh... hum;
169
	 * Aligne les contributeurs contre un mur et... euh... hum;
170
	 * Appelle le service pour obtenir les n principaux contributeurs depuis x jours,
170
	 * Appelle le service pour obtenir les n principaux contributeurs depuis x jours,
171
	 * en termes d'observations ajoutées, d'images ajoutées, ou les deux
171
	 * en termes d'observations ajoutées, d'images ajoutées, ou les deux
172
	 * Paramètres : "jours" (int), "nombre" (int), "critere" ("obs" ou "img" ou "")
172
	 * Paramètres : "jours" (int), "nombre" (int), "critere" ("obs" ou "img" ou "")
173
	 * @return array
173
	 * @return array
174
	 */
174
	 */
175
	public function executerGrandsContributeurs() {
175
	public function executerGrandsContributeurs() {
176
		$widget = null;
176
		$widget = null;
177
		$widget['donnees'] = (array) $this->recupererStatsTxtGrandsContributeurs();
177
		$widget['donnees'] = (array) $this->recupererStatsTxtGrandsContributeurs();
178
		if (!is_null($widget)) {
178
		if (!is_null($widget)) {
179
			$widget['squelette'] = 'grands_contributeurs';
179
			$widget['squelette'] = 'grands_contributeurs';
180
			$widget['donnees']['url_service'] = sprintf($this->config['chemins']['baseURLServicesCelTpl'], 'CelStatistique');
180
			$widget['donnees']['url_service'] = sprintf($this->config['chemins']['baseURLServicesCelTpl'], 'CelStatistique');
181
		}
181
		}
182
		return $widget;
182
		return $widget;
183
	}
183
	}
184
 
184
 
185
	public function executerObservationsActivite() {
185
	public function executerObservationsActivite() {
186
		$html = "";
186
		$html = "";
187
		$html .= '<div class="flottant-gauche">'
187
		$html .= '<div class="flottant-gauche">'
188
				.'<h2>Observations - Activité</h2>';
188
				.'<h2>Observations - Activité</h2>';
189
 
189
 
190
		$url_service = sprintf($this->config['chemins']['baseURLServicesCelTpl'], 'CelStatistique');
190
		$url_service = sprintf($this->config['chemins']['baseURLServicesCelTpl'], 'CelStatistique');
191
		$i = 1;
191
		$i = 1;
192
		switch ($this->mode) {
192
		switch ($this->mode) {
193
			case self::MODE_DEFAUT :
193
			case self::MODE_DEFAUT :
194
				$html .= '<img class="stats" src="' . $url_service . '/UtilisationJournaliere/' . date("Y-m-d", (time() - 86400))
194
				$html .= '<img class="stats" src="' . $url_service . '/UtilisationJournaliere/' . date("Y-m-d", (time() - 86400))
195
					. '?serveur=' . $i++ . '" alt="Intensité d\'utilisation pour la journée d\'hier" />'
195
					. '?serveur=' . $i++ . '" alt="Intensité d\'utilisation pour la journée d\'hier" />'
196
					.'<img class="stats" src="' . $url_service . '/UtilisationJournaliere'
196
					.'<img class="stats" src="' . $url_service . '/UtilisationJournaliere'
197
					. '?serveur=' . $i++ . '" alt="Intensité d\'utilisation pour aujourd\'hui" />';
197
					. '?serveur=' . $i++ . '" alt="Intensité d\'utilisation pour aujourd\'hui" />';
198
			break;
198
			break;
199
			case self::MODE_UTILISATEUR :
199
			case self::MODE_UTILISATEUR :
200
				if ($this->authentifierUtilisateur()) {
200
				if ($this->authentifierUtilisateur()) {
201
					$utilisateur = $this->getAuthIdentifiant();
201
					$utilisateur = $this->getAuthIdentifiant();
202
					$utilisateur_nom_prenom = $this->recupererPrenomNomIdentifie();
202
					$utilisateur_nom_prenom = $this->recupererPrenomNomIdentifie();
203
					$html .= '<h4>utilisateur: ' . $utilisateur_nom_prenom . '</h4>';
203
					$html .= '<h4>utilisateur: ' . $utilisateur_nom_prenom . '</h4>';
204
					$html .= '<img class="stats" src="' . $url_service . '/UtilisationJournaliere/' . date("Y-m-d", (time() - 86400))
204
					$html .= '<img class="stats" src="' . $url_service . '/UtilisationJournaliere/' . date("Y-m-d", (time() - 86400))
205
						. '?serveur=' . $i++ . '&utilisateur=' . $utilisateur . '" alt="Intensité d\'utilisation pour la journée d\'hier" />'
205
						. '?serveur=' . $i++ . '&utilisateur=' . $utilisateur . '" alt="Intensité d\'utilisation pour la journée d\'hier" />'
206
						.'<img class="stats" src="' . $url_service . '/UtilisationJournaliere'
206
						.'<img class="stats" src="' . $url_service . '/UtilisationJournaliere'
207
						. '?serveur=' . $i++ . '&utilisateur=' . $utilisateur . '" alt="Intensité d\'utilisation pour aujourd\'hui" />';
207
						. '?serveur=' . $i++ . '&utilisateur=' . $utilisateur . '" alt="Intensité d\'utilisation pour aujourd\'hui" />';
208
				} else {
208
				} else {
209
					$html .= "Impossible d'authentifier l'utilisateur";
209
					$html .= "Impossible d'authentifier l'utilisateur";
210
				}
210
				}
211
			break;
211
			break;
212
			default:
212
			default:
213
				$this->messages[] = "Le mode '{$this->mode}' est inconnu.";
213
				$this->messages[] = "Le mode '{$this->mode}' est inconnu.";
214
		}
214
		}
215
 
215
 
216
		$html .= '</div>';
216
		$html .= '</div>';
217
		return $html;
217
		return $html;
218
	}
218
	}
219
 
219
 
220
	public function executerObservationsDonnees() {
220
	public function executerObservationsDonnees() {
221
		$html = "";
221
		$html = "";
222
		$html .= '<div class="flottant-gauche">'
222
		$html .= '<div class="flottant-gauche">'
223
				.'<h2>Observations - Activité</h2>';
223
				.'<h2>Observations - Activité</h2>';
224
		
224
		
225
		$url_service = sprintf($this->config['chemins']['baseURLServicesCelTpl'], 'CelStatistique');
225
		$url_service = sprintf($this->config['chemins']['baseURLServicesCelTpl'], 'CelStatistique');
226
		$i = 1;
226
		$i = 1;
227
		switch ($this->mode) {
227
		switch ($this->mode) {
228
			case self::MODE_DEFAUT :
228
			case self::MODE_DEFAUT :
229
				$html .= '<img class="stats" src="' . $url_service . '/NbreObsPublicVsPrivee'
229
				$html .= '<img class="stats" src="' . $url_service . '/NbreObsPublicVsPrivee'
230
					. '?serveur=' . $i++ . '" alt="Nombre d\'observations publiques versus privées" />'
230
					. '?serveur=' . $i++ . '" alt="Nombre d\'observations publiques versus privées" />'
231
					.'<img class="stats" src="' . $url_service . '/NbreObsIdVsTest'
231
					.'<img class="stats" src="' . $url_service . '/NbreObsIdVsTest'
232
					. '?serveur=' . $i++ . '" alt="Nombre d\'observations identifiées versus tests" />'
232
					. '?serveur=' . $i++ . '" alt="Nombre d\'observations identifiées versus tests" />'
233
					.'<img class="stats" src="' . $url_service . '/NbreObsDetermineeVsInconnue'
233
					.'<img class="stats" src="' . $url_service . '/NbreObsDetermineeVsInconnue'
234
					. '?serveur=' . $i++ . '" alt="Nombre d\'observations déterminées versus inconnues" />'
234
					. '?serveur=' . $i++ . '" alt="Nombre d\'observations déterminées versus inconnues" />'
235
					. '<br/>'
235
					. '<br/>'
236
					.'<img class="stats" src="' . $url_service . '/NbreObsAvecIndicationGeo'
236
					.'<img class="stats" src="' . $url_service . '/NbreObsAvecIndicationGeo'
237
					. '?serveur=' . $i++ . '" alt="Nombre d\'observations avec indications géographiques" />';
237
					. '?serveur=' . $i++ . '" alt="Nombre d\'observations avec indications géographiques" />';
238
			break;
238
			break;
239
			case self::MODE_UTILISATEUR :
239
			case self::MODE_UTILISATEUR :
240
				if ($this->authentifierUtilisateur()) {
240
				if ($this->authentifierUtilisateur()) {
241
					$utilisateur = $this->getAuthIdentifiant();
241
					$utilisateur = $this->getAuthIdentifiant();
242
					$utilisateur_nom_prenom = $this->recupererPrenomNomIdentifie();
242
					$utilisateur_nom_prenom = $this->recupererPrenomNomIdentifie();
243
					$html .= '<h4>utilisateur: ' . $utilisateur_nom_prenom . '</h4>';
243
					$html .= '<h4>utilisateur: ' . $utilisateur_nom_prenom . '</h4>';
244
					$html .= '<img class="stats" src="' . $url_service . '/NbreObsPublicVsPrivee'
244
					$html .= '<img class="stats" src="' . $url_service . '/NbreObsPublicVsPrivee'
245
						. '?serveur=' . $i++ . '&utilisateur=' . $utilisateur . '" alt="Nombre d\'observations publiques versus privées" />'
245
						. '?serveur=' . $i++ . '&utilisateur=' . $utilisateur . '" alt="Nombre d\'observations publiques versus privées" />'
246
						.'<img class="stats" src="' . $url_service . '/NbreObsIdVsTest'
246
						.'<img class="stats" src="' . $url_service . '/NbreObsIdVsTest'
247
						. '?serveur=' . $i++ . '&utilisateur=' . $utilisateur . '" alt="Nombre d\'observations identifiées versus tests" />'
247
						. '?serveur=' . $i++ . '&utilisateur=' . $utilisateur . '" alt="Nombre d\'observations identifiées versus tests" />'
248
						.'<img class="stats" src="' . $url_service . '/NbreObsDetermineeVsInconnue'
248
						.'<img class="stats" src="' . $url_service . '/NbreObsDetermineeVsInconnue'
249
						. '?serveur=' . $i++ . '&utilisateur=' . $utilisateur . '" alt="Nombre d\'observations déterminées versus inconnues" />'
249
						. '?serveur=' . $i++ . '&utilisateur=' . $utilisateur . '" alt="Nombre d\'observations déterminées versus inconnues" />'
250
						. '<br/>'
250
						. '<br/>'
251
						.'<img class="stats" src="' . $url_service . '/NbreObsAvecIndicationGeo'
251
						.'<img class="stats" src="' . $url_service . '/NbreObsAvecIndicationGeo'
252
						. '?serveur=' . $i++ . '&utilisateur=' . $utilisateur . '" alt="Nombre d\'observations avec indications géographiques" />';
252
						. '?serveur=' . $i++ . '&utilisateur=' . $utilisateur . '" alt="Nombre d\'observations avec indications géographiques" />';
253
				} else {
253
				} else {
254
					$html .= "Impossible d'authentifier l'utilisateur";
254
					$html .= "Impossible d'authentifier l'utilisateur";
255
				}
255
				}
256
			break;
256
			break;
257
			default:
257
			default:
258
				$this->messages[] = "Le mode '{$this->mode}' est inconnu.";
258
				$this->messages[] = "Le mode '{$this->mode}' est inconnu.";
259
		}
259
		}
260
		
260
		
261
		$html .= '</div>';
261
		$html .= '</div>';
262
		return $html;
262
		return $html;
263
	}
263
	}
264
 
264
 
265
	public function executerObservationsEvolution() {
265
	public function executerObservationsEvolution() {
266
		$html = "";
266
		$html = "";
267
		$html .= '<div class="flottant-gauche">'
267
		$html .= '<div class="flottant-gauche">'
268
				.'<h2>Observations - Activité</h2>';
268
				.'<h2>Observations - Activité</h2>';
269
		
269
		
270
		$url_service = sprintf($this->config['chemins']['baseURLServicesCelTpl'], 'CelStatistique');
270
		$url_service = sprintf($this->config['chemins']['baseURLServicesCelTpl'], 'CelStatistique');
271
		$i = 1;
271
		$i = 1;
272
		switch ($this->mode) {
272
		switch ($this->mode) {
273
			case self::MODE_DEFAUT :
273
			case self::MODE_DEFAUT :
274
				$html .= '<img class="stats" src="' . $url_service . '/EvolObsParMoisGlissant'
274
				$html .= '<img class="stats" src="' . $url_service . '/EvolObsParMoisGlissant'
275
					. '?serveur=' . $i++ . '" alt="Évolutions des observation sur le dernier mois glissant" />'
275
					. '?serveur=' . $i++ . '" alt="Évolutions des observation sur le dernier mois glissant" />'
276
					.'<img class="stats" src="' . $url_service . '/EvolObsParMois'
276
					.'<img class="stats" src="' . $url_service . '/EvolObsParMois'
277
					. '?serveur=' . $i++ . '" alt="Évolutions des observation par mois" />'
277
					. '?serveur=' . $i++ . '" alt="Évolutions des observation par mois" />'
278
					. '<br/>'
278
					. '<br/>'
279
					.'<img class="stats" src="' . $url_service . '/EvolObsParAn'
279
					.'<img class="stats" src="' . $url_service . '/EvolObsParAn'
280
					. '?serveur=' . $i++ . '" alt="Évolutions des observation par an" />';
280
					. '?serveur=' . $i++ . '" alt="Évolutions des observation par an" />';
281
			break;
281
			break;
282
			case self::MODE_UTILISATEUR :
282
			case self::MODE_UTILISATEUR :
283
				if ($this->authentifierUtilisateur()) {
283
				if ($this->authentifierUtilisateur()) {
284
					$utilisateur = $this->getAuthIdentifiant();
284
					$utilisateur = $this->getAuthIdentifiant();
285
					$utilisateur_nom_prenom = $this->recupererPrenomNomIdentifie();
285
					$utilisateur_nom_prenom = $this->recupererPrenomNomIdentifie();
286
					$html .= '<h4>utilisateur: ' . $utilisateur_nom_prenom . '</h4>';
286
					$html .= '<h4>utilisateur: ' . $utilisateur_nom_prenom . '</h4>';
287
					$html .= '<img class="stats" src="' . $url_service . '/EvolObsParMoisGlissant'
287
					$html .= '<img class="stats" src="' . $url_service . '/EvolObsParMoisGlissant'
288
						. '?serveur=' . $i++ . '&utilisateur=' . $utilisateur . '" alt="Évolutions des observation sur le dernier mois glissant" />'
288
						. '?serveur=' . $i++ . '&utilisateur=' . $utilisateur . '" alt="Évolutions des observation sur le dernier mois glissant" />'
289
						.'<img class="stats" src="' . $url_service . '/EvolObsParMois'
289
						.'<img class="stats" src="' . $url_service . '/EvolObsParMois'
290
						. '?serveur=' . $i++ . '&utilisateur=' . $utilisateur . '" alt="Évolutions des observation par mois" />'
290
						. '?serveur=' . $i++ . '&utilisateur=' . $utilisateur . '" alt="Évolutions des observation par mois" />'
291
						. '<br/>'
291
						. '<br/>'
292
						.'<img class="stats" src="' . $url_service . '/EvolObsParAn'
292
						.'<img class="stats" src="' . $url_service . '/EvolObsParAn'
293
						. '?serveur=' . $i++ . '&utilisateur=' . $utilisateur . '" alt="Évolutions des observation par an" />';
293
						. '?serveur=' . $i++ . '&utilisateur=' . $utilisateur . '" alt="Évolutions des observation par an" />';
294
				} else {
294
				} else {
295
					$html .= "Impossible d'authentifier l'utilisateur";
295
					$html .= "Impossible d'authentifier l'utilisateur";
296
				}
296
				}
297
			break;
297
			break;
298
			default:
298
			default:
299
				$this->messages[] = "Le mode '{$this->mode}' est inconnu.";
299
				$this->messages[] = "Le mode '{$this->mode}' est inconnu.";
300
		}
300
		}
301
		
301
		
302
		$html .= '</div>';
302
		$html .= '</div>';
303
		return $html;
303
		return $html;
304
	}
304
	}
305
 
305
 
306
	public function executerUtilisateurs() {
306
	public function executerUtilisateurs() {
307
		$html = "";
307
		$html = "";
308
		$html .= '<div class="flottant-gauche">'
308
		$html .= '<div class="flottant-gauche">'
309
				.'<h2>Observations - Activité</h2>';
309
				.'<h2>Observations - Activité</h2>';
310
 
310
 
311
		$url_service = sprintf($this->config['chemins']['baseURLServicesCelTpl'], 'CelStatistique');
311
		$url_service = sprintf($this->config['chemins']['baseURLServicesCelTpl'], 'CelStatistique');
312
		$i = 1;
312
		$i = 1;
313
		switch ($this->mode) {
313
		switch ($this->mode) {
314
			case self::MODE_DEFAUT :
314
			case self::MODE_DEFAUT :
315
				$html .= '<img class="stats" src="' . $url_service . '/NuagePointsObsParHeureEtJourSemaine'
315
				$html .= '<img class="stats" src="' . $url_service . '/NuagePointsObsParHeureEtJourSemaine'
316
					. '?serveur=' . $i++ . '" alt="Nuage de points d\'observation par heure et jour de la semaine" />'
316
					. '?serveur=' . $i++ . '" alt="Nuage de points d\'observation par heure et jour de la semaine" />'
317
					. '<img class="stats" src="' . $url_service . '/NbreObsParUtilisateur'
317
					. '<img class="stats" src="' . $url_service . '/NbreObsParUtilisateur'
318
					. '?serveur=' . $i++ . '" alt="Nombre d\'observations par utilisateur" />'
318
					. '?serveur=' . $i++ . '" alt="Nombre d\'observations par utilisateur" />'
319
					. '<img class="stats" src="' . $url_service . '/NbreObsParUtilisateurEtTest'
319
					. '<img class="stats" src="' . $url_service . '/NbreObsParUtilisateurEtTest'
320
					. '?serveur=' . $i++ . '" alt="Nombre d\'observations par utilisateur et test" />'
320
					. '?serveur=' . $i++ . '" alt="Nombre d\'observations par utilisateur et test" />'
321
					. '<img class="stats" src="' . $url_service . '/EvolUtilisateurParMois'
321
					. '<img class="stats" src="' . $url_service . '/EvolUtilisateurParMois'
322
					. '?serveur=' . $i++ . '" alt="Évolution des utilisateurs par mois" />'
322
					. '?serveur=' . $i++ . '" alt="Évolution des utilisateurs par mois" />'
323
					. '<img class="stats" src="' . $url_service . '/NuagePointsObsAnciennete'
323
					. '<img class="stats" src="' . $url_service . '/NuagePointsObsAnciennete'
324
					. '?serveur=' . $i++ . '" alt="Répartition des utilisateurs en fonction du nombre d\'observations et de l\'ancienneté" />';
324
					. '?serveur=' . $i++ . '" alt="Répartition des utilisateurs en fonction du nombre d\'observations et de l\'ancienneté" />';
325
			break;
325
			break;
326
			case self::MODE_UTILISATEUR :
326
			case self::MODE_UTILISATEUR :
327
				if ($this->authentifierUtilisateur()) {
327
				if ($this->authentifierUtilisateur()) {
328
					$utilisateur = $this->getAuthIdentifiant();
328
					$utilisateur = $this->getAuthIdentifiant();
329
					$html .= '<img class="stats" src="' . $url_service . '/NuagePointsObsParHeureEtJourSemaine'
329
					$html .= '<img class="stats" src="' . $url_service . '/NuagePointsObsParHeureEtJourSemaine'
330
						. '?serveur=' . $i++ . '&utilisateur=' . $utilisateur . '" alt="Nuage de points d\'observation par heure et jour de la semaine" />';
330
						. '?serveur=' . $i++ . '&utilisateur=' . $utilisateur . '" alt="Nuage de points d\'observation par heure et jour de la semaine" />';
331
				} else {
331
				} else {
332
					$html .= "Impossible d'authentifier l'utilisateur";
332
					$html .= "Impossible d'authentifier l'utilisateur";
333
				}
333
				}
334
			break;
334
			break;
335
			default:
335
			default:
336
				$this->messages[] = "Le mode '{$this->mode}' est inconnu.";
336
				$this->messages[] = "Le mode '{$this->mode}' est inconnu.";
337
		}
337
		}
338
 
338
 
339
		$html .= '</div>';
339
		$html .= '</div>';
340
		return $html;
340
		return $html;
341
	}
341
	}
342
 
342
 
343
	public function executerImages() {
343
	public function executerImages() {
344
		$html = "";
344
		$html = "";
345
		$html .= '<div class="flottant-gauche">'
345
		$html .= '<div class="flottant-gauche">'
346
				.'<h2>Observations - Activité</h2>';
346
				.'<h2>Observations - Activité</h2>';
347
		
347
		
348
		$url_service = sprintf($this->config['chemins']['baseURLServicesCelTpl'], 'CelStatistique');
348
		$url_service = sprintf($this->config['chemins']['baseURLServicesCelTpl'], 'CelStatistique');
349
		$i = 1;
349
		$i = 1;
350
		switch ($this->mode) {
350
		switch ($this->mode) {
351
			case self::MODE_DEFAUT :
351
			case self::MODE_DEFAUT :
352
				$html .= '<img class="stats" src="' . $url_service . '/EvolImgParMois'
352
				$html .= '<img class="stats" src="' . $url_service . '/EvolImgParMois'
353
						. '?serveur=' . $i++ . '" alt="Évolutions du dépôt d\'images par mois" />'
353
						. '?serveur=' . $i++ . '" alt="Évolutions du dépôt d\'images par mois" />'
354
						. '<img class="stats" src="' . $url_service . '/EvolImgLieesParMois'
354
						. '<img class="stats" src="' . $url_service . '/EvolImgLieesParMois'
355
						. '?serveur=' . $i++ . '" alt="Évolutions des images liées aux observations par mois" />';
355
						. '?serveur=' . $i++ . '" alt="Évolutions des images liées aux observations par mois" />';
356
						break;
356
						break;
357
			case self::MODE_UTILISATEUR :
357
			case self::MODE_UTILISATEUR :
358
				if ($this->authentifierUtilisateur()) {
358
				if ($this->authentifierUtilisateur()) {
359
					$utilisateur = $this->getAuthIdentifiant();
359
					$utilisateur = $this->getAuthIdentifiant();
360
					$html .= '<img class="stats" src="' . $url_service . '/EvolImgParMois'
360
					$html .= '<img class="stats" src="' . $url_service . '/EvolImgParMois'
361
							. '?serveur=' . $i++ . '&utilisateur=' . $utilisateur . '" alt="Évolutions du dépôt d\'images par mois" />'
361
							. '?serveur=' . $i++ . '&utilisateur=' . $utilisateur . '" alt="Évolutions du dépôt d\'images par mois" />'
362
							. '<img class="stats" src="' . $url_service . '/EvolImgLieesParMois'
362
							. '<img class="stats" src="' . $url_service . '/EvolImgLieesParMois'
363
							. '?serveur=' . $i++ . '&utilisateur=' . $utilisateur . '" alt="Évolutions des images liées aux observations par mois" />';
363
							. '?serveur=' . $i++ . '&utilisateur=' . $utilisateur . '" alt="Évolutions des images liées aux observations par mois" />';
364
				} else {
364
				} else {
365
					$html .= "Impossible d'authentifier l'utilisateur";
365
					$html .= "Impossible d'authentifier l'utilisateur";
366
				}
366
				}
367
				break;
367
				break;
368
			default:
368
			default:
369
				$this->messages[] = "Le mode '{$this->mode}' est inconnu.";
369
				$this->messages[] = "Le mode '{$this->mode}' est inconnu.";
370
		}
370
		}
371
		
371
		
372
		$html .= '</div>';
372
		$html .= '</div>';
373
		return $html;
373
		return $html;
374
	}
374
	}
375
 
375
 
376
	private function recupererPrenomNomIdentifie() {
376
	private function recupererPrenomNomIdentifie() {
377
		$nom = '';
377
		$nom = '';
378
		if ($this->getAuthIdentifiant() != null) {
378
		if ($this->getAuthIdentifiant() != null) {
379
			$infos_utilisateur = $this->recupererUtilisateursNomPrenom(array($this->getAuthIdentifiant()));
379
			$infos_utilisateur = $this->recupererUtilisateursNomPrenom(array($this->getAuthIdentifiant()));
380
			if (array_key_exists($this->getAuthIdentifiant(), $infos_utilisateur)) {
380
			if (array_key_exists($this->getAuthIdentifiant(), $infos_utilisateur)) {
381
				$utilisateur = (array) $infos_utilisateur[$this->getAuthIdentifiant()];
381
				$utilisateur = (array) $infos_utilisateur[$this->getAuthIdentifiant()];
382
				$nom = $utilisateur['prenom'].' '.$utilisateur['nom'];
382
				$nom = $utilisateur['prenom'].' '.$utilisateur['nom'];
383
			} else {
383
			} else {
384
				$nom = $this->getAuthIdentifiant();
384
				$nom = $this->getAuthIdentifiant();
385
			}
385
			}
386
		}
386
		}
387
		return $nom;
387
		return $nom;
388
	}
388
	}
389
	
389
	
390
	private function recupererStatsTxtNombres() {
390
	private function recupererStatsTxtNombres() {
391
		// Récupération des données au format Json
391
		// Récupération des données au format Json
392
		$service = "CelStatistiqueTxt/Nombres";
392
		$service = "CelStatistiqueTxt/Nombres";
393
		
393
		
394
		$parametres = array();
394
		$parametres = array();
395
		if (isset($this->parametres['mode']) && $this->parametres['mode'] == self::MODE_UTILISATEUR && $this->getAuthIdentifiant() != null) {
395
		if (isset($this->parametres['mode']) && $this->parametres['mode'] == self::MODE_UTILISATEUR && $this->getAuthIdentifiant() != null) {
396
			$parametres[] = 'utilisateur='.$this->getAuthIdentifiant();
396
			$parametres[] = 'utilisateur='.$this->getAuthIdentifiant();
397
		}
397
		}
398
		if (isset($this->parametres['num_taxon'])) {
398
		if (isset($this->parametres['num_taxon'])) {
399
			$parametres[] = 'num_taxon='.$this->parametres['num_taxon'];
399
			$parametres[] = 'num_taxon='.$this->parametres['num_taxon'];
400
		}
400
		}
401
		if (isset($this->parametres['taxon'])) {
401
		if (isset($this->parametres['taxon'])) {
402
			$parametres[] = 'taxon='.$this->parametres['taxon'];
402
			$parametres[] = 'taxon='.$this->parametres['taxon'];
403
		}
403
		}
404
		$service .= (count($parametres) > 0) ? '?'.implode('&', $parametres) : '';
404
		$service .= (count($parametres) > 0) ? '?'.implode('&', $parametres) : '';
405
		
405
		
406
		$url = sprintf($this->config['chemins']['baseURLServicesCelTpl'], $service);
406
		$url = sprintf($this->config['chemins']['baseURLServicesCelTpl'], $service);
407
		$json = $this->getDao()->consulter($url);
407
		$json = $this->getDao()->consulter($url);
408
		return (array) json_decode($json);
408
		return (array) json_decode($json);
409
	}
409
	}
410
	
410
	
411
	private function recupererStatsTxtListeTaxonsNbrePhotos() {
411
	private function recupererStatsTxtListeTaxonsNbrePhotos() {
412
		// Récupération des données au format Json
412
		// Récupération des données au format Json
413
		$service = "CelStatistiqueTxt/ListeTaxonsNbrePhotos";
413
		$service = "CelStatistiqueTxt/ListeTaxonsNbrePhotos";
414
		
414
		
415
		$parametres = array();
415
		$parametres = array();
416
		if (isset($this->parametres['mode']) && $this->parametres['mode'] == self::MODE_UTILISATEUR && $this->getAuthIdentifiant() != null) {
416
		if (isset($this->parametres['mode']) && $this->parametres['mode'] == self::MODE_UTILISATEUR && $this->getAuthIdentifiant() != null) {
417
			$parametres[] = 'utilisateur='.$this->getAuthIdentifiant();
417
			$parametres[] = 'utilisateur='.$this->getAuthIdentifiant();
418
		}
418
		}
419
		if (isset($this->parametres['num_taxon'])) {
419
		if (isset($this->parametres['num_taxon'])) {
420
			$parametres[] = 'num_taxon='.$this->parametres['num_taxon'];
420
			$parametres[] = 'num_taxon='.$this->parametres['num_taxon'];
421
		}
421
		}
422
		if (isset($this->parametres['taxon'])) {
422
		if (isset($this->parametres['taxon'])) {
423
			$parametres[] = 'taxon='.$this->parametres['taxon'];
423
			$parametres[] = 'taxon='.$this->parametres['taxon'];
424
		}
424
		}
425
		if (isset($this->parametres['start'])) {
425
		if (isset($this->parametres['start'])) {
426
			$parametres[] = 'start='.$this->parametres['start'];
426
			$parametres[] = 'start='.$this->parametres['start'];
427
		}
427
		}
428
		if (isset($this->parametres['limit'])) {
428
		if (isset($this->parametres['limit'])) {
429
			$parametres[] = 'limit='.$this->parametres['limit'];
429
			$parametres[] = 'limit='.$this->parametres['limit'];
430
		}
430
		}
431
		$service .= (count($parametres) > 0) ? '?'.implode('&', $parametres) : '';
431
		$service .= (count($parametres) > 0) ? '?'.implode('&', $parametres) : '';
432
		
432
		
433
		$url = sprintf($this->config['chemins']['baseURLServicesCelTpl'], $service);
433
		$url = sprintf($this->config['chemins']['baseURLServicesCelTpl'], $service);
434
		$json = $this->getDao()->consulter($url);
434
		$json = $this->getDao()->consulter($url);
435
		return (array) json_decode($json);
435
		return (array) json_decode($json);
436
	}
436
	}
437
	
437
	
438
	private function recupererStatsTxtListeUtilisateursNbrePhotos() {
438
	private function recupererStatsTxtListeUtilisateursNbrePhotos() {
439
		// Récupération des données au format Json
439
		// Récupération des données au format Json
440
		$service = "CelStatistiqueTxt/ListeUtilisateursNbrePhotos";
440
		$service = "CelStatistiqueTxt/ListeUtilisateursNbrePhotos";
441
		
441
		
442
		if (isset($this->parametres['mode']) && $this->parametres['mode'] == self::MODE_UTILISATEUR && $this->getAuthIdentifiant() != null) {
442
		if (isset($this->parametres['mode']) && $this->parametres['mode'] == self::MODE_UTILISATEUR && $this->getAuthIdentifiant() != null) {
443
			$this->getDao()->ajouterParametre('utilisateur', $this->getAuthIdentifiant());
443
			$this->getDao()->ajouterParametre('utilisateur', $this->getAuthIdentifiant());
444
		}
444
		}
445
		if (isset($this->parametres['num_taxon'])) {
445
		if (isset($this->parametres['num_taxon'])) {
446
			$this->getDao()->ajouterParametre('num_taxon', $this->parametres['num_taxon']);
446
			$this->getDao()->ajouterParametre('num_taxon', $this->parametres['num_taxon']);
447
		}
447
		}
448
		if (isset($this->parametres['taxon'])) {
448
		if (isset($this->parametres['taxon'])) {
449
			$this->getDao()->ajouterParametre('taxon', $this->parametres['taxon']);
449
			$this->getDao()->ajouterParametre('taxon', $this->parametres['taxon']);
450
		}
450
		}
451
		if (isset($this->parametres['start'])) {
451
		if (isset($this->parametres['start'])) {
452
			$this->getDao()->ajouterParametre('start', $this->parametres['start']);
452
			$this->getDao()->ajouterParametre('start', $this->parametres['start']);
453
		}
453
		}
454
		if (isset($this->parametres['limit'])) {
454
		if (isset($this->parametres['limit'])) {
455
			$this->getDao()->ajouterParametre('limit', $this->parametres['limit']);
455
			$this->getDao()->ajouterParametre('limit', $this->parametres['limit']);
456
		}
456
		}
457
		if (isset($this->parametres['tag'])) {
457
		if (isset($this->parametres['tag'])) {
458
			$this->getDao()->ajouterParametre('tag', $this->parametres['tag']);
458
			$this->getDao()->ajouterParametre('tag', $this->parametres['tag']);
459
		}
459
		}
460
		
460
		
461
		$url = sprintf($this->config['chemins']['baseURLServicesCelTpl'], $service);
461
		$url = sprintf($this->config['chemins']['baseURLServicesCelTpl'], $service);
462
		
462
		
463
		$json = $this->getDao()->consulter($url);
463
		$json = $this->getDao()->consulter($url);
464
		return (array) json_decode($json);
464
		return (array) json_decode($json);
465
	}
465
	}
466
 
466
 
467
	private function recupererStatsTxtGrandsContributeurs() {
467
	private function recupererStatsTxtGrandsContributeurs() {
468
		// Récupération des données au format Json
468
		// Récupération des données au format Json
469
		$service = "CelStatistiqueTxt/GrandsContributeurs";
469
		$service = "CelStatistiqueTxt/GrandsContributeurs";
470
 
470
 
471
		if (isset($this->parametres['nombre'])) {
471
		if (isset($this->parametres['nombre'])) {
472
			$this->getDao()->ajouterParametre('nombre', $this->parametres['nombre']);
472
			$this->getDao()->ajouterParametre('nombre', $this->parametres['nombre']);
473
		}
473
		}
474
		if (isset($this->parametres['jours'])) {
474
		if (isset($this->parametres['jours'])) {
475
			$this->getDao()->ajouterParametre('jours', $this->parametres['jours']);
475
			$this->getDao()->ajouterParametre('jours', $this->parametres['jours']);
476
		}
476
		}
477
		if (isset($this->parametres['critere'])) {
477
		if (isset($this->parametres['critere'])) {
478
			$this->getDao()->ajouterParametre('critere', $this->parametres['critere']);
478
			$this->getDao()->ajouterParametre('critere', $this->parametres['critere']);
479
		}
479
		}
480
		
480
		
481
		$url = sprintf($this->config['chemins']['baseURLServicesCelTpl'], $service);
481
		$url = sprintf($this->config['chemins']['baseURLServicesCelTpl'], $service);
482
		$json = $this->getDao()->consulter($url);
482
		$json = $this->getDao()->consulter($url);
483
 
483
 
484
		return (array) json_decode($json);
484
		return (array) json_decode($json);
485
	}
485
	}
486
}
486
}
487
?>
487
?>