Subversion Repositories eFlore/Applications.cel

Rev

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

Rev 2182 Rev 2202
Line 35... Line 35...
35
		}
35
		}
Line 36... Line 36...
36
 
36
 
37
		if (is_null($retour)) {
37
		if (is_null($retour)) {
38
			$info = 'Un problème est survenu : '.print_r($this->messages, true);
38
			$info = 'Un problème est survenu : '.print_r($this->messages, true);
39
			$this->envoyer($info);
39
			$this->envoyer($info);
40
		} else {
40
		} else if (isset($retour['squelette'])) {
41
			$squelette = dirname(__FILE__).DIRECTORY_SEPARATOR.'squelettes'.DIRECTORY_SEPARATOR.$retour['squelette'].'.tpl.html';
41
			$squelette = dirname(__FILE__).DIRECTORY_SEPARATOR.'squelettes'.DIRECTORY_SEPARATOR.$retour['squelette'].'.tpl.html';
42
			$html = $this->traiterSquelettePhp($squelette, $retour['donnees']);
42
			$html = $this->traiterSquelettePhp($squelette, $retour['donnees']);
-
 
43
			$this->envoyer($html);
-
 
44
		} else {
43
			$this->envoyer($html);
45
			$this->envoyer($retour);
44
		}
46
		}
Line 45... Line 47...
45
	}
47
	}
46
 
48
 
47
	/**
49
	/**
48
	 * Stats par défaut
50
	 * Stats par défaut - exécute tout et met ça dans un squelette Bootstrap
49
	 */
51
	 */
-
 
52
	public function executerDefaut() {
-
 
53
		$widget = null;
50
	public function executerDefaut() {
54
		$widget['squelette'] = 'stats_tout'; // squelette bootstrap unifié
51
		$widget = null;
55
		$utilisateur_authentifie = false;
52
		
56
 
53
		switch ($this->mode) {
-
 
54
			case self::MODE_DEFAUT :
-
 
55
				$widget['donnees'] = (array) $this->recupererStatsTxtNombres();
57
		switch ($this->mode) {
56
				$widget['squelette'] = 'stats';
58
			case self::MODE_DEFAUT :
57
				break;
59
				break;
-
 
60
			case self::MODE_UTILISATEUR :
58
			case self::MODE_UTILISATEUR :
61
				$auth = $this->authentifierUtilisateur();
59
				if ($this->authentifierUtilisateur()) {
62
				if ($auth) {
60
					$widget['donnees'] = (array) $this->recupererStatsTxtNombres();
63
					$utilisateur_authentifie = true;
61
					$widget['donnees']['utilisateur'] = $this->getAuthIdentifiant();
-
 
62
					$widget['donnees']['utilisateur_nom_prenom'] = $this->recupererPrenomNomIdentifie();
64
					$widget['donnees']['utilisateur'] = $this->getAuthIdentifiant();
63
					$widget['squelette'] = 'stats_utilisateur';
65
					$widget['donnees']['utilisateur_nom_prenom'] = $this->recupererPrenomNomIdentifie();
64
				}
66
				}
65
				break;
67
				break;
66
			default :
68
			default :
Line 67... Line 69...
67
				$this->messages[] = "Le mode '{$this->mode}' est inconnu.";
69
				$this->messages[] = "Le mode '{$this->mode}' est inconnu.";
-
 
70
		}
-
 
71
		
-
 
72
		if (!is_null($widget)) {
-
 
73
			$widget['donnees']['url_css'] = sprintf($this->config['chemins']['baseURLAbsoluDyn'], 'modules/stats/squelettes/css/stats_tout.css');
68
		}
74
			$widget['donnees']['url_js'] = sprintf($this->config['chemins']['baseURLAbsoluDyn'], 'modules/stats/squelettes/js/defaut.js');
69
		
75
			$widget['donnees']['url_image_chargement'] = sprintf($this->config['chemins']['baseURLAbsoluDyn'], 'modules/stats/squelettes/img/chargement.gif');
-
 
76
			$widget['donnees']['url_widget'] = sprintf($this->config['chemins']['baseURLAbsoluDyn'], 'stats');
70
		if (!is_null($widget)) {
77
			$widget['donnees']['url_service'] = sprintf($this->config['chemins']['baseURLServicesCelTpl'], 'CelStatistique');
71
			$widget['donnees']['url_service'] = sprintf($this->config['chemins']['baseURLServicesCelTpl'], 'CelStatistique');
78
			$widget['donnees']['filtres'] = $this->parametres;
72
			$widget['donnees']['filtres'] = $this->parametres;
79
			$widget['donnees']['utilisateur_authentifie'] = $utilisateur_authentifie;
73
		}
80
		}
74
		return $widget;
-
 
75
	}
-
 
76
	
-
 
77
	private function recupererPrenomNomIdentifie() {
-
 
78
		$nom = '';
-
 
79
		if ($this->getAuthIdentifiant() != null) {
-
 
80
			$infos_utilisateur = $this->recupererUtilisateursNomPrenom(array($this->getAuthIdentifiant()));
-
 
81
			if (array_key_exists($this->getAuthIdentifiant(), $infos_utilisateur)) {
-
 
82
				$utilisateur = (array) $infos_utilisateur[$this->getAuthIdentifiant()];
-
 
83
				$nom = $utilisateur['prenom'].' '.$utilisateur['nom'];
-
 
84
			} else {
-
 
85
				$nom = $this->getAuthIdentifiant();
-
 
86
			}
-
 
87
		}
-
 
88
		return $nom;
81
		return $widget;
89
	}
82
	}
