Subversion Repositories eFlore/Applications.cel

Compare Revisions

Ignore whitespace Rev 842 → Rev 843

/trunk/jrest/services/CelStatistique.php
118,7 → 118,7
'chxp' => '1,50|3,0|5,50',
'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|4,99CC00|5,99CC00');
'chxs' => '0,007F00|1,007F00|4,99CC00|5,99CC00');
return $graph;
}
 
190,10 → 190,129
'chxp' => '1,50|3,0|5,50',
'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|4,99CC00|5,99CC00');
'chxs' => '0,007F00|1,007F00|4,99CC00|5,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 , '.
290,7 → 409,7
$etiquettes_x2 = implode('|', $annees_mois);
$etiquettes_y2 = 'Observations';
 
// Construire de l'url de l'image
// Construction de l'url de l'image
$graph = array('cht' => 'lc',
'chtt' => $titre,
'chs' => '600x200',
940,10 → 1059,11
 
// Traitement du tableau
$donnees_traitees = array();
foreach ($evolution as $info) {
$donnees_traitees[$info['periode']] = $info['nbre'];
if ($evolution !== false) {
foreach ($evolution as $info) {
$donnees_traitees[$info['periode']] = $info['nbre'];
}
}
 
return $donnees_traitees;
}