Subversion Repositories eFlore/Applications.cel

Rev

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

Rev 842 Rev 843
Line 116... Line 116...
116
			'chxt'	=> 'y,y,x,x,r,r',
116
			'chxt'	=> 'y,y,x,x,r,r',
117
			'chxl'	=> '1:|'.$etiquettes_y.'|3:|'.$etiquettes_x2.'|2:|'.$etiquettes_x1.'|5:|'.$etiquettes_r2,
117
			'chxl'	=> '1:|'.$etiquettes_y.'|3:|'.$etiquettes_x2.'|2:|'.$etiquettes_x1.'|5:|'.$etiquettes_r2,
118
			'chxp'	=> '1,50|3,0|5,50',
118
			'chxp'	=> '1,50|3,0|5,50',
119
			'chxr'	=> "0,0,$y_val_fin,$y_pas|4,0,$r_val_fin,$r_pas",
119
			'chxr'	=> "0,0,$y_val_fin,$y_pas|4,0,$r_val_fin,$r_pas",
120
			'chm'	=> 'N ** ,000000,0,-1,8,1.0,ht',
120
			'chm'	=> 'N ** ,000000,0,-1,8,1.0,ht',
121
			'chxs'	=> '0,007F00|4,99CC00|5,99CC00');
121
			'chxs'	=> '0,007F00|1,007F00|4,99CC00|5,99CC00');
122
		return $graph;
122
		return $graph;
123
	}
123
	}
Line 124... Line 124...
124
 
124
 
125
	private function getEvolImgParMois($param) {
125
	private function getEvolImgParMois($param) {
Line 188... Line 188...
188
			'chxt'	=> 'y,y,x,x,r,r',
188
			'chxt'	=> 'y,y,x,x,r,r',
189
			'chxl'	=> '1:|'.$etiquettes_y.'|3:|'.$etiquettes_x2.'|2:|'.$etiquettes_x1.'|5:|'.$etiquettes_r2,
189
			'chxl'	=> '1:|'.$etiquettes_y.'|3:|'.$etiquettes_x2.'|2:|'.$etiquettes_x1.'|5:|'.$etiquettes_r2,
190
			'chxp'	=> '1,50|3,0|5,50',
190
			'chxp'	=> '1,50|3,0|5,50',
191
			'chxr'	=> "0,0,$y_val_fin,$y_pas|4,0,$r_val_fin,$r_pas",
191
			'chxr'	=> "0,0,$y_val_fin,$y_pas|4,0,$r_val_fin,$r_pas",
192
			'chm'	=> 'h,C3C3C3,0,0.5,1,-1|N ** ,000000,0,-1,8,1.0,ht',
192
			'chm'	=> 'h,C3C3C3,0,0.5,1,-1|N ** ,000000,0,-1,8,1.0,ht',
193
			'chxs'	=> '0,007F00|4,99CC00|5,99CC00');
193
			'chxs'	=> '0,007F00|1,007F00|4,99CC00|5,99CC00');
194
		return $graph;
194
		return $graph;
195
	}
195
	}
Line -... Line 196...
-
 
196
 
-
 
