Subversion Repositories eFlore/Applications.cel

Compare Revisions

Ignore whitespace Rev 2142 → Rev 2143

/trunk/jrest/services/CelStatistique.php
54,7 → 54,7
 
private function getEvolImgLieesParMois($param) {
$utilisateur = isset($_GET['utilisateur']) ? Cel::db()->quote($_GET['utilisateur']) : null;
 
// Récupération des données
$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) ".
63,7 → 63,7
'GROUP BY periode '.
'ORDER BY periode ';
 
$resulats = Cel::db()->executerRequete($requete);
$resulats = Cel::db()->requeter($requete);
 
$img_totale = array();
foreach ($resulats as $info) {
125,7 → 125,7
 
private function getEvolImgParMois($param) {
$utilisateur = isset($_GET['utilisateur']) ? Cel::db()->quote($_GET['utilisateur']) : null;
 
// Récupération des données
$requete = "SELECT DATE_FORMAT(date_creation, '%Y%m') AS periode, COUNT(id_image) AS nbre ".
"FROM cel_images ".
134,7 → 134,7
'GROUP BY periode '.
'ORDER BY periode ';
 
$resulats = Cel::db()->executerRequete($requete);
$resulats = Cel::db()->requeter($requete);
 
$img_totale = array();
foreach ($resulats as $info) {
204,7 → 204,7
" AND courriel_utilisateur LIKE '%@%' ".
'GROUP BY courriel_utilisateur '.
'ORDER BY date_min ASC ';
$resultats = Cel::db()->executerRequete($requete);
$resultats = Cel::db()->requeter($requete);
 
// Trie des données et des dates pour les étiquettes des axes
$dates = array();
260,7 → 260,7
$format_date = '%Y%m%d';
$where = 'date_creation > DATE_SUB(NOW(), INTERVAL 31 DAY)';
$obs_totale = $this->executerRequeteEvol('cel_obs', 'id_observation', $format_date, $where);
 
// Tri des dates pour les étiquettes des axes
$dates = array();
$annees = array();
271,7 → 271,7
$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;
279,7 → 279,7
$dates[$annee][$mois][$jour] = 1;
}
}
 
// Post traitement des données
$titre = 'Évolution des observations sur un mois glissant';
$valeurs_max = max($obs_totale);
303,7 → 303,7
'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;
}
 
565,7 → 565,7
'chm' => 'B,FF000080,0,1.0,5.0');
return $graph;
}
 
private function creerWhereIndicationGeo($champ) {
$where = null;
if (isset($champ)) {
596,7 → 596,7
"(date_creation LIKE '$aujourdhui%'
OR date_modification LIKE '$aujourdhui%'
OR date_transmission LIKE '$aujourdhui%') ");
 
// Cummul des obs crées, modifiées, transmises par jour
$donnees = array();
foreach ($max_obs as $obs_par_jour) {
643,7 → 643,7
$requete = 'SELECT courriel_utilisateur, COUNT(id_observation) AS nbre '.
'FROM cel_obs '.
'GROUP BY courriel_utilisateur ';
$utilisateurs = Cel::db()->executerRequete($requete);
$utilisateurs = Cel::db()->requeter($requete);
 
// Création des classes d'utilisateurs
$classes = array('00->10' => 0, '11->50' => 0, '51->100' => 0, '101->500' => 0, '500->∞' => 0);
710,7 → 710,7
$requete = 'SELECT courriel_utilisateur, COUNT(id_observation) AS nbre '.
'FROM cel_obs '.
'GROUP BY courriel_utilisateur ';
$utilisateurs = Cel::db()->executerRequete($requete);
$utilisateurs = Cel::db()->requeter($requete);
 
// Création des classes d'utilisateurs
$classes = array('00->10' => 0, '11->50' => 0, '51->100' => 0, '101->500' => 0, '500->∞' => 0);
780,7 → 780,7
 
private function getNuagePointsObsParHeureEtJourSemaine($param) {
$utilisateur = isset($_GET['utilisateur']) ? Cel::db()->quote($_GET['utilisateur']) : false;
 
// Récupération des données de la base
$requete = 'SELECT courriel_utilisateur, DATE_FORMAT(date_creation, "%w-%H") AS periode, (ROUND(LOG10(COUNT(id_observation))) + 1) AS nbre '.
'FROM cel_obs '.
787,8 → 787,8
'WHERE date_creation != "0000-00-00 00:00:00" '.
' AND courriel_utilisateur '.($utilisateur ? "= $utilisateur " : 'LIKE "%@%" ').
'GROUP BY periode, courriel_utilisateur ';
$infos = Cel::db()->executerRequete($requete);
$infos = Cel::db()->requeter($requete);
 
// Traitement résulat requête
$observations = array();
foreach ($infos as $info) {
798,7 → 798,7
$observations[$info['periode']] = $info['nbre'];
}
}
 
// Postraitement des données
// Jour de la semaine
$donnees['joursSemaine'] = array();
861,7 → 861,7
" AND courriel_utilisateur LIKE '%@%' ".
'GROUP BY courriel_utilisateur '.
'ORDER BY date_min ASC ';
$resultats = Cel::db()->executerRequete($requete);
$resultats = Cel::db()->requeter($requete);
 
// Trie des données
$max_obs = 0;
928,7 → 928,7
 
private function executerRequeteEvol($table, $champ, $format_date = '%Y%m', $where = null, $champ_date = 'date_creation', $order_by = null, $limit = null) {
$utilisateur = isset($_GET['utilisateur']) ? Cel::db()->quote($_GET['utilisateur']) : false;
 
$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' ".
938,7 → 938,7
((is_null($order_by)) ? '' : "ORDER BY $order_by ");
((is_null($limit)) ? '' : "LIMIT $limit ");
 
$evolution = Cel::db()->executerRequete($requete);
$evolution = Cel::db()->requeter($requete);
 
// Traitement du tableau
$donnees_traitees = array();
956,12 → 956,12
$where = isset($where) ? $where.' AND ' : '';
$where .= "courriel_utilisateur = $utilisateur ";
}
 
$requete = "SELECT COUNT($champ) AS nbre ".
"FROM $table ".
((isset($where)) ? "WHERE $where " : '');
 
$nbre = Cel::db()->executerRequete($requete, 'Column');
$nbre = Cel::db()->requeterValeurUnique($requete);
return $nbre;
}
}