Line 90... Line 83...
90
	
83
 
91
	public function executerNombres() {
84
	public function executerNombres() {
92
		$widget = null;
85
		$widget = null;
93
		
86
		
94
		switch ($this->mode) {
87
		switch ($this->mode) {
95
			case self::MODE_DEFAUT :
88
			case self::MODE_DEFAUT :
96
				$widget['donnees'] = (array) $this->recupererStatsTxtNombres();
89
				$widget['donnees'] = (array) $this->recupererStatsTxtNombres();
-
 
90
				break;
97
				break;
91
			case self::MODE_UTILISATEUR :
98
			case self::MODE_UTILISATEUR :
92
				if ($this->authentifierUtilisateur()) {
99
				if ($this->authentifierUtilisateur()) {
93
					$widget['donnees'] = (array) $this->recupererStatsTxtNombres();
100
					$widget['donnees'] = (array) $this->recupererStatsTxtNombres();
94
					$widget['donnees']['utilisateur'] = $this->getAuthIdentifiant();
101
					$widget['donnees']['utilisateur_nom_prenom'] = $this->recupererPrenomNomIdentifie();
95
					$widget['donnees']['utilisateur_nom_prenom'] = $this->recupererPrenomNomIdentifie();
102
				}
96
				}
Line 103... Line 97...
103
				break;
97
				break;
104
			default:
98
			default:
105
				$this->messages[] = "Le mode '{$this->mode}' est inconnu.";
99
				$this->messages[] = "Le mode '{$this->mode}' est inconnu.";
106
		}
100
		}
Line 107... Line 101...
107
		
101
		
108
		if (!is_null($widget)) {
102
		if (!is_null($widget)) {
Line -... Line 103...
-
 
103
			$widget['squelette'] = 'nombres';
-
 
104
			$widget['donnees']['filtres'] = $this->parametres;
-
 
105
		}
-
 
106
		
-
 
107
		return $widget;
-
 
108
	}
-
 
109
	
-
 
110
	public function executerListeTaxonsNbrePhotos() {
-
 
111
		$widget = null;
-
 
112
		
-
 
113
		switch ($this->mode) {
-
 
114
			case self::MODE_DEFAUT :
-
 
115
				$widget['donnees']['taxons'] = $this->recupererStatsTxtListeTaxonsNbrePhotos();
-
 
116
				break;
-
 
117
			case self::MODE_UTILISATEUR :
-
 
118
				if ($this->authentifierUtilisateur()) {
-
 
119
					$widget['donnees']['taxons'] = $this->recupererStatsTxtListeTaxonsNbrePhotos();
-
 
120
					$widget['donnees']['utilisateur'] = $this->getAuthIdentifiant();
-
 
121
					$widget['donnees']['utilisateur_nom_prenom'] = $this->recupererPrenomNomIdentifie();
-
 
122
				}
-
 
123
				break;
-
 
124
			default:
-
 
125
				$this->messages[] = "Le mode '{$this->mode}' est inconnu.";
-
 
126
		}
-
 
127
		
-
 
128
		if (!is_null($widget)) {
-
 
129
			$widget['squelette'] = 'liste_taxons_nbre_photos';
-
 
130
			$widget['donnees']['filtres'] = $this->parametres;
-
 
131
		}
-
 
132
 
-
 
133
		return $widget;
-
 
134
	}
-
 
135
	
-
 
136
	public function executerListeUtilisateursNbrePhotos() {
-
 
137
		$widget = null;
-
 
138
		$utilisateurs = $this->recupererStatsTxtListeUtilisateursNbrePhotos();
-
 
139
		if (isset($utilisateurs)) {
-
 
140
			$noms = $this->recupererUtilisateursNomPrenom(array_keys($utilisateurs));
-
 
141
			foreach ($utilisateurs as $courriel => $infos) {
-
 
142
				if (array_key_exists($courriel, $noms)) {
-
 
143
					$nom_infos = (array) $noms[$courriel];
-
 
144
					$nom_fmt = $nom_infos['prenom'].' '.$nom_infos['nom'];
-
 
145
					$widget['donnees']['utilisateurs'][$nom_fmt] = $infos;
-
 
146
				}
-
 
147
			}
-
 
148
		}
-
 
149
		$widget['donnees']['filtres'] = $this->parametres;
-
 
150
		$widget['squelette'] = 'liste_utilisateurs_nbre_photos';
-
 
151
		return $widget;
-
 
152
	}
-
 
153
 
-
 
154
	/**
-
 
155
	 * Aligne les contributeurs contre un mur et... euh... hum;
-
 
156
	 * Appelle le service pour obtenir les n principaux contributeurs depuis x jours,
-
 
157
	 * en termes d'observations ajoutées, d'images ajoutées, ou les deux
-
 
158
	 * Paramètres : "jours" (int), "nombre" (int), "critere" ("obs" ou "img" ou "")
-
 
159
	 * @return array
-
 
160
	 */
-
 
161
	public function executerGrandsContributeurs() {
-
 
162
		$widget = null;
-
 
163
		$widget['donnees'] = (array) $this->recupererStatsTxtGrandsContributeurs();
-
 
164
		if (!is_null($widget)) {
-
 
165
			$widget['squelette'] = 'grands_contributeurs';
-
 
166
			$widget['donnees']['url_service'] = sprintf($this->config['chemins']['baseURLServicesCelTpl'], 'CelStatistique');
-
 
167
		}
-
 
168
		return $widget;
-
 
169
	}
-
 
170
 
-
 
171
	public function executerObservationsActivite() {
-
 
172
		$html = "";
-
 
173
		$html .= '<div class="flottant-gauche">'
-
 
174
				.'<h2>Observations - Activité</h2>';
-
 
175
 
-
 
176
		$url_service = sprintf($this->config['chemins']['baseURLServicesCelTpl'], 'CelStatistique');
-
 
177
		$i = 1;
-
 
178
		switch ($this->mode) {
-
 
179
			case self::MODE_DEFAUT :
-
 
180
				$html .= '<img class="stats" src="' . $url_service . '/UtilisationJournaliere/' . date("Y-m-d", (time() - 86400))
-
 
181
					. '?serveur=' . $i++ . '" alt="Intensité d\'utilisation pour la journée d\'hier" />'
-
 
182
					.'<img class="stats" src="' . $url_service . '/UtilisationJournaliere'
-
 
183
					. '?serveur=' . $i++ . '" alt="Intensité d\'utilisation pour aujourd\'hui" />';
-
 
184
			break;
-
 
185
			case self::MODE_UTILISATEUR :
-
 
186
				if ($this->authentifierUtilisateur()) {
-
 
187
					$utilisateur = $this->getAuthIdentifiant();
-
 
188
					$utilisateur_nom_prenom = $this->recupererPrenomNomIdentifie();
-
 
189
					$html .= '<h4>utilisateur: ' . $utilisateur_nom_prenom . '</h4>';
-
 
190
					$html .= '<img class="stats" src="' . $url_service . '/UtilisationJournaliere/' . date("Y-m-d", (time() - 86400))
-
 
191
						. '?serveur=' . $i++ . '&utilisateur=' . $utilisateur . '" alt="Intensité d\'utilisation pour la journée d\'hier" />'
-
 
192
						.'<img class="stats" src="' . $url_service . '/UtilisationJournaliere'
-
 
193
						. '?serveur=' . $i++ . '&utilisateur=' . $utilisateur . '" alt="Intensité d\'utilisation pour aujourd\'hui" />';
-
 
194
				} else {
-
 
195
					$html .= "Impossible d'authentifier l'utilisateur";
-
 
196
				}
-
 
197
			break;
-
 
198
			default:
-
 
199
				$this->messages[] = "Le mode '{$this->mode}' est inconnu.";
-
 
200
		}
-
 
201
 
-
 
202
		$html .= '</div>';
-
 
203
		return $html;
-
 
204
	}
-
 
205
 
-
 
206
	public function executerObservationsDonnees() {
-
 
207
		$html = "";
-
 
208
		$html .= '<div class="flottant-gauche">'
-
 
209
				.'<h2>Observations - Activité</h2>';
-
 
210
		
-
 
211
		$url_service = sprintf($this->config['chemins']['baseURLServicesCelTpl'], 'CelStatistique');
-
 
212
		$i = 1;
-
 
213
		switch ($this->mode) {
-
 
214
			case self::MODE_DEFAUT :
-
 
215
				$html .= '<img class="stats" src="' . $url_service . '/NbreObsPublicVsPrivee'
-
 
216
					. '?serveur=' . $i++ . '" alt="Nombre d\'observations publiques versus privées" />'
-
 
217
					.'<img class="stats" src="' . $url_service . '/NbreObsIdVsTest'
-
 
218
					. '?serveur=' . $i++ . '" alt="Nombre d\'observations identifiées versus tests" />'
-
 
219
					.'<img class="stats" src="' . $url_service . '/NbreObsDetermineeVsInconnue'
-
 
220
					. '?serveur=' . $i++ . '" alt="Nombre d\'observations déterminées versus inconnues" />'
-
 
221
					. '<br/>'
-
 
222
					.'<img class="stats" src="' . $url_service . '/NbreObsAvecIndicationGeo'
-
 
223
					. '?serveur=' . $i++ . '" alt="Nombre d\'observations avec indications géographiques" />';
-
 
224
			break;
-
 
225
			case self::MODE_UTILISATEUR :
-
 
226
				if ($this->authentifierUtilisateur()) {
-
 
227
					$utilisateur = $this->getAuthIdentifiant();
-
 
228
					$utilisateur_nom_prenom = $this->recupererPrenomNomIdentifie();
-
 
229
					$html .= '<h4>utilisateur: ' . $utilisateur_nom_prenom . '</h4>';
-
 
230
					$html .= '<img class="stats" src="' . $url_service . '/NbreObsPublicVsPrivee'
-
 
231
						. '?serveur=' . $i++ . '&utilisateur=' . $utilisateur . '" alt="Nombre d\'observations publiques versus privées" />'
-
 
232
						.'<img class="stats" src="' . $url_service . '/NbreObsIdVsTest'
-
 
233
						. '?serveur=' . $i++ . '&utilisateur=' . $utilisateur . '" alt="Nombre d\'observations identifiées versus tests" />'
-
 
234
						.'<img class="stats" src="' . $url_service . '/NbreObsDetermineeVsInconnue'
-
 
235
						. '?serveur=' . $i++ . '&utilisateur=' . $utilisateur . '" alt="Nombre d\'observations déterminées versus inconnues" />'
-
 
236
						. '<br/>'
-
 
237
						.'<img class="stats" src="' . $url_service . '/NbreObsAvecIndicationGeo'
-
 
238
						. '?serveur=' . $i++ . '&utilisateur=' . $utilisateur . '" alt="Nombre d\'observations avec indications géographiques" />';
-
 
239
				} else {
-
 
240
					$html .= "Impossible d'authentifier l'utilisateur";
-
 
241
				}
-
 
242
			break;
-
 
243
			default:
-
 
244
				$this->messages[] = "Le mode '{$this->mode}' est inconnu.";
-
 
245
		}
-
 
246
		
-
 
247
		$html .= '</div>';
-
 
248
		return $html;
-
 
249
	}
-
 
250
 
-
 
251
	public function executerObservationsEvolution() {
-
 
252
		$html = "";
-
 
253
		$html .= '<div class="flottant-gauche">'
-
 
254
				.'<h2>Observations - Activité</h2>';
-
 
255
		
-
 
256
		$url_service = sprintf($this->config['chemins']['baseURLServicesCelTpl'], 'CelStatistique');
-
 
257
		$i = 1;
-
 
258
		switch ($this->mode) {
-
 
259
			case self::MODE_DEFAUT :
-
 
260
				$html .= '<img class="stats" src="' . $url_service . '/EvolObsParMoisGlissant'
-
 
261
					. '?serveur=' . $i++ . '" alt="Évolutions des observation sur le dernier mois glissant" />'
-
 
262
					.'<img class="stats" src="' . $url_service . '/EvolObsParMois'
-
 
263
					. '?serveur=' . $i++ . '" alt="Évolutions des observation par mois" />'
-
 
264
					. '<br/>'
-
 
265
					.'<img class="stats" src="' . $url_service . '/EvolObsParAn'
-
 
266
					. '?serveur=' . $i++ . '" alt="Évolutions des observation par an" />';
-
 
267
			break;
-
 
268
			case self::MODE_UTILISATEUR :
-
 
269
				if ($this->authentifierUtilisateur()) {
-
 
270
					$utilisateur = $this->getAuthIdentifiant();
-
 
271
					$utilisateur_nom_prenom = $this->recupererPrenomNomIdentifie();
-
 
272
					$html .= '<h4>utilisateur: ' . $utilisateur_nom_prenom . '</h4>';
-
 
273
					$html .= '<img class="stats" src="' . $url_service . '/EvolObsParMoisGlissant'
-
 
274
						. '?serveur=' . $i++ . '&utilisateur=' . $utilisateur . '" alt="Évolutions des observation sur le dernier mois glissant" />'
-
 
275
						.'<img class="stats" src="' . $url_service . '/EvolObsParMois'
-
 
276
						. '?serveur=' . $i++ . '&utilisateur=' . $utilisateur . '" alt="Évolutions des observation par mois" />'
-
 
277
						. '<br/>'
-
 
278
						.'<img class="stats" src="' . $url_service . '/EvolObsParAn'
-
 
279
						. '?serveur=' . $i++ . '&utilisateur=' . $utilisateur . '" alt="Évolutions des observation par an" />';
-
 
280
				} else {
-
 
281
					$html .= "Impossible d'authentifier l'utilisateur";
-
 
282
				}
-
 
283
			break;
-
 
284
			default:
-
 
285
				$this->messages[] = "Le mode '{$this->mode}' est inconnu.";
-
 
286
		}
-
 
287
		
-
 
288
		$html .= '</div>';
-
 
289
		return $html;
-
 
290
	}
-
 
291
 
-
 
292
	public function executerUtilisateurs() {
-
 
293
		$html = "";
-
 
294
		$html .= '<div class="flottant-gauche">'
-
 
295
				.'<h2>Observations - Activité</h2>';
-
 
296
 
-
 
297
		$url_service = sprintf($this->config['chemins']['baseURLServicesCelTpl'], 'CelStatistique');
-
 
298
		$i = 1;
-
 
299
		switch ($this->mode) {
-
 
300
			case self::MODE_DEFAUT :
-
 
301
				$html .= '<img class="stats" src="' . $url_service . '/NuagePointsObsParHeureEtJourSemaine'
-
 
302
					. '?serveur=' . $i++ . '" alt="Nuage de points d\'observation par heure et jour de la semaine" />'
-
 
303
					. '<img class="stats" src="' . $url_service . '/NbreObsParUtilisateur'
-
 
304
					. '?serveur=' . $i++ . '" alt="Nombre d\'observations par utilisateur" />'
-
 
305
					. '<img class="stats" src="' . $url_service . '/NbreObsParUtilisateurEtTest'
-
 
306
					. '?serveur=' . $i++ . '" alt="Nombre d\'observations par utilisateur et test" />'
-
 
307
					. '<img class="stats" src="' . $url_service . '/EvolUtilisateurParMois'
-
 
308
					. '?serveur=' . $i++ . '" alt="Évolution des utilisateurs par mois" />'
-
 
309
					. '<img class="stats" src="' . $url_service . '/NuagePointsObsAnciennete'
-
 
310
					. '?serveur=' . $i++ . '" alt="Répartition des utilisateurs en fonction du nombre d\'observations et de l\'ancienneté" />';
-
 
311
			break;
-
 
312
			case self::MODE_UTILISATEUR :
-
 
313
				if ($this->authentifierUtilisateur()) {
-
 
314
					$utilisateur = $this->getAuthIdentifiant();
-
 
315
					$html .= '<img class="stats" src="' . $url_service . '/NuagePointsObsParHeureEtJourSemaine'
-
 
316
						. '?serveur=' . $i++ . '&utilisateur=' . $utilisateur . '" alt="Nuage de points d\'observation par heure et jour de la semaine" />';
-
 
317
				} else {
-
 
318
					$html .= "Impossible d'authentifier l'utilisateur";
-
 
319
				}
-
 
320
			break;
-
 
321
			default:
-
 
322
				$this->messages[] = "Le mode '{$this->mode}' est inconnu.";
-
 
323
		}
-
 
324
 
-
 
325
		$html .= '</div>';
-
 
326
		return $html;
-
 
327
	}
-
 
328
 
-
 
329
	public function executerImages() {
-
 
330
		$html = "";
-
 
331
		$html .= '<div class="flottant-gauche">'
-
 
332
				.'<h2>Observations - Activité</h2>';
-
 
333
		
-
 
334
		$url_service = sprintf($this->config['chemins']['baseURLServicesCelTpl'], 'CelStatistique');
-
 
335
		$i = 1;
-
 
336
		switch ($this->mode) {
-
 
337
			case self::MODE_DEFAUT :
-
 
338
				$html .= '<img class="stats" src="' . $url_service . '/EvolImgParMois'
-
 
339
						. '?serveur=' . $i++ . '" alt="Évolutions du dépôt d\'images par mois" />'
-
 
340
						. '<img class="stats" src="' . $url_service . '/EvolImgLieesParMois'
-
 
341
						. '?serveur=' . $i++ . '" alt="Évolutions des images liées aux observations par mois" />';
-
 
342
						break;
-
 
343
			case self::MODE_UTILISATEUR :
-
 
344
				if ($this->authentifierUtilisateur()) {
-
 
345
					$utilisateur = $this->getAuthIdentifiant();
-
 
346
					$html .= '<img class="stats" src="' . $url_service . '/EvolImgParMois'
-
 
347
							. '?serveur=' . $i++ . '&utilisateur=' . $utilisateur . '" alt="Évolutions du dépôt d\'images par mois" />'
-
 
348
							. '<img class="stats" src="' . $url_service . '/EvolImgLieesParMois'
-
 
349
							. '?serveur=' . $i++ . '&utilisateur=' . $utilisateur . '" alt="Évolutions des images liées aux observations par mois" />';
-
 
350
				} else {
-
 
351
					$html .= "Impossible d'authentifier l'utilisateur";
-
 
352
				}
-
 
353
				break;
-
 
354
			default:
-
 
355
				$this->messages[] = "Le mode '{$this->mode}' est inconnu.";
-
 
356
		}
-
 
357
		
-
 
358
		$html .= '</div>';
-
 
359
		return $html;
-
 
360
	}
-
 
361
 
-
 
362
	private function recupererPrenomNomIdentifie() {
-
 
363
		$nom = '';
-
 
364
		if ($this->getAuthIdentifiant() != null) {
-
 
365
			$infos_utilisateur = $this->recupererUtilisateursNomPrenom(array($this->getAuthIdentifiant()));
-
 
366
			if (array_key_exists($this->getAuthIdentifiant(), $infos_utilisateur)) {
-
 
367
				$utilisateur = (array) $infos_utilisateur[$this->getAuthIdentifiant()];
-
 
368
				$nom = $utilisateur['prenom'].' '.$utilisateur['nom'];
109
			$widget['squelette'] = 'stats_nbres';
369
			} else {
110
			$widget['donnees']['filtres'] = $this->parametres;
370
				$nom = $this->getAuthIdentifiant();
111
		}
371
			}
Line 112... Line 372...
112
		
372
		}
Line 132... Line 392...
132
		$url = sprintf($this->config['chemins']['baseURLServicesCelTpl'], $service);
392
		$url = sprintf($this->config['chemins']['baseURLServicesCelTpl'], $service);
133
		$json = $this->getDao()->consulter($url);
393
		$json = $this->getDao()->consulter($url);
134
		return (array) json_decode($json);
394
		return (array) json_decode($json);
135
	}
395
	}