197
	private function getEvolImgParMoisGlissant($param) {
-
 
198
		$utilisateur = isset($_GET['utilisateur']) ? $this->bdd->quote($_GET['utilisateur']) : null;
-
 
199
		// Récupération des données
-
 
200
		$requete = 	"SELECT DATE_FORMAT(ci_meta_date_ajout, '%Y%m%d') AS periode, COUNT(ci_id_image) AS nbre ".
-
 
201
			"FROM cel_images ".
-
 
202
			"WHERE ci_meta_date_ajout != '0000-00-00 00:00:00' ".
-
 
203
			'	AND ci_meta_date_ajout > DATE_SUB(NOW(), INTERVAL 31 DAY) '.
-
 
204
			((isset($utilisateur)) ? " AND ci_ce_utilisateur = $utilisateur " : '').
-
 
205
			'GROUP BY periode '.
-
 
206
			'ORDER BY periode ';
-
 
207
		$resultats = $this->executerRequete($requete);
-
 
208
 
-
 
209
		// 	Traitement du resultat
-
 
210
		$img_totale = array();
-
 
211
		if ($resultats !== false) {
-
 
212
			foreach ($resultats as $info) {
-
 
213
				$img_totale[$info['periode']] = $info['nbre'];
-
 
214
			}		
-
 
215
		}
-
 
216
		
-
 
217
		// Trie des dates pour les étiquettes des axes
-
 
218
		$dates = array();
-
 
219
		$annees = array();
-
 
220
		$annees_mois = array();
-
 
221
		$jours = array();
-
 
222
		foreach ($img_totale as $annee_mois_jours => $nbre) {
-
 
223
			$annee = substr($annee_mois_jours, 0, 4);
-
 
224
			$mois = substr($annee_mois_jours, 4, 2);
-
 
225
			$jour = substr($annee_mois_jours, 6, 2);
-
 
226
			$annee_mois_fmt_B = strftime('%B %Y', mktime(0, 0, 0, $mois, 1, $annee));
-
 
227
			
-
 
228
			if (!isset($dates[$annee][$mois][$jour])) {
-
 
229
				$annees_mois[] = (!isset($dates[$annee][$mois]) ? $annee_mois_fmt_B : '');
-
 
230
				$jours[] = $jour;
-
 
231
				// Ajouter au tableau dates tjrs à la fin
-
 
232
				$dates[$annee][$mois][$jour] = 1;
-
 
233
			}
-
 
234
		}
-
 
235
		
-
 
236
		// Post traitement des données
-
 
237
		$titre = "Évolution du dépôt d'images sur un mois glissant";
-
 
238
		$valeurs_max = (count($img_totale) > 0) ? max($img_totale) : 0;
-
 
239
		$valeurs = implode(',', $img_totale);
-
 
240
		$y_val_fin = $valeurs_max;
-
 
241
		$y_pas = round($valeurs_max / 6);
-
 
242
		$etiquettes_x1 = implode('|', $jours);
-
 
243
		$etiquettes_x2 = implode('|', $annees_mois);
-
 
244
		$etiquettes_y2 = 'Images';
-
 
245
 
-
 
246
		// Construction de l'url de l'image
-
 
247
		$graph = array('cht' => 'lc',
-
 
248
			'chtt'	=>	$titre,
-
 
249
			'chs'	=>	'600x200',
-
 
250
			'chco'	=>	'007F00',
-
 
251
			'chd'	=>	't:'.$valeurs,
-
 
252
			'chds'	=>	'0,'.$valeurs_max,
-
 
253
			'chxt'	=>	'y,y,x,x',
-
 
254
			'chxl'	=>	'1:|'.$etiquettes_y2.'|2:|'.$etiquettes_x1.'|3:|'.$etiquettes_x2,
-
 
255
			'chxp'	=>	'0,0|1,50',
-
 
256
			'chxr'	=>	"0,0,$y_val_fin,$y_pas",
-
 
257
			'chm'	=> 'h,C3C3C3,0,0.5,1,-1|N,000000,0,1::1,8,1.0,ht',
-
 
258
			'chxs'	=> '0,007F00|1,007F00');
-
 
259
		$this->debug[] = $graph;
-
 
260
		return $graph;
-
 
261
	}
-
 
262
	
-
 
