Subversion Repositories eFlore/Applications.cel

Rev

Rev 3002 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 3002 Rev 3835
Line 58... Line 58...
58
	private function getEvolImgLieesParMois($param) {
58
	private function getEvolImgLieesParMois($param) {
59
		$utilisateur = isset($_GET['utilisateur']) ? Cel::db()->quote($_GET['utilisateur']) : null;
59
		$utilisateur = isset($_GET['utilisateur']) ? Cel::db()->quote($_GET['utilisateur']) : null;
Line 60... Line 60...
60
 
60
 
61
		// Récupération des données
61
		// Récupération des données
62
		$requete = "SELECT DATE_FORMAT(date_creation, '%Y%m') AS periode, COUNT(id_image) AS nbre ".
62
		$requete = "SELECT DATE_FORMAT(date_creation, '%Y%m') AS periode, COUNT(id_image) AS nbre ".
63
			"FROM cel_images ".
63
			"FROM cel_images_export ".
64
			"WHERE date_creation != '0000-00-00 00:00:00' ".
64
			"WHERE date_creation != '0000-00-00 00:00:00' ".
65
			'	AND ce_observation IS NOT NULL AND ce_observation != 0 '.
65
			'	AND ce_observation IS NOT NULL AND ce_observation != 0 '.
66
			((isset($utilisateur)) ? " AND courriel_utilisateur = $utilisateur " : '').
66
			((isset($utilisateur)) ? " AND courriel_utilisateur = $utilisateur " : '').
67
			'GROUP BY periode '.
67
			'GROUP BY periode '.
Line 130... Line 130...
130
	private function getEvolImgParMois($param) {
130
	private function getEvolImgParMois($param) {
131
		$utilisateur = isset($_GET['utilisateur']) ? Cel::db()->quote($_GET['utilisateur']) : null;
131
		$utilisateur = isset($_GET['utilisateur']) ? Cel::db()->quote($_GET['utilisateur']) : null;
Line 132... Line 132...
132
 
132
 
133
		// Récupération des données
133
		// Récupération des données
134
		$requete = 	"SELECT DATE_FORMAT(date_creation, '%Y%m') AS periode, COUNT(id_image) AS nbre ".
134
		$requete = 	"SELECT DATE_FORMAT(date_creation, '%Y%m') AS periode, COUNT(id_image) AS nbre ".
135
			"FROM cel_images ".
135
			"FROM cel_images_export ".
136
			"WHERE date_creation != '0000-00-00 00:00:00' ".
136
			"WHERE date_creation != '0000-00-00 00:00:00' ".
137
			((isset($utilisateur)) ? " AND courriel_utilisateur = $utilisateur " : '').
137
			((isset($utilisateur)) ? " AND courriel_utilisateur = $utilisateur " : '').
138
			'GROUP BY periode '.
138
			'GROUP BY periode '.
Line 201... Line 201...
201
	private function getEvolUtilisateurParMois($param) {
201
	private function getEvolUtilisateurParMois($param) {
202
		// Récupération des données
202
		// Récupération des données
203
		$requete = 	'SELECT  DISTINCT courriel_utilisateur , '.
203
		$requete = 	'SELECT  DISTINCT courriel_utilisateur , '.
204
					'	MIN(date_creation) AS date_min, MAX(date_creation) AS date_max, '.
204
					'	MIN(date_creation) AS date_min, MAX(date_creation) AS date_max, '.
205
					'	COUNT(id_observation) AS obs_nbre '.
205
					'	COUNT(id_observation) AS obs_nbre '.
206
					'FROM cel_obs '.
206
					'FROM cel_export_total '.
207
					"WHERE date_creation != '0000-00-00 00:00:00' ".
207
					"WHERE date_creation != '0000-00-00 00:00:00' ".
208
					"	AND courriel_utilisateur LIKE '%@%' ".
208
					"	AND courriel_utilisateur LIKE '%@%' ".
209
					'GROUP BY courriel_utilisateur '.
209
					'GROUP BY courriel_utilisateur '.
210
					'ORDER BY date_min ASC ';
210
					'ORDER BY date_min ASC ';
211
		$resultats = Cel::db()->requeter($requete);
211
		$resultats = Cel::db()->requeter($requete);
Line 261... Line 261...
261
 
261
 
262
	private function getEvolObsParMoisGlissant($param) {
262
	private function getEvolObsParMoisGlissant($param) {
263
		// Récupération des données
263
		// Récupération des données
264
		$format_date = '%Y%m%d';
264
		$format_date = '%Y%m%d';
265
		$where = 'date_creation > DATE_SUB(NOW(), INTERVAL 31 DAY)';
265
		$where = 'date_creation > DATE_SUB(NOW(), INTERVAL 31 DAY)';
Line 266... Line 266...
266
		$obs_totale = $this->executerRequeteEvol('cel_obs', 'id_observation', $format_date, $where);
266
		$obs_totale = $this->executerRequeteEvol('cel_export_total', 'id_observation', $format_date, $where);
267
 
267
 
268
		// Tri des dates pour les étiquettes des axes
268
		// Tri des dates pour les étiquettes des axes
269
		$dates = array();
269
		$dates = array();
Line 311... Line 311...
311
		return $graph;
311
		return $graph;
312
	}
312
	}
Line 313... Line 313...
313
 
313
 
314
	private function getEvolObsParMois($param) {
314
	private function getEvolObsParMois($param) {
315
		// Récupération des données
315
		// Récupération des données
Line 316... Line 316...
316
		$obs_totale = $this->executerRequeteEvol('cel_obs', 'id_observation');
316
		$obs_totale = $this->executerRequeteEvol('cel_export_total', 'id_observation');
317
 
317
 
318
		// Trie des dates pour les étiquettes des axes
318
		// Trie des dates pour les étiquettes des axes
319
		$dates = array();
319
		$dates = array();
Line 369... Line 369...
369
		return $graph;
369
		return $graph;
370
	}
370
	}
Line 371... Line 371...
371
 
371
 
372
	private function getEvolObsParAn($param) {
372
	private function getEvolObsParAn($param) {
373
		// Récupération des données
373
		// Récupération des données
Line 374... Line 374...
374
		$obs_totale = $this->executerRequeteEvol('cel_obs', 'id_observation', '%Y');
374
		$obs_totale = $this->executerRequeteEvol('cel_export_total', 'id_observation', '%Y');
375
 
375
 
376
		// Trie des dates pour les étiquettes des axes
376
		// Trie des dates pour les étiquettes des axes
377
		$dates = array();
377
		$dates = array();
Line 410... Line 410...
410
		return $graph;
410
		return $graph;
411
	}
411
	}
Line 412... Line 412...
412
 
412
 
413
	private function getEvolObsHisto($param) {
413
	private function getEvolObsHisto($param) {
414
		// Récupération des données
414
		// Récupération des données
415
		$obs_totale = $this->executerRequeteEvol('cel_obs', 'id_observation');
415
		$obs_totale = $this->executerRequeteEvol('cel_export_total', 'id_observation');
416
		$obs_identifiee = $this->executerRequeteEvol('cel_obs', 'id_observation', "courriel_utilisateur LIKE '%@%' ");
416
		$obs_identifiee = $this->executerRequeteEvol('cel_export_total', 'id_observation', "courriel_utilisateur LIKE '%@%' ");
Line 417... Line 417...
417
		$lignes = array('total', 'obs. identifiée');
417
		$lignes = array('total', 'obs. identifiée');
418
 
418
 
419
		// Post traitement des données
419
		// Post traitement des données
Line 435... Line 435...
435
		return $graph;
435
		return $graph;
436
	}
436
	}
Line 437... Line 437...
437
 
437
 
438
	private function getNbreObsIdVsTest($param) {
438
	private function getNbreObsIdVsTest($param) {
439
		// Récupération des données
439
		// Récupération des données
440
		$obs_totale = $this->executerRequeteNombre('cel_obs', 'id_observation');
440
		$obs_totale = $this->executerRequeteNombre('cel_export_total', 'id_observation');
441
		$obs_identifiee = $this->executerRequeteNombre('cel_obs', 'id_observation', "courriel_utilisateur LIKE '%@%' ");
441
		$obs_identifiee = $this->executerRequeteNombre('cel_export_total', 'id_observation', "courriel_utilisateur LIKE '%@%' ");
442
		$obs_test = $obs_totale - $obs_identifiee;
442
		$obs_test = $obs_totale - $obs_identifiee;
443
		$pourcent_identifiee = round(($obs_identifiee / ($obs_totale / 100)), 2).'%';
443
		$pourcent_identifiee = round(($obs_identifiee / ($obs_totale / 100)), 2).'%';
Line 444... Line 444...
444
		$pourcent_anonyme = round(($obs_test / ($obs_totale / 100)), 2).'%';
444
		$pourcent_anonyme = round(($obs_test / ($obs_totale / 100)), 2).'%';
Line 464... Line 464...
464
		return $graph;
464
		return $graph;
465
	}
465
	}
Line 466... Line 466...
466
 
466
 
467
	private function getNbreObsPublicVsPrivee($param) {
467
	private function getNbreObsPublicVsPrivee($param) {
468
		// Récupération des données
468
		// Récupération des données
469
		$obs_totale = $this->executerRequeteNombre('cel_obs', 'id_observation');
469
		$obs_totale = $this->executerRequeteNombre('cel_export_total', 'id_observation');
470
		$obs_public = $this->executerRequeteNombre('cel_obs', 'id_observation', 'transmission = 1');
470
		$obs_public = $this->executerRequeteNombre('cel_export_total', 'id_observation', 'transmission = 1');
471
		$obs_privee = $obs_totale - $obs_public;
471
		$obs_privee = $obs_totale - $obs_public;
472
		$pourcent_privee = round(($obs_privee / ($obs_totale / 100)), 2).'%';
472
		$pourcent_privee = round(($obs_privee / ($obs_totale / 100)), 2).'%';
Line 473... Line 473...
473
		$pourcent_public = round(($obs_public / ($obs_totale / 100)), 2).'%';
473
		$pourcent_public = round(($obs_public / ($obs_totale / 100)), 2).'%';
Line 493... Line 493...
493
		return $graph;
493
		return $graph;
494
	}
494
	}
Line 495... Line 495...
495
 
495
 
496
	private function getNbreObsDetermineeVsInconnue($param) {
496
	private function getNbreObsDetermineeVsInconnue($param) {
497
		// Récupération des données
497
		// Récupération des données
498
		$obs_totale = $this->executerRequeteNombre('cel_obs', 'id_observation');
498
		$obs_totale = $this->executerRequeteNombre('cel_export_total', 'id_observation');
499
		$obs_determinee = $this->executerRequeteNombre('cel_obs', 'id_observation', 'nom_sel_nn != 0');
499
		$obs_determinee = $this->executerRequeteNombre('cel_export_total', 'id_observation', 'nom_sel_nn != 0');
500
		$obs_inconnue = $obs_totale - $obs_determinee;
500
		$obs_inconnue = $obs_totale - $obs_determinee;
501
		$pourcent_determinee = round(($obs_determinee / ($obs_totale / 100)), 2).'%';
501
		$pourcent_determinee = round(($obs_determinee / ($obs_totale / 100)), 2).'%';
Line 502... Line 502...
502
		$pourcent_inconnue = round(($obs_inconnue / ($obs_totale / 100)), 2).'%';
502
		$pourcent_inconnue = round(($obs_inconnue / ($obs_totale / 100)), 2).'%';
Line 522... Line 522...
522
		return $graph;
522
		return $graph;
523
	}
523
	}
Line 524... Line 524...
524
 
524
 
525
	private function getNbreObsAvecIndicationGeo($param) {
525
	private function getNbreObsAvecIndicationGeo($param) {
526
		// Récupération des données
526
		// Récupération des données
527
		$total = $this->executerRequeteNombre('cel_obs', 'id_observation');
527
		$total = $this->executerRequeteNombre('cel_export_total', 'id_observation');
528
		$where_commune = $this->creerWhereIndicationGeo('zone_geo');
528
		$where_commune = $this->creerWhereIndicationGeo('zone_geo');
529
		$obs['commune'] = $this->executerRequeteNombre('cel_obs', 'id_observation', $where_commune);
529
		$obs['commune'] = $this->executerRequeteNombre('cel_export_total', 'id_observation', $where_commune);
530
		$where_commune_id = $this->creerWhereIndicationGeo('ce_zone_geo');
530
		$where_commune_id = $this->creerWhereIndicationGeo('ce_zone_geo');
531
		$obs['commune identifiée'] = $this->executerRequeteNombre('cel_obs', 'id_observation', $where_commune_id);
531
		$obs['commune identifiée'] = $this->executerRequeteNombre('cel_export_total', 'id_observation', $where_commune_id);
532
		$where_lieudit = $this->creerWhereIndicationGeo('lieudit');
532
		$where_lieudit = $this->creerWhereIndicationGeo('lieudit');
533
		$obs['lieu-dit'] = $this->executerRequeteNombre('cel_obs', 'id_observation', $where_lieudit);
533
		$obs['lieu-dit'] = $this->executerRequeteNombre('cel_export_total', 'id_observation', $where_lieudit);
534
		$where_station = $this->creerWhereIndicationGeo('station');
534
		$where_station = $this->creerWhereIndicationGeo('station');
535
		$obs['station'] = $this->executerRequeteNombre('cel_obs', 'id_observation', $where_station);
535
		$obs['station'] = $this->executerRequeteNombre('cel_export_total', 'id_observation', $where_station);
536
		$where_milieu = $this->creerWhereIndicationGeo('milieu');
536
		$where_milieu = $this->creerWhereIndicationGeo('milieu');
537
		$obs['milieu'] = $this->executerRequeteNombre('cel_obs', 'id_observation', $where_milieu);
537
		$obs['milieu'] = $this->executerRequeteNombre('cel_export_total', 'id_observation', $where_milieu);
538
		$where_xy = $this->creerWhereIndicationGeo('latitude').' AND '.$this->creerWhereIndicationGeo('longitude');
538
		$where_xy = $this->creerWhereIndicationGeo('latitude').' AND '.$this->creerWhereIndicationGeo('longitude');
Line 539... Line 539...
539
		$obs['coordonnée'] = $this->executerRequeteNombre('cel_obs', 'id_observation', $where_xy);
539
		$obs['coordonnée'] = $this->executerRequeteNombre('cel_export_total', 'id_observation', $where_xy);
540
 
540
 
541
		$donnees = array();
541
		$donnees = array();
542
		$num = 1;
542
		$num = 1;
Line 588... Line 588...
588
		}
588
		}
589
		$aujourdhui_fmt = strftime('%d %b %Y', strtotime($aujourdhui));
589
		$aujourdhui_fmt = strftime('%d %b %Y', strtotime($aujourdhui));
Line 590... Line 590...
590
 
590
 
591
		// Récupération des données
591
		// Récupération des données
592
		$max_obs = array();
592
		$max_obs = array();
593
		$max_obs[] = $this->executerRequeteEvol('cel_obs', 'id_observation', '%Y%m%d',
593
		$max_obs[] = $this->executerRequeteEvol('cel_export_total', 'id_observation', '%Y%m%d',
594
			"date_creation NOT LIKE '$aujourdhui%' ", 'date_creation');
594
			"date_creation NOT LIKE '$aujourdhui%' ", 'date_creation');
595
		$max_obs[] = $this->executerRequeteEvol('cel_obs', 'id_observation', '%Y%m%d',
595
		$max_obs[] = $this->executerRequeteEvol('cel_export_total', 'id_observation', '%Y%m%d',
596
			"date_modification NOT LIKE '$aujourdhui%' ", 'date_modification');
596
			"date_modification NOT LIKE '$aujourdhui%' ", 'date_modification');
597
		$max_obs[] = $this->executerRequeteEvol('cel_obs', 'id_observation', '%Y%m%d',
597
		$max_obs[] = $this->executerRequeteEvol('cel_export_total', 'id_observation', '%Y%m%d',
598
			"date_transmission NOT LIKE '$aujourdhui%' ", 'date_transmission');
598
			"date_transmission NOT LIKE '$aujourdhui%' ", 'date_transmission');
599
		$obs_aujourdhui = $this->executerRequeteNombre('cel_obs', 'id_observation',
599
		$obs_aujourdhui = $this->executerRequeteNombre('cel_export_total', 'id_observation',
600
			"(date_creation LIKE '$aujourdhui%'
600
			"(date_creation LIKE '$aujourdhui%'
601
				OR date_modification LIKE '$aujourdhui%'
601
				OR date_modification LIKE '$aujourdhui%'
Line 602... Line 602...
602
				OR date_transmission LIKE '$aujourdhui%') ");
602
				OR date_transmission LIKE '$aujourdhui%') ");
Line 643... Line 643...
643
	}
643
	}
Line 644... Line 644...
644
 
644
 
645
	private function getNbreObsParUtilisateur($param) {
645
	private function getNbreObsParUtilisateur($param) {
646
		// Récupération des données
646
		// Récupération des données
647
		$requete = 	'SELECT courriel_utilisateur, COUNT(id_observation) AS nbre '.
647
		$requete = 	'SELECT courriel_utilisateur, COUNT(id_observation) AS nbre '.
648
					'FROM cel_obs '.
648
					'FROM cel_export_total '.
649
					'GROUP BY courriel_utilisateur ';
649
					'GROUP BY courriel_utilisateur ';
Line 650... Line 650...
650
		$utilisateurs = Cel::db()->requeter($requete);
650
		$utilisateurs = Cel::db()->requeter($requete);
651
 
651
 
Line 710... Line 710...
710
	}
710
	}
Line 711... Line 711...
711
 
711
 
712
	private function getNbreObsParUtilisateurEtTest($param) {
712
	private function getNbreObsParUtilisateurEtTest($param) {
713
		// Récupération des données
713
		// Récupération des données
714
		$requete = 	'SELECT courriel_utilisateur, COUNT(id_observation) AS nbre '.
714
		$requete = 	'SELECT courriel_utilisateur, COUNT(id_observation) AS nbre '.
715
					'FROM cel_obs '.
715
					'FROM cel_export_total '.
716
					'GROUP BY courriel_utilisateur ';
716
					'GROUP BY courriel_utilisateur ';
Line 717... Line 717...
717
		$utilisateurs = Cel::db()->requeter($requete);
717
		$utilisateurs = Cel::db()->requeter($requete);
718
 
718
 
Line 785... Line 785...
785
	private function getNuagePointsObsParHeureEtJourSemaine($param) {
785
	private function getNuagePointsObsParHeureEtJourSemaine($param) {
786
		$utilisateur = isset($_GET['utilisateur']) ? Cel::db()->quote($_GET['utilisateur']) : false;
786
		$utilisateur = isset($_GET['utilisateur']) ? Cel::db()->quote($_GET['utilisateur']) : false;
Line 787... Line 787...
787
 
787
 
788
		// Récupération des données de la base
788
		// Récupération des données de la base
789
		$requete = 	'SELECT courriel_utilisateur, DATE_FORMAT(date_creation, "%w-%H") AS periode, (ROUND(LOG10(COUNT(id_observation))) + 1) AS nbre '.
789
		$requete = 	'SELECT courriel_utilisateur, DATE_FORMAT(date_creation, "%w-%H") AS periode, (ROUND(LOG10(COUNT(id_observation))) + 1) AS nbre '.
790
					'FROM cel_obs '.
790
					'FROM cel_export_total '.
791
					'WHERE date_creation != "0000-00-00 00:00:00" '.
791
					'WHERE date_creation != "0000-00-00 00:00:00" '.
792
					'	AND courriel_utilisateur '.($utilisateur ? "= $utilisateur " : 'LIKE "%@%" ').
792
					'	AND courriel_utilisateur '.($utilisateur ? "= $utilisateur " : 'LIKE "%@%" ').
793
					'GROUP BY periode, courriel_utilisateur ';
793
					'GROUP BY periode, courriel_utilisateur ';
Line 858... Line 858...
858
	private function getNuagePointsObsAnciennete($param) {
858
	private function getNuagePointsObsAnciennete($param) {
859
		// Récupération des données de la base
859
		// Récupération des données de la base
860
		$requete = 	'SELECT  DISTINCT courriel_utilisateur , '.
860
		$requete = 	'SELECT  DISTINCT courriel_utilisateur , '.
861
					'	MIN(date_creation) AS date_min, MAX(date_creation) AS date_max, '.
861
					'	MIN(date_creation) AS date_min, MAX(date_creation) AS date_max, '.
862
					'	COUNT(id_observation) AS obs_nbre '.
862
					'	COUNT(id_observation) AS obs_nbre '.
863
					'FROM cel_obs '.
863
					'FROM cel_export_total '.
864
					"WHERE date_creation != '0000-00-00 00:00:00' ".
864
					"WHERE date_creation != '0000-00-00 00:00:00' ".
865
					"	AND courriel_utilisateur LIKE '%@%' ".
865
					"	AND courriel_utilisateur LIKE '%@%' ".
866
					'GROUP BY courriel_utilisateur '.
866
					'GROUP BY courriel_utilisateur '.
867
					'ORDER BY date_min ASC ';
867
					'ORDER BY date_min ASC ';
868
		$resultats = Cel::db()->requeter($requete);
868
		$resultats = Cel::db()->requeter($requete);