Line 136... Line -...
136
	
-
 
137
	public function executerListeTaxonsNbrePhotos() {
-
 
138
		$widget = null;
-
 
139
		$widget['donnees']['taxons'] = $this->recupererStatsTxtListeTaxonsNbrePhotos();
-
 
140
		$widget['donnees']['utilisateur'] = $this->getAuthIdentifiant();
-
 
141
		$widget['donnees']['filtres'] = $this->parametres;
-
 
142
		$widget['squelette'] = 'liste_taxons_nbre_photos';
-
 
143
		return $widget;
-
 
144
	}
-
 
145
	
396
	
146
	private function recupererStatsTxtListeTaxonsNbrePhotos() {
397
	private function recupererStatsTxtListeTaxonsNbrePhotos() {
147
		// Récupération des données au format Json
398
		// Récupération des données au format Json
Line 148... Line 399...
148
		$service = "CelStatistiqueTxt/ListeTaxonsNbrePhotos";
399
		$service = "CelStatistiqueTxt/ListeTaxonsNbrePhotos";
Line 168... Line 419...
168
		$url = sprintf($this->config['chemins']['baseURLServicesCelTpl'], $service);
419
		$url = sprintf($this->config['chemins']['baseURLServicesCelTpl'], $service);
169
		$json = $this->getDao()->consulter($url);
420
		$json = $this->getDao()->consulter($url);
170
		return (array) json_decode($json);
421
		return (array) json_decode($json);
171
	}
422
	}