263
	private function getEvolImgParAn($param) {
-
 
264
		$utilisateur = isset($_GET['utilisateur']) ? $this->bdd->quote($_GET['utilisateur']) : null;
-
 
265
		// Récupération des données
-
 
266
		$requete = 	"SELECT DATE_FORMAT(ci_meta_date_ajout, '%Y') AS periode, COUNT(ci_id_image) AS nbre ".
-
 
267
			"FROM cel_images ".
-
 
268
			"WHERE ci_meta_date_ajout != '0000-00-00 00:00:00' ".
-
 
269
			((isset($utilisateur)) ? " AND ci_ce_utilisateur = $utilisateur " : '').
-
 
270
			'GROUP BY periode '.
-
 
271
			'ORDER BY periode ';
-
 
272
		$resulats = $this->executerRequete($requete);
-
 
273
 
-
 
274
		$img_totale = array();
-
 
275
		foreach ($resulats as $info) {
-
 
276
			$img_totale[$info['periode']] = $info['nbre'];
-
 
277
		}
-
 
278
 
-
 
279
		// Trie des dates pour les étiquettes des axes
-
 
280
		$dates = array();
-
 
281
		$annees = array();
-
 
282
		foreach ($img_totale as $annee => $nbre) {
-
 
283
			if (!isset($dates[$annee])) {
-
 
284
				$annees[] = $annee;
-
 
285
				$dates[$annee] = 1;
-
 
286
			}
-
 
287
		}
-
 
288
 
-
 
289
		// Post traitement des données
-
 
290
		$titre = "Évolution du dépôt d'images par année";
-
 
291
		$valeurs = implode(',', $img_totale);
-
 
292
		$valeurs_max = (count($img_totale) > 0) ? max($img_totale) : 0;
-
 
293
		$valeurs_min = (count($img_totale) > 0) ? min($img_totale) : 0;
-
 
294
		$y_val_deb = preg_replace('/[0-9]{2}$/', '00', $valeurs_min);
-
 
295
		$y_val_fin = $valeurs_max;
-
 
296
		$y_pas = round(($valeurs_max / 6), 0);
-
 
297
		$etiquettes_x = implode('|', $annees);;
-
 
298
		$etiquettes_y = 'Images';
-
 
299
 
-
 
300
		// Construire de l'url de l'image
-
 
301
		$graph = array('cht' => 'lc',
-
 
302
			'chtt'	=> $titre,
-
 
303
			'chs'	=> '600x200',
-
 
304
			'chco'	=> '007F00',
-
 
305
			'chd'	=> 't:'.$valeurs,
-
 
306
			'chds'	=> "$valeurs_min,$valeurs_max",
-
 
307
			'chxt'	=> 'y,y,x',
-
 
308
			'chxl'	=> '1:|'.$etiquettes_y.'|2:|'.$etiquettes_x.'',
-
 
309
			'chxp'	=> '0,0|1,50|2,0',
-
 
310
			'chxr'	=> "0,$y_val_deb,$y_val_fin,$y_pas",
-
 
311
			'chm'	=> 'h,C3C3C3,0,0.5,1,-1|N,000000,0,1::1,8,1.0,ht',
-
 
312
			'chxs'	=> '0,007F00|1,007F00');
-
 
313
		return $graph;
-
 
314
	}
196
 
315
	
197
	private function getEvolUtilisateurParMois($param) {
316
	private function getEvolUtilisateurParMois($param) {
198
		// Récupération des données
317
		// Récupération des données
199
		$requete = 	'SELECT  DISTINCT identifiant , '.
318
		$requete = 	'SELECT  DISTINCT identifiant , '.
200
					'	MIN(date_creation) AS date_min, MAX(date_creation) AS date_max, '.
319
					'	MIN(date_creation) AS date_min, MAX(date_creation) AS date_max, '.
Line 288... Line 407...
288
		$y_pas = round($valeurs_max / 6);
407
		$y_pas = round($valeurs_max / 6);
289
		$etiquettes_x1 = implode('|', $jours);
408
		$etiquettes_x1 = implode('|', $jours);
290
		$etiquettes_x2 = implode('|', $annees_mois);
409
		$etiquettes_x2 = implode('|', $annees_mois);
291
		$etiquettes_y2 = 'Observations';
410
		$etiquettes_y2 = 'Observations';
Line 292... Line 411...
292
 
411
 
293
		// Construire de l'url de l'image
412
		// Construction de l'url de l'image
294
		$graph = array('cht' => 'lc',
413
		$graph = array('cht' => 'lc',
295
			'chtt'	=>	$titre,
414
			'chtt'	=>	$titre,
296
			'chs'	=>	'600x200',
415
			'chs'	=>	'600x200',
297
			'chco'	=>	'822013',
416
			'chco'	=>	'822013',
Line 938... Line 1057...
938
					((is_null($limit)) ? '' : "LIMIT $limit ");
1057
					((is_null($limit)) ? '' : "LIMIT $limit ");
939
		$evolution = $this->executerRequete($requete);
1058
		$evolution = $this->executerRequete($requete);
Line 940... Line 1059...
940
 
1059
 
941
		// Traitement du tableau
1060
		// Traitement du tableau
-
 
1061
		$donnees_traitees = array();
942
		$donnees_traitees = array();
1062
		if ($evolution !== false) {
943
		foreach ($evolution as $info) {
1063
			foreach ($evolution as $info) {
-
 
1064
				$donnees_traitees[$info['periode']] = $info['nbre'];
944
			$donnees_traitees[$info['periode']] = $info['nbre'];
1065
			}
945
		}
-
 
946
 
1066
		}
947
		return $donnees_traitees;
1067
		return $donnees_traitees;
Line 948... Line 1068...
948
	}
1068
	}
949
 
1069