42,7 → 42,8 |
$contexte = stream_context_create( |
array('http' => array( |
'method' => 'POST', |
'content' => http_build_query($graph)))); |
'content' => http_build_query($graph), |
'header' => 'Content-Type: application/x-www-form-urlencoded'))); |
$image = file_get_contents($url, false, $contexte); |
$this->envoyer($image, 'image/png', null, false); |
} else { |
55,12 → 56,13 |
$utilisateur = isset($_GET['utilisateur']) ? $this->bdd->quote($_GET['utilisateur']) : null; |
|
// Récupération des données |
$requete = "SELECT DATE_FORMAT(ci_meta_date_ajout, '%Y%m') AS periode, COUNT(ci_id_image) AS nbre ". |
"FROM cel_obs_images LEFT JOIN cel_images ON (coi_ce_image = ci_id_image) ". |
"WHERE ci_meta_date_ajout != '0000-00-00 00:00:00' ". |
((isset($utilisateur)) ? " AND ci_ce_utilisateur = $utilisateur " : ''). |
$requete = "SELECT DATE_FORMAT(date_creation, '%Y%m') AS periode, COUNT(ci.id_image) AS nbre ". |
"FROM cel_obs_images coi LEFT JOIN cel_images ci ON (coi.id_image = ci.id_image) ". |
"WHERE date_creation != '0000-00-00 00:00:00' ". |
((isset($utilisateur)) ? " AND courriel_utilisateur = $utilisateur " : ''). |
'GROUP BY periode '. |
'ORDER BY periode '; |
|
$resulats = $this->executerRequete($requete); |
|
$img_totale = array(); |
72,15 → 74,14 |
$dates = array(); |
$annees = array(); |
$les_mois = array(); |
$pas = 3; // intervalle de mois entre deux étiquettes |
$pas = 1; // intervalle de mois entre deux étiquettes |
$periode = 0; |
$cumul = 0; |
$img_totale_cumul = array(); |
|
foreach ($img_totale as $annee_mois => $nbre) { |
$annee = substr($annee_mois, 0, 4); |
$mois = substr($annee_mois, 4, 2); |
$mois_fmt_B = strftime('%b', strtotime("1999-$mois-01")); |
$mois_fmt_B = strftime('%b', strtotime("0000-$mois-01")); |
$cumul += $nbre; |
$img_totale_cumul[$annee_mois] = $cumul; |
|
96,17 → 97,16 |
$titre = "Évolution des images liées aux observations par mois"; |
$valeurs_y = implode(',', $img_totale); |
$valeurs_r = implode(',', $img_totale_cumul); |
$valeurs_max_y = (count($img_totale) > 0 ) ? max($img_totale) : 0; |
$valeurs_max_r = (count($img_totale_cumul) > 0 ) ? max($img_totale_cumul) : 0; |
$valeurs_max_y = max($img_totale); |
$valeurs_max_r = max($img_totale_cumul); |
$y_val_fin = $valeurs_max_y; |
$y_pas = round(($valeurs_max_y / 6), 0); |
$y_pas = 200; |
$r_val_fin = $valeurs_max_r; |
$r_pas = round(($valeurs_max_r / 6), 0); |
$r_pas = 1000; |
$etiquettes_x1 = implode('|', $les_mois); |
$etiquettes_x2 = implode('|', $annees); |
$etiquettes_y = 'Images'; |
$etiquettes_r2 = 'Cumul'; |
|
|
// Construire de l'url de l'image |
$graph = array('cht' => 'lc', |
'chtt' => $titre, |
114,12 → 114,12 |
'chco' => '007F00,99CC00', |
'chd' => 't:'.$valeurs_y.'|'.$valeurs_r, |
'chds' => "0,$valeurs_max_y,0,$valeurs_max_r", |
'chxt' => 'y,y,x,x,r,r', |
'chxl' => '1:|'.$etiquettes_y.'|3:|'.$etiquettes_x2.'|2:|'.$etiquettes_x1.'|5:|'.$etiquettes_r2, |
'chxp' => '1,50|3,0|5,50', |
'chxt' => 'y,y,x,x,r', |
'chxl' => '1:|'.$etiquettes_y.'|3:|'.$etiquettes_x2.'|2:|'.$etiquettes_x1.'', |
'chxp' => '1,50|3,0', |
'chxr' => "0,0,$y_val_fin,$y_pas|4,0,$r_val_fin,$r_pas", |
'chm' => 'N ** ,000000,0,-1,8,1.0,ht', |
'chxs' => '0,007F00|1,007F00|4,99CC00|5,99CC00'); |
'chxs' => '0,007F00|4,99CC00'); |
return $graph; |
} |
|
127,12 → 127,13 |
$utilisateur = isset($_GET['utilisateur']) ? $this->bdd->quote($_GET['utilisateur']) : null; |
|
// Récupération des données |
$requete = "SELECT DATE_FORMAT(ci_meta_date_ajout, '%Y%m') AS periode, COUNT(ci_id_image) AS nbre ". |
$requete = "SELECT DATE_FORMAT(date_creation, '%Y%m') AS periode, COUNT(id_image) AS nbre ". |
"FROM cel_images ". |
"WHERE ci_meta_date_ajout != '0000-00-00 00:00:00' ". |
((isset($utilisateur)) ? " AND ci_ce_utilisateur = $utilisateur " : ''). |
"WHERE date_creation != '0000-00-00 00:00:00' ". |
((isset($utilisateur)) ? " AND courriel_utilisateur = $utilisateur " : ''). |
'GROUP BY periode '. |
'ORDER BY periode '; |
|
$resulats = $this->executerRequete($requete); |
|
$img_totale = array(); |
144,7 → 145,7 |
$dates = array(); |
$annees = array(); |
$les_mois = array(); |
$pas = 3; // intervalle de mois entre deux étiquettes |
$pas = 1; // intervalle de mois entre deux étiquettes |
$periode = 0; |
$cumul = 0; |
$img_totale_cumul = array(); |
151,8 → 152,7 |
foreach ($img_totale as $annee_mois => $nbre) { |
$annee = substr($annee_mois, 0, 4); |
$mois = substr($annee_mois, 4, 2); |
$mois_fmt_B = strftime('%b', strtotime("1999-$mois-01")); |
$this->debug[] = $mois."/".$mois_fmt_B; |
$mois_fmt_B = strftime('%b', strtotime("0000-$mois-01")); |
$cumul += $nbre; |
$img_totale_cumul[$annee_mois] = $cumul; |
|
168,17 → 168,16 |
$titre = "Évolution du dépôt d'images par mois"; |
$valeurs_y = implode(',', $img_totale); |
$valeurs_r = implode(',', $img_totale_cumul); |
$valeurs_max_y = (count($img_totale) > 0 ) ? max($img_totale) : 0; |
$valeurs_max_r = (count($img_totale_cumul) > 0 ) ? max($img_totale_cumul) : 0; |
$valeurs_max_y = max($img_totale); |
$valeurs_max_r = max($img_totale_cumul); |
$y_val_fin = $valeurs_max_y; |
$y_pas = round(($valeurs_max_y / 6), 0); |
$y_pas = 500; |
$r_val_fin = $valeurs_max_r; |
$r_pas = round(($valeurs_max_r / 6), 0); |
$r_pas = 1000; |
$etiquettes_x1 = implode('|', $les_mois); |
$etiquettes_x2 = implode('|', $annees); |
$etiquettes_y = 'Images'; |
$etiquettes_r2 = 'Cumul'; |
|
|
// Construire de l'url de l'image |
$graph = array('cht' => 'lc', |
'chtt' => $titre, |
186,143 → 185,24 |
'chco' => '007F00,99CC00', |
'chd' => 't:'.$valeurs_y.'|'.$valeurs_r, |
'chds' => "0,$valeurs_max_y,0,$valeurs_max_r", |
'chxt' => 'y,y,x,x,r,r', |
'chxl' => '1:|'.$etiquettes_y.'|3:|'.$etiquettes_x2.'|2:|'.$etiquettes_x1.'|5:|'.$etiquettes_r2, |
'chxp' => '1,50|3,0|5,50', |
'chxt' => 'y,y,x,x,r', |
'chxl' => '1:|'.$etiquettes_y.'|3:|'.$etiquettes_x2.'|2:|'.$etiquettes_x1.'', |
'chxp' => '1,50|3,0', |
'chxr' => "0,0,$y_val_fin,$y_pas|4,0,$r_val_fin,$r_pas", |
'chm' => 'h,C3C3C3,0,0.5,1,-1|N ** ,000000,0,-1,8,1.0,ht', |
'chxs' => '0,007F00|1,007F00|4,99CC00|5,99CC00'); |
'chxs' => '0,007F00|4,99CC00'); |
return $graph; |
} |
|
private function getEvolImgParMoisGlissant($param) { |
$utilisateur = isset($_GET['utilisateur']) ? $this->bdd->quote($_GET['utilisateur']) : null; |
// Récupération des données |
$requete = "SELECT DATE_FORMAT(ci_meta_date_ajout, '%Y%m%d') AS periode, COUNT(ci_id_image) AS nbre ". |
"FROM cel_images ". |
"WHERE ci_meta_date_ajout != '0000-00-00 00:00:00' ". |
' AND ci_meta_date_ajout > DATE_SUB(NOW(), INTERVAL 31 DAY) '. |
((isset($utilisateur)) ? " AND ci_ce_utilisateur = $utilisateur " : ''). |
'GROUP BY periode '. |
'ORDER BY periode '; |
$resultats = $this->executerRequete($requete); |
|
// Traitement du resultat |
$img_totale = array(); |
if ($resultats !== false) { |
foreach ($resultats as $info) { |
$img_totale[$info['periode']] = $info['nbre']; |
} |
} |
|
// Trie des dates pour les étiquettes des axes |
$dates = array(); |
$annees = array(); |
$annees_mois = array(); |
$jours = array(); |
foreach ($img_totale as $annee_mois_jours => $nbre) { |
$annee = substr($annee_mois_jours, 0, 4); |
$mois = substr($annee_mois_jours, 4, 2); |
$jour = substr($annee_mois_jours, 6, 2); |
$annee_mois_fmt_B = strftime('%B %Y', mktime(0, 0, 0, $mois, 1, $annee)); |
|
if (!isset($dates[$annee][$mois][$jour])) { |
$annees_mois[] = (!isset($dates[$annee][$mois]) ? $annee_mois_fmt_B : ''); |
$jours[] = $jour; |
// Ajouter au tableau dates tjrs à la fin |
$dates[$annee][$mois][$jour] = 1; |
} |
} |
|
// Post traitement des données |
$titre = "Évolution du dépôt d'images sur un mois glissant"; |
$valeurs_max = (count($img_totale) > 0) ? max($img_totale) : 0; |
$valeurs = implode(',', $img_totale); |
$y_val_fin = $valeurs_max; |
$y_pas = round($valeurs_max / 6); |
$etiquettes_x1 = implode('|', $jours); |
$etiquettes_x2 = implode('|', $annees_mois); |
$etiquettes_y2 = 'Images'; |
|
// Construction de l'url de l'image |
$graph = array('cht' => 'lc', |
'chtt' => $titre, |
'chs' => '600x200', |
'chco' => '007F00', |
'chd' => 't:'.$valeurs, |
'chds' => '0,'.$valeurs_max, |
'chxt' => 'y,y,x,x', |
'chxl' => '1:|'.$etiquettes_y2.'|2:|'.$etiquettes_x1.'|3:|'.$etiquettes_x2, |
'chxp' => '0,0|1,50', |
'chxr' => "0,0,$y_val_fin,$y_pas", |
'chm' => 'h,C3C3C3,0,0.5,1,-1|N,000000,0,1::1,8,1.0,ht', |
'chxs' => '0,007F00|1,007F00'); |
$this->debug[] = $graph; |
return $graph; |
} |
|
private function getEvolImgParAn($param) { |
$utilisateur = isset($_GET['utilisateur']) ? $this->bdd->quote($_GET['utilisateur']) : null; |
// Récupération des données |
$requete = "SELECT DATE_FORMAT(ci_meta_date_ajout, '%Y') AS periode, COUNT(ci_id_image) AS nbre ". |
"FROM cel_images ". |
"WHERE ci_meta_date_ajout != '0000-00-00 00:00:00' ". |
((isset($utilisateur)) ? " AND ci_ce_utilisateur = $utilisateur " : ''). |
'GROUP BY periode '. |
'ORDER BY periode '; |
$resulats = $this->executerRequete($requete); |
|
$img_totale = array(); |
foreach ($resulats as $info) { |
$img_totale[$info['periode']] = $info['nbre']; |
} |
|
// Trie des dates pour les étiquettes des axes |
$dates = array(); |
$annees = array(); |
foreach ($img_totale as $annee => $nbre) { |
if (!isset($dates[$annee])) { |
$annees[] = $annee; |
$dates[$annee] = 1; |
} |
} |
|
// Post traitement des données |
$titre = "Évolution du dépôt d'images par année"; |
$valeurs = implode(',', $img_totale); |
$valeurs_max = (count($img_totale) > 0) ? max($img_totale) : 0; |
$valeurs_min = (count($img_totale) > 0) ? min($img_totale) : 0; |
$y_val_deb = preg_replace('/[0-9]{2}$/', '00', $valeurs_min); |
$y_val_fin = $valeurs_max; |
$y_pas = round(($valeurs_max / 6), 0); |
$etiquettes_x = implode('|', $annees);; |
$etiquettes_y = 'Images'; |
|
// Construire de l'url de l'image |
$graph = array('cht' => 'lc', |
'chtt' => $titre, |
'chs' => '600x200', |
'chco' => '007F00', |
'chd' => 't:'.$valeurs, |
'chds' => "$valeurs_min,$valeurs_max", |
'chxt' => 'y,y,x', |
'chxl' => '1:|'.$etiquettes_y.'|2:|'.$etiquettes_x.'', |
'chxp' => '0,0|1,50|2,0', |
'chxr' => "0,$y_val_deb,$y_val_fin,$y_pas", |
'chm' => 'h,C3C3C3,0,0.5,1,-1|N,000000,0,1::1,8,1.0,ht', |
'chxs' => '0,007F00|1,007F00'); |
return $graph; |
} |
|
private function getEvolUtilisateurParMois($param) { |
// Récupération des données |
$requete = 'SELECT DISTINCT identifiant , '. |
$requete = 'SELECT DISTINCT courriel_utilisateur , '. |
' MIN(date_creation) AS date_min, MAX(date_creation) AS date_max, '. |
' COUNT(id) AS obs_nbre '. |
'FROM cel_inventory '. |
' COUNT(id_observation) AS obs_nbre '. |
'FROM cel_obs '. |
"WHERE date_creation != '0000-00-00 00:00:00' ". |
" AND identifiant LIKE '%@%' ". |
'GROUP BY identifiant '. |
" AND courriel_utilisateur LIKE '%@%' ". |
'GROUP BY courriel_utilisateur '. |
'ORDER BY date_min ASC '; |
$resultats = $this->executerRequete($requete); |
|
331,12 → 211,12 |
$annees = array(); |
$utilisateurs = array(); |
$les_mois = array(); |
$pas = 3; // intervalle de mois entre deux étiquettes |
$pas = 2; // intervalle de mois entre deux étiquettes |
$periode = 0; |
foreach ($resultats as $enrg) { |
$annee = substr($enrg['date_min'], 0, 4); |
$mois = substr($enrg['date_min'], 5, 2); |
$mois_fmt_B = strftime('%b', strtotime("1999-$mois-01")); |
$mois_fmt_B = strftime('%b', strtotime("0000-$mois-01")); |
|
if (!isset($dates[$annee][$mois])) { |
$annees[] = (!isset($dates[$annee]) ? $annee : ''); |
379,9 → 259,9 |
// Récupération des données |
$format_date = '%Y%m%d'; |
$where = 'date_creation > DATE_SUB(NOW(), INTERVAL 31 DAY)'; |
$obs_totale = $this->executerRequeteEvol('cel_inventory', 'id', $format_date, $where); |
|
// Trie des dates pour les étiquettes des axes |
$obs_totale = $this->executerRequeteEvol('cel_obs', 'id_observation', $format_date, $where); |
|
// Tri des dates pour les étiquettes des axes |
$dates = array(); |
$annees = array(); |
$annees_mois = array(); |
402,7 → 282,7 |
|
// Post traitement des données |
$titre = 'Évolution des observations sur un mois glissant'; |
$valeurs_max = (count($obs_totale) > 0 ) ? max($obs_totale) : 0; |
$valeurs_max = max($obs_totale); |
$valeurs = implode(',', $obs_totale); |
$y_val_fin = $valeurs_max; |
$y_pas = round($valeurs_max / 6); |
410,7 → 290,7 |
$etiquettes_x2 = implode('|', $annees_mois); |
$etiquettes_y2 = 'Observations'; |
|
// Construction de l'url de l'image |
// Construire de l'url de l'image |
$graph = array('cht' => 'lc', |
'chtt' => $titre, |
'chs' => '600x200', |
423,12 → 303,13 |
'chxr' => "0,0,$y_val_fin,$y_pas", |
'chm' => 'h,C3C3C3,0,0.5,1,-1|N,000000,0,1::1,8,1.0,ht', |
'chxs' => '0,822013|1,822013'); |
|
return $graph; |
} |
|
private function getEvolObsParMois($param) { |
// Récupération des données |
$obs_totale = $this->executerRequeteEvol('cel_inventory', 'id'); |
$obs_totale = $this->executerRequeteEvol('cel_obs', 'id_observation'); |
|
// Trie des dates pour les étiquettes des axes |
$dates = array(); |
441,7 → 322,7 |
foreach ($obs_totale as $annee_mois => $nbre) { |
$annee = substr($annee_mois, 0, 4); |
$mois = substr($annee_mois, 4, 2); |
$mois_fmt_B = strftime('%b', strtotime("1999-$mois-01")); |
$mois_fmt_B = strftime('%b', strtotime("0000-$mois-01")); |
$cumul += $nbre; |
$obs_totale_cumul[$annee_mois] = $cumul; |
|
457,8 → 338,8 |
$titre = 'Évolution des observations par mois'; |
$valeurs_y = implode(',', $obs_totale); |
$valeurs_r = implode(',', $obs_totale_cumul); |
$valeurs_max_y = (count($obs_totale) > 0 ) ? max($obs_totale) : 0; |
$valeurs_max_r = (count($obs_totale_cumul) > 0 ) ? max($obs_totale_cumul) : 0; |
$valeurs_max_y = max($obs_totale); |
$valeurs_max_r = max($obs_totale_cumul); |
$y_val_fin = $valeurs_max_y; |
$y_pas = round(($valeurs_max_y / 6), 0); |
$r_val_fin = $valeurs_max_r; |
466,7 → 347,7 |
$etiquettes_x1 = implode('|', $les_mois); |
$etiquettes_x2 = implode('|', $annees); |
$etiquettes_y2 = 'Observations'; |
$etiquettes_r2 = 'Cumul'; |
$etiquettes_r2 = 'Cumul obs.'; |
|
// Construire de l'url de l'image |
$graph = array('cht' => 'lc', |
486,7 → 367,7 |
|
private function getEvolObsParAn($param) { |
// Récupération des données |
$obs_totale = $this->executerRequeteEvol('cel_inventory', 'id', '%Y'); |
$obs_totale = $this->executerRequeteEvol('cel_obs', 'id_observation', '%Y'); |
|
// Trie des dates pour les étiquettes des axes |
$dates = array(); |
501,8 → 382,8 |
// Post traitement des données |
$titre = 'Évolution des observations par année'; |
$valeurs = implode(',', $obs_totale); |
$valeurs_max = (count($obs_totale) > 0 ) ? max($obs_totale) : 0; |
$valeurs_min = (count($obs_totale) > 0 ) ? min($obs_totale) : 0; |
$valeurs_max = max($obs_totale); |
$valeurs_min = min($obs_totale); |
$y_val_deb = preg_replace('/[0-9]{2}$/', '00', $valeurs_min); |
$y_val_fin = $valeurs_max; |
$y_pas = round(($valeurs_max / 6), 0); |
527,14 → 408,14 |
|
private function getEvolObsHisto($param) { |
// Récupération des données |
$obs_totale = $this->executerRequeteEvol('cel_inventory', 'id'); |
$obs_identifiee = $this->executerRequeteEvol('cel_inventory', 'id', "identifiant LIKE '%@%' "); |
$obs_totale = $this->executerRequeteEvol('cel_obs', 'id_observation'); |
$obs_identifiee = $this->executerRequeteEvol('cel_obs', 'id_observation', "courriel_utilisateur LIKE '%@%' "); |
$lignes = array('total', 'obs. identifiée'); |
|
// Post traitement des données |
$titre = 'Évolution des observations'; |
$valeurs = implode(',', $obs_totale).'|'.implode(',', $obs_identifiee); |
$valeurs_max = (count($obs_totale) > 0 ) ? max($obs_totale) : 0; |
$valeurs_max = max($obs_totale); |
$etiquettes = implode('|', array_keys($lignes)); |
|
// Construire de l'url de l'image |
552,8 → 433,8 |
|
private function getNbreObsIdVsTest($param) { |
// Récupération des données |
$obs_totale = $this->executerRequeteNombre('cel_inventory', 'id'); |
$obs_identifiee = $this->executerRequeteNombre('cel_inventory', 'id', "identifiant LIKE '%@%' "); |
$obs_totale = $this->executerRequeteNombre('cel_obs', 'id_observation'); |
$obs_identifiee = $this->executerRequeteNombre('cel_obs', 'id_observation', "courriel_utilisateur LIKE '%@%' "); |
$obs_test = $obs_totale - $obs_identifiee; |
$pourcent_identifiee = round(($obs_identifiee / ($obs_totale / 100)), 2).'%'; |
$pourcent_anonyme = round(($obs_test / ($obs_totale / 100)), 2).'%'; |
581,8 → 462,8 |
|
private function getNbreObsPublicVsPrivee($param) { |
// Récupération des données |
$obs_totale = $this->executerRequeteNombre('cel_inventory', 'id'); |
$obs_public = $this->executerRequeteNombre('cel_inventory', 'id', 'transmission = 1'); |
$obs_totale = $this->executerRequeteNombre('cel_obs', 'id_observation'); |
$obs_public = $this->executerRequeteNombre('cel_obs', 'id_observation', 'transmission = 1'); |
$obs_privee = $obs_totale - $obs_public; |
$pourcent_privee = round(($obs_privee / ($obs_totale / 100)), 2).'%'; |
$pourcent_public = round(($obs_public / ($obs_totale / 100)), 2).'%'; |
610,8 → 491,8 |
|
private function getNbreObsDetermineeVsInconnue($param) { |
// Récupération des données |
$obs_totale = $this->executerRequeteNombre('cel_inventory', 'id'); |
$obs_determinee = $this->executerRequeteNombre('cel_inventory', 'id', 'num_nom_sel != 0'); |
$obs_totale = $this->executerRequeteNombre('cel_obs', 'id_observation'); |
$obs_determinee = $this->executerRequeteNombre('cel_obs', 'id_observation', 'nom_sel_nn != 0'); |
$obs_inconnue = $obs_totale - $obs_determinee; |
$pourcent_determinee = round(($obs_determinee / ($obs_totale / 100)), 2).'%'; |
$pourcent_inconnue = round(($obs_inconnue / ($obs_totale / 100)), 2).'%'; |
639,19 → 520,19 |
|
private function getNbreObsAvecIndicationGeo($param) { |
// Récupération des données |
$total = $this->executerRequeteNombre('cel_inventory', 'id'); |
$where_commune = $this->creerWhereIndicationGeo('location'); |
$obs['commune'] = $this->executerRequeteNombre('cel_inventory', 'id', $where_commune); |
$where_commune_id = $this->creerWhereIndicationGeo('id_location'); |
$obs['commune identifiée'] = $this->executerRequeteNombre('cel_inventory', 'id', $where_commune_id); |
$total = $this->executerRequeteNombre('cel_obs', 'id_observation'); |
$where_commune = $this->creerWhereIndicationGeo('zone_geo'); |
$obs['commune'] = $this->executerRequeteNombre('cel_obs', 'id_observation', $where_commune); |
$where_commune_id = $this->creerWhereIndicationGeo('ce_zone_geo'); |
$obs['commune identifiée'] = $this->executerRequeteNombre('cel_obs', 'id_observation', $where_commune_id); |
$where_lieudit = $this->creerWhereIndicationGeo('lieudit'); |
$obs['lieu-dit'] = $this->executerRequeteNombre('cel_inventory', 'id', $where_lieudit); |
$obs['lieu-dit'] = $this->executerRequeteNombre('cel_obs', 'id_observation', $where_lieudit); |
$where_station = $this->creerWhereIndicationGeo('station'); |
$obs['station'] = $this->executerRequeteNombre('cel_inventory', 'id', $where_station); |
$obs['station'] = $this->executerRequeteNombre('cel_obs', 'id_observation', $where_station); |
$where_milieu = $this->creerWhereIndicationGeo('milieu'); |
$obs['milieu'] = $this->executerRequeteNombre('cel_inventory', 'id', $where_milieu); |
$where_xy = $this->creerWhereIndicationGeo('coord_x').' AND '.$this->creerWhereIndicationGeo('coord_y'); |
$obs['coordonnée'] = $this->executerRequeteNombre('cel_inventory', 'id', $where_xy); |
$obs['milieu'] = $this->executerRequeteNombre('cel_obs', 'id_observation', $where_milieu); |
$where_xy = $this->creerWhereIndicationGeo('latitude').' AND '.$this->creerWhereIndicationGeo('longitude'); |
$obs['coordonnée'] = $this->executerRequeteNombre('cel_obs', 'id_observation', $where_xy); |
|
$donnees = array(); |
$num = 1; |
705,13 → 586,13 |
|
// Récupération des données |
$max_obs = array(); |
$max_obs[] = $this->executerRequeteEvol('cel_inventory', 'id', '%Y%m%d', |
$max_obs[] = $this->executerRequeteEvol('cel_obs', 'id_observation', '%Y%m%d', |
"date_creation NOT LIKE '$aujourdhui%' ", 'date_creation'); |
$max_obs[] = $this->executerRequeteEvol('cel_inventory', 'id', '%Y%m%d', |
$max_obs[] = $this->executerRequeteEvol('cel_obs', 'id_observation', '%Y%m%d', |
"date_modification NOT LIKE '$aujourdhui%' ", 'date_modification'); |
$max_obs[] = $this->executerRequeteEvol('cel_inventory', 'id', '%Y%m%d', |
$max_obs[] = $this->executerRequeteEvol('cel_obs', 'id_observation', '%Y%m%d', |
"date_transmission NOT LIKE '$aujourdhui%' ", 'date_transmission'); |
$obs_aujourdhui = $this->executerRequeteNombre('cel_inventory', 'id', |
$obs_aujourdhui = $this->executerRequeteNombre('cel_obs', 'id_observation', |
"(date_creation LIKE '$aujourdhui%' |
OR date_modification LIKE '$aujourdhui%' |
OR date_transmission LIKE '$aujourdhui%') "); |
759,9 → 640,9 |
|
private function getNbreObsParUtilisateur($param) { |
// Récupération des données |
$requete = 'SELECT identifiant, COUNT(id) AS nbre '. |
'FROM cel_inventory '. |
'GROUP BY identifiant '; |
$requete = 'SELECT courriel_utilisateur, COUNT(id_observation) AS nbre '. |
'FROM cel_obs '. |
'GROUP BY courriel_utilisateur '; |
$utilisateurs = $this->executerRequete($requete); |
|
// Création des classes d'utilisateurs |
769,7 → 650,7 |
$donnees['Utilisateurs'] = $classes; |
$valeur_max = 0; |
foreach ($utilisateurs as $utilisateur) { |
$id = $utilisateur['identifiant']; |
$id = $utilisateur['courriel_utilisateur']; |
$nbre = $utilisateur['nbre']; |
|
// Détermination de la classe |
826,9 → 707,9 |
|
private function getNbreObsParUtilisateurEtTest($param) { |
// Récupération des données |
$requete = 'SELECT identifiant, COUNT(id) AS nbre '. |
'FROM cel_inventory '. |
'GROUP BY identifiant '; |
$requete = 'SELECT courriel_utilisateur, COUNT(id_observation) AS nbre '. |
'FROM cel_obs '. |
'GROUP BY courriel_utilisateur '; |
$utilisateurs = $this->executerRequete($requete); |
|
// Création des classes d'utilisateurs |
837,7 → 718,7 |
$donnees['Tests'] = $classes; |
$valeur_max = 0; |
foreach ($utilisateurs as $utilisateur) { |
$id = $utilisateur['identifiant']; |
$id = $utilisateur['courriel_utilisateur']; |
$nbre = $utilisateur['nbre']; |
|
// Détermination de la classe |
901,11 → 782,11 |
$utilisateur = isset($_GET['utilisateur']) ? $this->bdd->quote($_GET['utilisateur']) : false; |
|
// Récupération des données de la base |
$requete = 'SELECT identifiant, DATE_FORMAT(date_creation, "%w-%H") AS periode, (ROUND(LOG10(COUNT(id))) + 1) AS nbre '. |
'FROM cel_inventory '. |
$requete = 'SELECT courriel_utilisateur, DATE_FORMAT(date_creation, "%w-%H") AS periode, (ROUND(LOG10(COUNT(id_observation))) + 1) AS nbre '. |
'FROM cel_obs '. |
'WHERE date_creation != "0000-00-00 00:00:00" '. |
' AND identifiant '.($utilisateur ? "= $utilisateur " : 'LIKE "%@%" '). |
'GROUP BY periode, identifiant '; |
' AND courriel_utilisateur '.($utilisateur ? "= $utilisateur " : 'LIKE "%@%" '). |
'GROUP BY periode, courriel_utilisateur '; |
$infos = $this->executerRequete($requete); |
|
// Traitement résulat requête |
972,13 → 853,13 |
|
private function getNuagePointsObsAnciennete($param) { |
// Récupération des données de la base |
$requete = 'SELECT DISTINCT identifiant , '. |
$requete = 'SELECT DISTINCT courriel_utilisateur , '. |
' MIN(date_creation) AS date_min, MAX(date_creation) AS date_max, '. |
' COUNT(id) AS obs_nbre '. |
'FROM cel_inventory '. |
' COUNT(id_observation) AS obs_nbre '. |
'FROM cel_obs '. |
"WHERE date_creation != '0000-00-00 00:00:00' ". |
" AND identifiant LIKE '%@%' ". |
'GROUP BY identifiant '. |
" AND courriel_utilisateur LIKE '%@%' ". |
'GROUP BY courriel_utilisateur '. |
'ORDER BY date_min ASC '; |
$resultats = $this->executerRequete($requete); |
|
1051,20 → 932,20 |
$requete = "SELECT DATE_FORMAT($champ_date, '$format_date') AS periode, COUNT($champ) AS nbre ". |
"FROM $table ". |
"WHERE $champ_date != '0000-00-00 00:00:00' ". |
(($utilisateur != false) ? " AND identifiant = $utilisateur " : ''). |
(($utilisateur != false) ? " AND courriel_utilisateur = $utilisateur " : ''). |
((is_null($where)) ? '' : " AND $where "). |
'GROUP BY periode '. |
((is_null($order_by)) ? '' : "ORDER BY $order_by "); |
((is_null($limit)) ? '' : "LIMIT $limit "); |
|
$evolution = $this->executerRequete($requete); |
|
// Traitement du tableau |
$donnees_traitees = array(); |
if ($evolution !== false) { |
foreach ($evolution as $info) { |
$donnees_traitees[$info['periode']] = $info['nbre']; |
} |
foreach ($evolution as $info) { |
$donnees_traitees[$info['periode']] = $info['nbre']; |
} |
|
return $donnees_traitees; |
} |
|
1073,14 → 954,15 |
if (isset($_GET['utilisateur'])) { |
$utilisateur = $this->bdd->quote($_GET['utilisateur']); |
$where = isset($where) ? $where.' AND ' : ''; |
$where .= "identifiant = $utilisateur "; |
$where .= "courriel_utilisateur = $utilisateur "; |
} |
|
$requete = "SELECT COUNT($champ) AS nbre ". |
"FROM $table ". |
((isset($where)) ? "WHERE $where " : ''); |
|
|
$nbre = $this->executerRequete($requete, 'Column'); |
return $nbre; |
} |
} |
} |
?> |