Line 172... Line -...
172
	
-
 
173
	public function executerListeUtilisateursNbrePhotos() {
-
 
174
		$widget = null;
-
 
175
		$utilisateurs = $this->recupererStatsTxtListeUtilisateursNbrePhotos();
-
 
176
		if (isset($utilisateurs)) {
-
 
177
			$noms = $this->recupererUtilisateursNomPrenom(array_keys($utilisateurs));
-
 
178
			foreach ($utilisateurs as $courriel => $infos) {
-
 
179
				if (array_key_exists($courriel, $noms)) {
-
 
180
					$nom_infos = (array) $noms[$courriel];
-
 
181
					$nom_fmt = $nom_infos['prenom'].' '.$nom_infos['nom'];
-
 
182
					$widget['donnees']['utilisateurs'][$nom_fmt] = $infos;
-
 
183
				}
-
 
184
			}
-
 
185
		}
-
 
186
		$widget['donnees']['filtres'] = $this->parametres;
-
 
187
		$widget['squelette'] = 'liste_utilisateurs_nbre_photos';
-
 
188
		return $widget;
-
 
189
	}
-
 
190
	
423
	
191
	private function recupererStatsTxtListeUtilisateursNbrePhotos() {
424
	private function recupererStatsTxtListeUtilisateursNbrePhotos() {
192
		// Récupération des données au format Json
425
		// Récupération des données au format Json
Line 193... Line 426...
193
		$service = "CelStatistiqueTxt/ListeUtilisateursNbrePhotos";
426
		$service = "CelStatistiqueTxt/ListeUtilisateursNbrePhotos";
Line 215... Line 448...
215
		
448
		
216
		$json = $this->getDao()->consulter($url);
449
		$json = $this->getDao()->consulter($url);
217
		return (array) json_decode($json);
450
		return (array) json_decode($json);
Line 218... Line -...
218
	}
-
 
219
 
-
 
220
	/**
-
 
221
	 * Aligne les contributeurs contre un mur et... euh... hum;
-
 
222
	 * Appelle le service pour obtenir les n principaux contributeurs depuis x jours,
-
 
223
	 * en termes d'observations ajoutées, d'images ajoutées, ou les deux
-
 
224
	 * Paramètres : "jours" (int), "nombre" (int), "critere" ("obs" ou "img" ou "")
-
 
225
	 * @return array
-
 
226
	 */
-
 
227
	public function executerGrandsContributeurs() {
-
 
228
		$widget = null;
-
 
229
		$widget['donnees'] = (array) $this->recupererStatsTxtGrandsContributeurs();
-
 
230
		if (!is_null($widget)) {
-
 
231
			$widget['squelette'] = 'stats_grands_contributeurs';
-
 
232
			$widget['donnees']['url_service'] = sprintf($this->config['chemins']['baseURLServicesCelTpl'], 'CelStatistique');
-
 
233
		}
-
 
234
		return $widget;
-
 
235
	}
451
	}
236
 
452
 
237
	private function recupererStatsTxtGrandsContributeurs() {
453
	private function recupererStatsTxtGrandsContributeurs() {
Line 238... Line 454...
238
		// Récupération des données au format Json
454
		// Récupération des données au format Json