Line 40... |
Line 40... |
40 |
$serveur = (isset($_GET['serveur']) && preg_match('/^[0-9]$/', $_GET['serveur'])) ? $_GET['serveur'].'.' : '';
|
40 |
$serveur = (isset($_GET['serveur']) && preg_match('/^[0-9]$/', $_GET['serveur'])) ? $_GET['serveur'].'.' : '';
|
41 |
$url = "http://{$serveur}chart.apis.google.com/chart";
|
41 |
$url = "http://{$serveur}chart.apis.google.com/chart";
|
42 |
$contexte = stream_context_create(
|
42 |
$contexte = stream_context_create(
|
43 |
array('http' => array(
|
43 |
array('http' => array(
|
44 |
'method' => 'POST',
|
44 |
'method' => 'POST',
|
45 |
'content' => http_build_query($graph))));
|
45 |
'content' => http_build_query($graph),
|
- |
|
46 |
'header' => 'Content-Type: application/x-www-form-urlencoded')));
|
46 |
$image = file_get_contents($url, false, $contexte);
|
47 |
$image = file_get_contents($url, false, $contexte);
|
47 |
$this->envoyer($image, 'image/png', null, false);
|
48 |
$this->envoyer($image, 'image/png', null, false);
|
48 |
} else {
|
49 |
} else {
|
49 |
$info = 'Un problème est survenu : '.print_r($this->messages, true);
|
50 |
$info = 'Un problème est survenu : '.print_r($this->messages, true);
|
50 |
$this->envoyer($info);
|
51 |
$this->envoyer($info);
|
Line 53... |
Line 54... |
53 |
|
54 |
|
54 |
private function getEvolImgLieesParMois($param) {
|
55 |
private function getEvolImgLieesParMois($param) {
|
Line 55... |
Line 56... |
55 |
$utilisateur = isset($_GET['utilisateur']) ? $this->bdd->quote($_GET['utilisateur']) : null;
|
56 |
$utilisateur = isset($_GET['utilisateur']) ? $this->bdd->quote($_GET['utilisateur']) : null;
|
56 |
|
57 |
|
57 |
// Récupération des données
|
58 |
// Récupération des données
|
58 |
$requete = "SELECT DATE_FORMAT(ci_meta_date_ajout, '%Y%m') AS periode, COUNT(ci_id_image) AS nbre ".
|
59 |
$requete = "SELECT DATE_FORMAT(date_creation, '%Y%m') AS periode, COUNT(ci.id_image) AS nbre ".
|
59 |
"FROM cel_obs_images LEFT JOIN cel_images ON (coi_ce_image = ci_id_image) ".
|
60 |
"FROM cel_obs_images coi LEFT JOIN cel_images ci ON (coi.id_image = ci.id_image) ".
|
60 |
"WHERE ci_meta_date_ajout != '0000-00-00 00:00:00' ".
|
61 |
"WHERE date_creation != '0000-00-00 00:00:00' ".
|
61 |
((isset($utilisateur)) ? " AND ci_ce_utilisateur = $utilisateur " : '').
|
62 |
((isset($utilisateur)) ? " AND courriel_utilisateur = $utilisateur " : '').
|
- |
|
63 |
'GROUP BY periode '.
|
62 |
'GROUP BY periode '.
|
64 |
'ORDER BY periode ';
|
Line 63... |
Line 65... |
63 |
'ORDER BY periode ';
|
65 |
|
64 |
$resulats = $this->executerRequete($requete);
|
66 |
$resulats = $this->executerRequete($requete);
|
65 |
|
67 |
|
Line 70... |
Line 72... |
70 |
|
72 |
|
71 |
// Trie des dates pour les étiquettes des axes
|
73 |
// Trie des dates pour les étiquettes des axes
|
72 |
$dates = array();
|
74 |
$dates = array();
|
73 |
$annees = array();
|
75 |
$annees = array();
|
74 |
$les_mois = array();
|
76 |
$les_mois = array();
|
75 |
$pas = 3; // intervalle de mois entre deux étiquettes
|
77 |
$pas = 1; // intervalle de mois entre deux étiquettes
|
76 |
$periode = 0;
|
78 |
$periode = 0;
|
77 |
$cumul = 0;
|
79 |
$cumul = 0;
|
78 |
$img_totale_cumul = array();
|
- |
|
79 |
|
80 |
$img_totale_cumul = array();
|
80 |
foreach ($img_totale as $annee_mois => $nbre) {
|
81 |
foreach ($img_totale as $annee_mois => $nbre) {
|
81 |
$annee = substr($annee_mois, 0, 4);
|
82 |
$annee = substr($annee_mois, 0, 4);
|
82 |
$mois = substr($annee_mois, 4, 2);
|
83 |
$mois = substr($annee_mois, 4, 2);
|
83 |
$mois_fmt_B = strftime('%b', strtotime("1999-$mois-01"));
|
84 |
$mois_fmt_B = strftime('%b', strtotime("0000-$mois-01"));
|
84 |
$cumul += $nbre;
|
85 |
$cumul += $nbre;
|
Line 85... |
Line 86... |
85 |
$img_totale_cumul[$annee_mois] = $cumul;
|
86 |
$img_totale_cumul[$annee_mois] = $cumul;
|
86 |
|
87 |
|
Line 94... |
Line 95... |
94 |
|
95 |
|
95 |
// Post traitement des données
|
96 |
// Post traitement des données
|
96 |
$titre = "Évolution des images liées aux observations par mois";
|
97 |
$titre = "Évolution des images liées aux observations par mois";
|
97 |
$valeurs_y = implode(',', $img_totale);
|
98 |
$valeurs_y = implode(',', $img_totale);
|
98 |
$valeurs_r = implode(',', $img_totale_cumul);
|
99 |
$valeurs_r = implode(',', $img_totale_cumul);
|
99 |
$valeurs_max_y = (count($img_totale) > 0 ) ? max($img_totale) : 0;
|
100 |
$valeurs_max_y = max($img_totale);
|
100 |
$valeurs_max_r = (count($img_totale_cumul) > 0 ) ? max($img_totale_cumul) : 0;
|
101 |
$valeurs_max_r = max($img_totale_cumul);
|
101 |
$y_val_fin = $valeurs_max_y;
|
102 |
$y_val_fin = $valeurs_max_y;
|
102 |
$y_pas = round(($valeurs_max_y / 6), 0);
|
103 |
$y_pas = 200;
|
103 |
$r_val_fin = $valeurs_max_r;
|
104 |
$r_val_fin = $valeurs_max_r;
|
104 |
$r_pas = round(($valeurs_max_r / 6), 0);
|
105 |
$r_pas = 1000;
|
105 |
$etiquettes_x1 = implode('|', $les_mois);
|
106 |
$etiquettes_x1 = implode('|', $les_mois);
|
106 |
$etiquettes_x2 = implode('|', $annees);
|
107 |
$etiquettes_x2 = implode('|', $annees);
|
107 |
$etiquettes_y = 'Images';
|
- |
|
108 |
$etiquettes_r2 = 'Cumul';
|
108 |
$etiquettes_y = 'Images';
|
109 |
|
109 |
|
110 |
// Construire de l'url de l'image
|
110 |
// Construire de l'url de l'image
|
111 |
$graph = array('cht' => 'lc',
|
111 |
$graph = array('cht' => 'lc',
|
112 |
'chtt' => $titre,
|
112 |
'chtt' => $titre,
|
113 |
'chs' => '600x200',
|
113 |
'chs' => '600x200',
|
114 |
'chco' => '007F00,99CC00',
|
114 |
'chco' => '007F00,99CC00',
|
115 |
'chd' => 't:'.$valeurs_y.'|'.$valeurs_r,
|
115 |
'chd' => 't:'.$valeurs_y.'|'.$valeurs_r,
|
116 |
'chds' => "0,$valeurs_max_y,0,$valeurs_max_r",
|
116 |
'chds' => "0,$valeurs_max_y,0,$valeurs_max_r",
|
117 |
'chxt' => 'y,y,x,x,r,r',
|
117 |
'chxt' => 'y,y,x,x,r',
|
118 |
'chxl' => '1:|'.$etiquettes_y.'|3:|'.$etiquettes_x2.'|2:|'.$etiquettes_x1.'|5:|'.$etiquettes_r2,
|
118 |
'chxl' => '1:|'.$etiquettes_y.'|3:|'.$etiquettes_x2.'|2:|'.$etiquettes_x1.'',
|
119 |
'chxp' => '1,50|3,0|5,50',
|
119 |
'chxp' => '1,50|3,0',
|
120 |
'chxr' => "0,0,$y_val_fin,$y_pas|4,0,$r_val_fin,$r_pas",
|
120 |
'chxr' => "0,0,$y_val_fin,$y_pas|4,0,$r_val_fin,$r_pas",
|
121 |
'chm' => 'N ** ,000000,0,-1,8,1.0,ht',
|
121 |
'chm' => 'N ** ,000000,0,-1,8,1.0,ht',
|
122 |
'chxs' => '0,007F00|1,007F00|4,99CC00|5,99CC00');
|
122 |
'chxs' => '0,007F00|4,99CC00');
|
123 |
return $graph;
|
123 |
return $graph;
|
Line 124... |
Line 124... |
124 |
}
|
124 |
}
|
125 |
|
125 |
|
Line 126... |
Line 126... |
126 |
private function getEvolImgParMois($param) {
|
126 |
private function getEvolImgParMois($param) {
|
127 |
$utilisateur = isset($_GET['utilisateur']) ? $this->bdd->quote($_GET['utilisateur']) : null;
|
127 |
$utilisateur = isset($_GET['utilisateur']) ? $this->bdd->quote($_GET['utilisateur']) : null;
|
128 |
|
128 |
|
129 |
// Récupération des données
|
129 |
// Récupération des données
|
130 |
$requete = "SELECT DATE_FORMAT(ci_meta_date_ajout, '%Y%m') AS periode, COUNT(ci_id_image) AS nbre ".
|
130 |
$requete = "SELECT DATE_FORMAT(date_creation, '%Y%m') AS periode, COUNT(id_image) AS nbre ".
|
131 |
"FROM cel_images ".
|
131 |
"FROM cel_images ".
|
132 |
"WHERE ci_meta_date_ajout != '0000-00-00 00:00:00' ".
|
132 |
"WHERE date_creation != '0000-00-00 00:00:00' ".
|
- |
|
133 |
((isset($utilisateur)) ? " AND courriel_utilisateur = $utilisateur " : '').
|
133 |
((isset($utilisateur)) ? " AND ci_ce_utilisateur = $utilisateur " : '').
|
134 |
'GROUP BY periode '.
|
Line 134... |
Line 135... |
134 |
'GROUP BY periode '.
|
135 |
'ORDER BY periode ';
|
135 |
'ORDER BY periode ';
|
136 |
|
136 |
$resulats = $this->executerRequete($requete);
|
137 |
$resulats = $this->executerRequete($requete);
|
Line 142... |
Line 143... |
142 |
|
143 |
|
143 |
// Trie des dates pour les étiquettes des axes
|
144 |
// Trie des dates pour les étiquettes des axes
|
144 |
$dates = array();
|
145 |
$dates = array();
|
145 |
$annees = array();
|
146 |
$annees = array();
|
146 |
$les_mois = array();
|
147 |
$les_mois = array();
|
147 |
$pas = 3; // intervalle de mois entre deux étiquettes
|
148 |
$pas = 1; // intervalle de mois entre deux étiquettes
|
148 |
$periode = 0;
|
149 |
$periode = 0;
|
149 |
$cumul = 0;
|
150 |
$cumul = 0;
|
150 |
$img_totale_cumul = array();
|
151 |
$img_totale_cumul = array();
|
151 |
foreach ($img_totale as $annee_mois => $nbre) {
|
152 |
foreach ($img_totale as $annee_mois => $nbre) {
|
152 |
$annee = substr($annee_mois, 0, 4);
|
153 |
$annee = substr($annee_mois, 0, 4);
|
153 |
$mois = substr($annee_mois, 4, 2);
|
154 |
$mois = substr($annee_mois, 4, 2);
|
154 |
$mois_fmt_B = strftime('%b', strtotime("1999-$mois-01"));
|
- |
|
155 |
$this->debug[] = $mois."/".$mois_fmt_B;
|
155 |
$mois_fmt_B = strftime('%b', strtotime("0000-$mois-01"));
|
156 |
$cumul += $nbre;
|
156 |
$cumul += $nbre;
|
Line 157... |
Line 157... |
157 |
$img_totale_cumul[$annee_mois] = $cumul;
|
157 |
$img_totale_cumul[$annee_mois] = $cumul;
|
158 |
|
158 |
|
Line 166... |
Line 166... |
166 |
|
166 |
|
167 |
// Post traitement des données
|
167 |
// Post traitement des données
|
168 |
$titre = "Évolution du dépôt d'images par mois";
|
168 |
$titre = "Évolution du dépôt d'images par mois";
|
169 |
$valeurs_y = implode(',', $img_totale);
|
169 |
$valeurs_y = implode(',', $img_totale);
|
170 |
$valeurs_r = implode(',', $img_totale_cumul);
|
170 |
$valeurs_r = implode(',', $img_totale_cumul);
|
171 |
$valeurs_max_y = (count($img_totale) > 0 ) ? max($img_totale) : 0;
|
171 |
$valeurs_max_y = max($img_totale);
|
172 |
$valeurs_max_r = (count($img_totale_cumul) > 0 ) ? max($img_totale_cumul) : 0;
|
172 |
$valeurs_max_r = max($img_totale_cumul);
|
173 |
$y_val_fin = $valeurs_max_y;
|
173 |
$y_val_fin = $valeurs_max_y;
|
174 |
$y_pas = round(($valeurs_max_y / 6), 0);
|
174 |
$y_pas = 500;
|
175 |
$r_val_fin = $valeurs_max_r;
|
175 |
$r_val_fin = $valeurs_max_r;
|
176 |
$r_pas = round(($valeurs_max_r / 6), 0);
|
176 |
$r_pas = 1000;
|
177 |
$etiquettes_x1 = implode('|', $les_mois);
|
177 |
$etiquettes_x1 = implode('|', $les_mois);
|
178 |
$etiquettes_x2 = implode('|', $annees);
|
178 |
$etiquettes_x2 = implode('|', $annees);
|
179 |
$etiquettes_y = 'Images';
|
- |
|
180 |
$etiquettes_r2 = 'Cumul';
|
179 |
$etiquettes_y = 'Images';
|
181 |
|
180 |
|
182 |
// Construire de l'url de l'image
|
181 |
// Construire de l'url de l'image
|
183 |
$graph = array('cht' => 'lc',
|
182 |
$graph = array('cht' => 'lc',
|
184 |
'chtt' => $titre,
|
183 |
'chtt' => $titre,
|
185 |
'chs' => '600x200',
|
184 |
'chs' => '600x200',
|
186 |
'chco' => '007F00,99CC00',
|
185 |
'chco' => '007F00,99CC00',
|
187 |
'chd' => 't:'.$valeurs_y.'|'.$valeurs_r,
|
186 |
'chd' => 't:'.$valeurs_y.'|'.$valeurs_r,
|
188 |
'chds' => "0,$valeurs_max_y,0,$valeurs_max_r",
|
187 |
'chds' => "0,$valeurs_max_y,0,$valeurs_max_r",
|
189 |
'chxt' => 'y,y,x,x,r,r',
|
188 |
'chxt' => 'y,y,x,x,r',
|
190 |
'chxl' => '1:|'.$etiquettes_y.'|3:|'.$etiquettes_x2.'|2:|'.$etiquettes_x1.'|5:|'.$etiquettes_r2,
|
189 |
'chxl' => '1:|'.$etiquettes_y.'|3:|'.$etiquettes_x2.'|2:|'.$etiquettes_x1.'',
|
191 |
'chxp' => '1,50|3,0|5,50',
|
190 |
'chxp' => '1,50|3,0',
|
192 |
'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",
|
193 |
'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',
|
194 |
'chxs' => '0,007F00|1,007F00|4,99CC00|5,99CC00');
|
193 |
'chxs' => '0,007F00|4,99CC00');
|
195 |
return $graph;
|
194 |
return $graph;
|
Line 196... |
Line -... |
196 |
}
|
- |
|
197 |
|
- |
|
198 |
private function getEvolImgParMoisGlissant($param) {
|
- |
|
199 |
$utilisateur = isset($_GET['utilisateur']) ? $this->bdd->quote($_GET['utilisateur']) : null;
|
- |
|
200 |
// Récupération des données
|
- |
|
201 |
$requete = "SELECT DATE_FORMAT(ci_meta_date_ajout, '%Y%m%d') AS periode, COUNT(ci_id_image) AS nbre ".
|
- |
|
202 |
"FROM cel_images ".
|
- |
|
203 |
"WHERE ci_meta_date_ajout != '0000-00-00 00:00:00' ".
|
- |
|
204 |
' AND ci_meta_date_ajout > DATE_SUB(NOW(), INTERVAL 31 DAY) '.
|
- |
|
205 |
((isset($utilisateur)) ? " AND ci_ce_utilisateur = $utilisateur " : '').
|
- |
|
206 |
'GROUP BY periode '.
|
- |
|
207 |
'ORDER BY periode ';
|
- |
|
208 |
$resultats = $this->executerRequete($requete);
|
- |
|
209 |
|
- |
|
210 |
// Traitement du resultat
|
- |
|
211 |
$img_totale = array();
|
- |
|
212 |
if ($resultats !== false) {
|
- |
|
213 |
foreach ($resultats as $info) {
|
- |
|
214 |
$img_totale[$info['periode']] = $info['nbre'];
|
- |
|
215 |
}
|
- |
|
216 |
}
|
- |
|
217 |
|
- |
|
218 |
// Trie des dates pour les étiquettes des axes
|
- |
|
219 |
$dates = array();
|
- |
|
220 |
$annees = array();
|
- |
|
221 |
$annees_mois = array();
|
- |
|
222 |
$jours = array();
|
- |
|
223 |
foreach ($img_totale as $annee_mois_jours => $nbre) {
|
- |
|
224 |
$annee = substr($annee_mois_jours, 0, 4);
|
- |
|
225 |
$mois = substr($annee_mois_jours, 4, 2);
|
- |
|
226 |
$jour = substr($annee_mois_jours, 6, 2);
|
- |
|
227 |
$annee_mois_fmt_B = strftime('%B %Y', mktime(0, 0, 0, $mois, 1, $annee));
|
- |
|
228 |
|
- |
|
229 |
if (!isset($dates[$annee][$mois][$jour])) {
|
- |
|
230 |
$annees_mois[] = (!isset($dates[$annee][$mois]) ? $annee_mois_fmt_B : '');
|
- |
|
231 |
$jours[] = $jour;
|
- |
|
232 |
// Ajouter au tableau dates tjrs à la fin
|
- |
|
233 |
$dates[$annee][$mois][$jour] = 1;
|
- |
|
234 |
}
|
- |
|
235 |
}
|
- |
|
236 |
|
- |
|
237 |
// Post traitement des données
|
- |
|
238 |
$titre = "Évolution du dépôt d'images sur un mois glissant";
|
- |
|
239 |
$valeurs_max = (count($img_totale) > 0) ? max($img_totale) : 0;
|
- |
|
240 |
$valeurs = implode(',', $img_totale);
|
- |
|
241 |
$y_val_fin = $valeurs_max;
|
- |
|
242 |
$y_pas = round($valeurs_max / 6);
|
- |
|
243 |
$etiquettes_x1 = implode('|', $jours);
|
- |
|
244 |
$etiquettes_x2 = implode('|', $annees_mois);
|
- |
|
245 |
$etiquettes_y2 = 'Images';
|
- |
|
246 |
|
- |
|
247 |
// Construction de l'url de l'image
|
- |
|
248 |
$graph = array('cht' => 'lc',
|
- |
|
249 |
'chtt' => $titre,
|
- |
|
250 |
'chs' => '600x200',
|
- |
|
251 |
'chco' => '007F00',
|
- |
|
252 |
'chd' => 't:'.$valeurs,
|
- |
|
253 |
'chds' => '0,'.$valeurs_max,
|
- |
|
254 |
'chxt' => 'y,y,x,x',
|
- |
|
255 |
'chxl' => '1:|'.$etiquettes_y2.'|2:|'.$etiquettes_x1.'|3:|'.$etiquettes_x2,
|
- |
|
256 |
'chxp' => '0,0|1,50',
|
- |
|
257 |
'chxr' => "0,0,$y_val_fin,$y_pas",
|
- |
|
258 |
'chm' => 'h,C3C3C3,0,0.5,1,-1|N,000000,0,1::1,8,1.0,ht',
|
- |
|
259 |
'chxs' => '0,007F00|1,007F00');
|
- |
|
260 |
$this->debug[] = $graph;
|
- |
|
261 |
return $graph;
|
- |
|
262 |
}
|
- |
|
263 |
|
- |
|
264 |
private function getEvolImgParAn($param) {
|
- |
|
265 |
$utilisateur = isset($_GET['utilisateur']) ? $this->bdd->quote($_GET['utilisateur']) : null;
|
- |
|
266 |
// Récupération des données
|
- |
|
267 |
$requete = "SELECT DATE_FORMAT(ci_meta_date_ajout, '%Y') AS periode, COUNT(ci_id_image) AS nbre ".
|
- |
|
268 |
"FROM cel_images ".
|
- |
|
269 |
"WHERE ci_meta_date_ajout != '0000-00-00 00:00:00' ".
|
- |
|
270 |
((isset($utilisateur)) ? " AND ci_ce_utilisateur = $utilisateur " : '').
|
- |
|
271 |
'GROUP BY periode '.
|
- |
|
272 |
'ORDER BY periode ';
|
- |
|
273 |
$resulats = $this->executerRequete($requete);
|
- |
|
274 |
|
- |
|
275 |
$img_totale = array();
|
- |
|
276 |
foreach ($resulats as $info) {
|
- |
|
277 |
$img_totale[$info['periode']] = $info['nbre'];
|
- |
|
278 |
}
|
- |
|
279 |
|
- |
|
280 |
// Trie des dates pour les étiquettes des axes
|
- |
|
281 |
$dates = array();
|
- |
|
282 |
$annees = array();
|
- |
|
283 |
foreach ($img_totale as $annee => $nbre) {
|
- |
|
284 |
if (!isset($dates[$annee])) {
|
- |
|
285 |
$annees[] = $annee;
|
- |
|
286 |
$dates[$annee] = 1;
|
- |
|
287 |
}
|
- |
|
288 |
}
|
- |
|
289 |
|
- |
|
290 |
// Post traitement des données
|
- |
|
291 |
$titre = "Évolution du dépôt d'images par année";
|
- |
|
292 |
$valeurs = implode(',', $img_totale);
|
- |
|
293 |
$valeurs_max = (count($img_totale) > 0) ? max($img_totale) : 0;
|
- |
|
294 |
$valeurs_min = (count($img_totale) > 0) ? min($img_totale) : 0;
|
- |
|
295 |
$y_val_deb = preg_replace('/[0-9]{2}$/', '00', $valeurs_min);
|
- |
|
296 |
$y_val_fin = $valeurs_max;
|
- |
|
297 |
$y_pas = round(($valeurs_max / 6), 0);
|
- |
|
298 |
$etiquettes_x = implode('|', $annees);;
|
- |
|
299 |
$etiquettes_y = 'Images';
|
- |
|
300 |
|
- |
|
301 |
// Construire de l'url de l'image
|
- |
|
302 |
$graph = array('cht' => 'lc',
|
- |
|
303 |
'chtt' => $titre,
|
- |
|
304 |
'chs' => '600x200',
|
- |
|
305 |
'chco' => '007F00',
|
- |
|
306 |
'chd' => 't:'.$valeurs,
|
- |
|
307 |
'chds' => "$valeurs_min,$valeurs_max",
|
- |
|
308 |
'chxt' => 'y,y,x',
|
- |
|
309 |
'chxl' => '1:|'.$etiquettes_y.'|2:|'.$etiquettes_x.'',
|
- |
|
310 |
'chxp' => '0,0|1,50|2,0',
|
- |
|
311 |
'chxr' => "0,$y_val_deb,$y_val_fin,$y_pas",
|
- |
|
312 |
'chm' => 'h,C3C3C3,0,0.5,1,-1|N,000000,0,1::1,8,1.0,ht',
|
- |
|
313 |
'chxs' => '0,007F00|1,007F00');
|
- |
|
314 |
return $graph;
|
- |
|
315 |
}
|
195 |
}
|
316 |
|
196 |
|
317 |
private function getEvolUtilisateurParMois($param) {
|
197 |
private function getEvolUtilisateurParMois($param) {
|
318 |
// Récupération des données
|
198 |
// Récupération des données
|
319 |
$requete = 'SELECT DISTINCT identifiant , '.
|
199 |
$requete = 'SELECT DISTINCT courriel_utilisateur , '.
|
320 |
' MIN(date_creation) AS date_min, MAX(date_creation) AS date_max, '.
|
200 |
' MIN(date_creation) AS date_min, MAX(date_creation) AS date_max, '.
|
321 |
' COUNT(id) AS obs_nbre '.
|
201 |
' COUNT(id_observation) AS obs_nbre '.
|
322 |
'FROM cel_inventory '.
|
202 |
'FROM cel_obs '.
|
323 |
"WHERE date_creation != '0000-00-00 00:00:00' ".
|
203 |
"WHERE date_creation != '0000-00-00 00:00:00' ".
|
324 |
" AND identifiant LIKE '%@%' ".
|
204 |
" AND courriel_utilisateur LIKE '%@%' ".
|
325 |
'GROUP BY identifiant '.
|
205 |
'GROUP BY courriel_utilisateur '.
|
Line 326... |
Line 206... |
326 |
'ORDER BY date_min ASC ';
|
206 |
'ORDER BY date_min ASC ';
|
327 |
$resultats = $this->executerRequete($requete);
|
207 |
$resultats = $this->executerRequete($requete);
|
328 |
|
208 |
|
329 |
// Trie des données et des dates pour les étiquettes des axes
|
209 |
// Trie des données et des dates pour les étiquettes des axes
|
330 |
$dates = array();
|
210 |
$dates = array();
|
331 |
$annees = array();
|
211 |
$annees = array();
|
332 |
$utilisateurs = array();
|
212 |
$utilisateurs = array();
|
333 |
$les_mois = array();
|
213 |
$les_mois = array();
|
334 |
$pas = 3; // intervalle de mois entre deux étiquettes
|
214 |
$pas = 2; // intervalle de mois entre deux étiquettes
|
335 |
$periode = 0;
|
215 |
$periode = 0;
|
336 |
foreach ($resultats as $enrg) {
|
216 |
foreach ($resultats as $enrg) {
|
Line 337... |
Line 217... |
337 |
$annee = substr($enrg['date_min'], 0, 4);
|
217 |
$annee = substr($enrg['date_min'], 0, 4);
|
338 |
$mois = substr($enrg['date_min'], 5, 2);
|
218 |
$mois = substr($enrg['date_min'], 5, 2);
|
339 |
$mois_fmt_B = strftime('%b', strtotime("1999-$mois-01"));
|
219 |
$mois_fmt_B = strftime('%b', strtotime("0000-$mois-01"));
|
340 |
|
220 |
|
Line 377... |
Line 257... |
377 |
|
257 |
|
378 |
private function getEvolObsParMoisGlissant($param) {
|
258 |
private function getEvolObsParMoisGlissant($param) {
|
379 |
// Récupération des données
|
259 |
// Récupération des données
|
380 |
$format_date = '%Y%m%d';
|
260 |
$format_date = '%Y%m%d';
|
381 |
$where = 'date_creation > DATE_SUB(NOW(), INTERVAL 31 DAY)';
|
261 |
$where = 'date_creation > DATE_SUB(NOW(), INTERVAL 31 DAY)';
|
382 |
$obs_totale = $this->executerRequeteEvol('cel_inventory', 'id', $format_date, $where);
|
262 |
$obs_totale = $this->executerRequeteEvol('cel_obs', 'id_observation', $format_date, $where);
|
383 |
|
263 |
|
384 |
// Trie des dates pour les étiquettes des axes
|
264 |
// Tri des dates pour les étiquettes des axes
|
385 |
$dates = array();
|
265 |
$dates = array();
|
386 |
$annees = array();
|
266 |
$annees = array();
|
387 |
$annees_mois = array();
|
267 |
$annees_mois = array();
|
388 |
$jours = array();
|
268 |
$jours = array();
|
Line 400... |
Line 280... |
400 |
}
|
280 |
}
|
401 |
}
|
281 |
}
|
Line 402... |
Line 282... |
402 |
|
282 |
|
403 |
// Post traitement des données
|
283 |
// Post traitement des données
|
404 |
$titre = 'Évolution des observations sur un mois glissant';
|
284 |
$titre = 'Évolution des observations sur un mois glissant';
|
405 |
$valeurs_max = (count($obs_totale) > 0 ) ? max($obs_totale) : 0;
|
285 |
$valeurs_max = max($obs_totale);
|
406 |
$valeurs = implode(',', $obs_totale);
|
286 |
$valeurs = implode(',', $obs_totale);
|
407 |
$y_val_fin = $valeurs_max;
|
287 |
$y_val_fin = $valeurs_max;
|
408 |
$y_pas = round($valeurs_max / 6);
|
288 |
$y_pas = round($valeurs_max / 6);
|
409 |
$etiquettes_x1 = implode('|', $jours);
|
289 |
$etiquettes_x1 = implode('|', $jours);
|
410 |
$etiquettes_x2 = implode('|', $annees_mois);
|
290 |
$etiquettes_x2 = implode('|', $annees_mois);
|
Line 411... |
Line 291... |
411 |
$etiquettes_y2 = 'Observations';
|
291 |
$etiquettes_y2 = 'Observations';
|
412 |
|
292 |
|
413 |
// Construction de l'url de l'image
|
293 |
// Construire de l'url de l'image
|
414 |
$graph = array('cht' => 'lc',
|
294 |
$graph = array('cht' => 'lc',
|
415 |
'chtt' => $titre,
|
295 |
'chtt' => $titre,
|
416 |
'chs' => '600x200',
|
296 |
'chs' => '600x200',
|
Line 421... |
Line 301... |
421 |
'chxl' => '1:|'.$etiquettes_y2.'|2:|'.$etiquettes_x1.'|3:|'.$etiquettes_x2,
|
301 |
'chxl' => '1:|'.$etiquettes_y2.'|2:|'.$etiquettes_x1.'|3:|'.$etiquettes_x2,
|
422 |
'chxp' => '0,0|1,50',
|
302 |
'chxp' => '0,0|1,50',
|
423 |
'chxr' => "0,0,$y_val_fin,$y_pas",
|
303 |
'chxr' => "0,0,$y_val_fin,$y_pas",
|
424 |
'chm' => 'h,C3C3C3,0,0.5,1,-1|N,000000,0,1::1,8,1.0,ht',
|
304 |
'chm' => 'h,C3C3C3,0,0.5,1,-1|N,000000,0,1::1,8,1.0,ht',
|
425 |
'chxs' => '0,822013|1,822013');
|
305 |
'chxs' => '0,822013|1,822013');
|
- |
|
306 |
|
426 |
return $graph;
|
307 |
return $graph;
|
427 |
}
|
308 |
}
|
Line 428... |
Line 309... |
428 |
|
309 |
|
429 |
private function getEvolObsParMois($param) {
|
310 |
private function getEvolObsParMois($param) {
|
430 |
// Récupération des données
|
311 |
// Récupération des données
|
Line 431... |
Line 312... |
431 |
$obs_totale = $this->executerRequeteEvol('cel_inventory', 'id');
|
312 |
$obs_totale = $this->executerRequeteEvol('cel_obs', 'id_observation');
|
432 |
|
313 |
|
433 |
// Trie des dates pour les étiquettes des axes
|
314 |
// Trie des dates pour les étiquettes des axes
|
434 |
$dates = array();
|
315 |
$dates = array();
|
Line 439... |
Line 320... |
439 |
$cumul = 0;
|
320 |
$cumul = 0;
|
440 |
$obs_totale_cumul = array();
|
321 |
$obs_totale_cumul = array();
|
441 |
foreach ($obs_totale as $annee_mois => $nbre) {
|
322 |
foreach ($obs_totale as $annee_mois => $nbre) {
|
442 |
$annee = substr($annee_mois, 0, 4);
|
323 |
$annee = substr($annee_mois, 0, 4);
|
443 |
$mois = substr($annee_mois, 4, 2);
|
324 |
$mois = substr($annee_mois, 4, 2);
|
444 |
$mois_fmt_B = strftime('%b', strtotime("1999-$mois-01"));
|
325 |
$mois_fmt_B = strftime('%b', strtotime("0000-$mois-01"));
|
445 |
$cumul += $nbre;
|
326 |
$cumul += $nbre;
|
446 |
$obs_totale_cumul[$annee_mois] = $cumul;
|
327 |
$obs_totale_cumul[$annee_mois] = $cumul;
|
Line 447... |
Line 328... |
447 |
|
328 |
|
448 |
if (!isset($dates[$annee][$mois])) {
|
329 |
if (!isset($dates[$annee][$mois])) {
|
Line 455... |
Line 336... |
455 |
|
336 |
|
456 |
// Post traitement des données
|
337 |
// Post traitement des données
|
457 |
$titre = 'Évolution des observations par mois';
|
338 |
$titre = 'Évolution des observations par mois';
|
458 |
$valeurs_y = implode(',', $obs_totale);
|
339 |
$valeurs_y = implode(',', $obs_totale);
|
459 |
$valeurs_r = implode(',', $obs_totale_cumul);
|
340 |
$valeurs_r = implode(',', $obs_totale_cumul);
|
460 |
$valeurs_max_y = (count($obs_totale) > 0 ) ? max($obs_totale) : 0;
|
341 |
$valeurs_max_y = max($obs_totale);
|
461 |
$valeurs_max_r = (count($obs_totale_cumul) > 0 ) ? max($obs_totale_cumul) : 0;
|
342 |
$valeurs_max_r = max($obs_totale_cumul);
|
462 |
$y_val_fin = $valeurs_max_y;
|
343 |
$y_val_fin = $valeurs_max_y;
|
463 |
$y_pas = round(($valeurs_max_y / 6), 0);
|
344 |
$y_pas = round(($valeurs_max_y / 6), 0);
|
464 |
$r_val_fin = $valeurs_max_r;
|
345 |
$r_val_fin = $valeurs_max_r;
|
465 |
$r_pas = round(($valeurs_max_r / 6), 0);
|
346 |
$r_pas = round(($valeurs_max_r / 6), 0);
|
466 |
$etiquettes_x1 = implode('|', $les_mois);
|
347 |
$etiquettes_x1 = implode('|', $les_mois);
|
467 |
$etiquettes_x2 = implode('|', $annees);
|
348 |
$etiquettes_x2 = implode('|', $annees);
|
468 |
$etiquettes_y2 = 'Observations';
|
349 |
$etiquettes_y2 = 'Observations';
|
Line 469... |
Line 350... |
469 |
$etiquettes_r2 = 'Cumul';
|
350 |
$etiquettes_r2 = 'Cumul obs.';
|
470 |
|
351 |
|
471 |
// Construire de l'url de l'image
|
352 |
// Construire de l'url de l'image
|
472 |
$graph = array('cht' => 'lc',
|
353 |
$graph = array('cht' => 'lc',
|
Line 484... |
Line 365... |
484 |
return $graph;
|
365 |
return $graph;
|
485 |
}
|
366 |
}
|
Line 486... |
Line 367... |
486 |
|
367 |
|
487 |
private function getEvolObsParAn($param) {
|
368 |
private function getEvolObsParAn($param) {
|
488 |
// Récupération des données
|
369 |
// Récupération des données
|
Line 489... |
Line 370... |
489 |
$obs_totale = $this->executerRequeteEvol('cel_inventory', 'id', '%Y');
|
370 |
$obs_totale = $this->executerRequeteEvol('cel_obs', 'id_observation', '%Y');
|
490 |
|
371 |
|
491 |
// Trie des dates pour les étiquettes des axes
|
372 |
// Trie des dates pour les étiquettes des axes
|
492 |
$dates = array();
|
373 |
$dates = array();
|
Line 499... |
Line 380... |
499 |
}
|
380 |
}
|
Line 500... |
Line 381... |
500 |
|
381 |
|
501 |
// Post traitement des données
|
382 |
// Post traitement des données
|
502 |
$titre = 'Évolution des observations par année';
|
383 |
$titre = 'Évolution des observations par année';
|
503 |
$valeurs = implode(',', $obs_totale);
|
384 |
$valeurs = implode(',', $obs_totale);
|
504 |
$valeurs_max = (count($obs_totale) > 0 ) ? max($obs_totale) : 0;
|
385 |
$valeurs_max = max($obs_totale);
|
505 |
$valeurs_min = (count($obs_totale) > 0 ) ? min($obs_totale) : 0;
|
386 |
$valeurs_min = min($obs_totale);
|
506 |
$y_val_deb = preg_replace('/[0-9]{2}$/', '00', $valeurs_min);
|
387 |
$y_val_deb = preg_replace('/[0-9]{2}$/', '00', $valeurs_min);
|
507 |
$y_val_fin = $valeurs_max;
|
388 |
$y_val_fin = $valeurs_max;
|
508 |
$y_pas = round(($valeurs_max / 6), 0);
|
389 |
$y_pas = round(($valeurs_max / 6), 0);
|
509 |
$etiquettes_x = implode('|', $annees);;
|
390 |
$etiquettes_x = implode('|', $annees);;
|
Line 525... |
Line 406... |
525 |
return $graph;
|
406 |
return $graph;
|
526 |
}
|
407 |
}
|
Line 527... |
Line 408... |
527 |
|
408 |
|
528 |
private function getEvolObsHisto($param) {
|
409 |
private function getEvolObsHisto($param) {
|
529 |
// Récupération des données
|
410 |
// Récupération des données
|
530 |
$obs_totale = $this->executerRequeteEvol('cel_inventory', 'id');
|
411 |
$obs_totale = $this->executerRequeteEvol('cel_obs', 'id_observation');
|
531 |
$obs_identifiee = $this->executerRequeteEvol('cel_inventory', 'id', "identifiant LIKE '%@%' ");
|
412 |
$obs_identifiee = $this->executerRequeteEvol('cel_obs', 'id_observation', "courriel_utilisateur LIKE '%@%' ");
|
Line 532... |
Line 413... |
532 |
$lignes = array('total', 'obs. identifiée');
|
413 |
$lignes = array('total', 'obs. identifiée');
|
533 |
|
414 |
|
534 |
// Post traitement des données
|
415 |
// Post traitement des données
|
535 |
$titre = 'Évolution des observations';
|
416 |
$titre = 'Évolution des observations';
|
536 |
$valeurs = implode(',', $obs_totale).'|'.implode(',', $obs_identifiee);
|
417 |
$valeurs = implode(',', $obs_totale).'|'.implode(',', $obs_identifiee);
|
Line 537... |
Line 418... |
537 |
$valeurs_max = (count($obs_totale) > 0 ) ? max($obs_totale) : 0;
|
418 |
$valeurs_max = max($obs_totale);
|
538 |
$etiquettes = implode('|', array_keys($lignes));
|
419 |
$etiquettes = implode('|', array_keys($lignes));
|
539 |
|
420 |
|
Line 550... |
Line 431... |
550 |
return $graph;
|
431 |
return $graph;
|
551 |
}
|
432 |
}
|
Line 552... |
Line 433... |
552 |
|
433 |
|
553 |
private function getNbreObsIdVsTest($param) {
|
434 |
private function getNbreObsIdVsTest($param) {
|
554 |
// Récupération des données
|
435 |
// Récupération des données
|
555 |
$obs_totale = $this->executerRequeteNombre('cel_inventory', 'id');
|
436 |
$obs_totale = $this->executerRequeteNombre('cel_obs', 'id_observation');
|
556 |
$obs_identifiee = $this->executerRequeteNombre('cel_inventory', 'id', "identifiant LIKE '%@%' ");
|
437 |
$obs_identifiee = $this->executerRequeteNombre('cel_obs', 'id_observation', "courriel_utilisateur LIKE '%@%' ");
|
557 |
$obs_test = $obs_totale - $obs_identifiee;
|
438 |
$obs_test = $obs_totale - $obs_identifiee;
|
558 |
$pourcent_identifiee = round(($obs_identifiee / ($obs_totale / 100)), 2).'%';
|
439 |
$pourcent_identifiee = round(($obs_identifiee / ($obs_totale / 100)), 2).'%';
|
Line 559... |
Line 440... |
559 |
$pourcent_anonyme = round(($obs_test / ($obs_totale / 100)), 2).'%';
|
440 |
$pourcent_anonyme = round(($obs_test / ($obs_totale / 100)), 2).'%';
|
Line 579... |
Line 460... |
579 |
return $graph;
|
460 |
return $graph;
|
580 |
}
|
461 |
}
|
Line 581... |
Line 462... |
581 |
|
462 |
|
582 |
private function getNbreObsPublicVsPrivee($param) {
|
463 |
private function getNbreObsPublicVsPrivee($param) {
|
583 |
// Récupération des données
|
464 |
// Récupération des données
|
584 |
$obs_totale = $this->executerRequeteNombre('cel_inventory', 'id');
|
465 |
$obs_totale = $this->executerRequeteNombre('cel_obs', 'id_observation');
|
585 |
$obs_public = $this->executerRequeteNombre('cel_inventory', 'id', 'transmission = 1');
|
466 |
$obs_public = $this->executerRequeteNombre('cel_obs', 'id_observation', 'transmission = 1');
|
586 |
$obs_privee = $obs_totale - $obs_public;
|
467 |
$obs_privee = $obs_totale - $obs_public;
|
587 |
$pourcent_privee = round(($obs_privee / ($obs_totale / 100)), 2).'%';
|
468 |
$pourcent_privee = round(($obs_privee / ($obs_totale / 100)), 2).'%';
|
Line 588... |
Line 469... |
588 |
$pourcent_public = round(($obs_public / ($obs_totale / 100)), 2).'%';
|
469 |
$pourcent_public = round(($obs_public / ($obs_totale / 100)), 2).'%';
|
Line 608... |
Line 489... |
608 |
return $graph;
|
489 |
return $graph;
|
609 |
}
|
490 |
}
|
Line 610... |
Line 491... |
610 |
|
491 |
|
611 |
private function getNbreObsDetermineeVsInconnue($param) {
|
492 |
private function getNbreObsDetermineeVsInconnue($param) {
|
612 |
// Récupération des données
|
493 |
// Récupération des données
|
613 |
$obs_totale = $this->executerRequeteNombre('cel_inventory', 'id');
|
494 |
$obs_totale = $this->executerRequeteNombre('cel_obs', 'id_observation');
|
614 |
$obs_determinee = $this->executerRequeteNombre('cel_inventory', 'id', 'num_nom_sel != 0');
|
495 |
$obs_determinee = $this->executerRequeteNombre('cel_obs', 'id_observation', 'nom_sel_nn != 0');
|
615 |
$obs_inconnue = $obs_totale - $obs_determinee;
|
496 |
$obs_inconnue = $obs_totale - $obs_determinee;
|
616 |
$pourcent_determinee = round(($obs_determinee / ($obs_totale / 100)), 2).'%';
|
497 |
$pourcent_determinee = round(($obs_determinee / ($obs_totale / 100)), 2).'%';
|
Line 617... |
Line 498... |
617 |
$pourcent_inconnue = round(($obs_inconnue / ($obs_totale / 100)), 2).'%';
|
498 |
$pourcent_inconnue = round(($obs_inconnue / ($obs_totale / 100)), 2).'%';
|
Line 637... |
Line 518... |
637 |
return $graph;
|
518 |
return $graph;
|
638 |
}
|
519 |
}
|
Line 639... |
Line 520... |
639 |
|
520 |
|
640 |
private function getNbreObsAvecIndicationGeo($param) {
|
521 |
private function getNbreObsAvecIndicationGeo($param) {
|
641 |
// Récupération des données
|
522 |
// Récupération des données
|
642 |
$total = $this->executerRequeteNombre('cel_inventory', 'id');
|
523 |
$total = $this->executerRequeteNombre('cel_obs', 'id_observation');
|
643 |
$where_commune = $this->creerWhereIndicationGeo('location');
|
524 |
$where_commune = $this->creerWhereIndicationGeo('zone_geo');
|
644 |
$obs['commune'] = $this->executerRequeteNombre('cel_inventory', 'id', $where_commune);
|
525 |
$obs['commune'] = $this->executerRequeteNombre('cel_obs', 'id_observation', $where_commune);
|
645 |
$where_commune_id = $this->creerWhereIndicationGeo('id_location');
|
526 |
$where_commune_id = $this->creerWhereIndicationGeo('ce_zone_geo');
|
646 |
$obs['commune identifiée'] = $this->executerRequeteNombre('cel_inventory', 'id', $where_commune_id);
|
527 |
$obs['commune identifiée'] = $this->executerRequeteNombre('cel_obs', 'id_observation', $where_commune_id);
|
647 |
$where_lieudit = $this->creerWhereIndicationGeo('lieudit');
|
528 |
$where_lieudit = $this->creerWhereIndicationGeo('lieudit');
|
648 |
$obs['lieu-dit'] = $this->executerRequeteNombre('cel_inventory', 'id', $where_lieudit);
|
529 |
$obs['lieu-dit'] = $this->executerRequeteNombre('cel_obs', 'id_observation', $where_lieudit);
|
649 |
$where_station = $this->creerWhereIndicationGeo('station');
|
530 |
$where_station = $this->creerWhereIndicationGeo('station');
|
650 |
$obs['station'] = $this->executerRequeteNombre('cel_inventory', 'id', $where_station);
|
531 |
$obs['station'] = $this->executerRequeteNombre('cel_obs', 'id_observation', $where_station);
|
651 |
$where_milieu = $this->creerWhereIndicationGeo('milieu');
|
532 |
$where_milieu = $this->creerWhereIndicationGeo('milieu');
|
652 |
$obs['milieu'] = $this->executerRequeteNombre('cel_inventory', 'id', $where_milieu);
|
533 |
$obs['milieu'] = $this->executerRequeteNombre('cel_obs', 'id_observation', $where_milieu);
|
653 |
$where_xy = $this->creerWhereIndicationGeo('coord_x').' AND '.$this->creerWhereIndicationGeo('coord_y');
|
534 |
$where_xy = $this->creerWhereIndicationGeo('latitude').' AND '.$this->creerWhereIndicationGeo('longitude');
|
Line 654... |
Line 535... |
654 |
$obs['coordonnée'] = $this->executerRequeteNombre('cel_inventory', 'id', $where_xy);
|
535 |
$obs['coordonnée'] = $this->executerRequeteNombre('cel_obs', 'id_observation', $where_xy);
|
655 |
|
536 |
|
656 |
$donnees = array();
|
537 |
$donnees = array();
|
657 |
$num = 1;
|
538 |
$num = 1;
|
Line 703... |
Line 584... |
703 |
}
|
584 |
}
|
704 |
$aujourdhui_fmt = strftime('%d %b %Y', strtotime($aujourdhui));
|
585 |
$aujourdhui_fmt = strftime('%d %b %Y', strtotime($aujourdhui));
|
Line 705... |
Line 586... |
705 |
|
586 |
|
706 |
// Récupération des données
|
587 |
// Récupération des données
|
707 |
$max_obs = array();
|
588 |
$max_obs = array();
|
708 |
$max_obs[] = $this->executerRequeteEvol('cel_inventory', 'id', '%Y%m%d',
|
589 |
$max_obs[] = $this->executerRequeteEvol('cel_obs', 'id_observation', '%Y%m%d',
|
709 |
"date_creation NOT LIKE '$aujourdhui%' ", 'date_creation');
|
590 |
"date_creation NOT LIKE '$aujourdhui%' ", 'date_creation');
|
710 |
$max_obs[] = $this->executerRequeteEvol('cel_inventory', 'id', '%Y%m%d',
|
591 |
$max_obs[] = $this->executerRequeteEvol('cel_obs', 'id_observation', '%Y%m%d',
|
711 |
"date_modification NOT LIKE '$aujourdhui%' ", 'date_modification');
|
592 |
"date_modification NOT LIKE '$aujourdhui%' ", 'date_modification');
|
712 |
$max_obs[] = $this->executerRequeteEvol('cel_inventory', 'id', '%Y%m%d',
|
593 |
$max_obs[] = $this->executerRequeteEvol('cel_obs', 'id_observation', '%Y%m%d',
|
713 |
"date_transmission NOT LIKE '$aujourdhui%' ", 'date_transmission');
|
594 |
"date_transmission NOT LIKE '$aujourdhui%' ", 'date_transmission');
|
714 |
$obs_aujourdhui = $this->executerRequeteNombre('cel_inventory', 'id',
|
595 |
$obs_aujourdhui = $this->executerRequeteNombre('cel_obs', 'id_observation',
|
715 |
"(date_creation LIKE '$aujourdhui%'
|
596 |
"(date_creation LIKE '$aujourdhui%'
|
716 |
OR date_modification LIKE '$aujourdhui%'
|
597 |
OR date_modification LIKE '$aujourdhui%'
|
Line 717... |
Line 598... |
717 |
OR date_transmission LIKE '$aujourdhui%') ");
|
598 |
OR date_transmission LIKE '$aujourdhui%') ");
|
Line 757... |
Line 638... |
757 |
return $graph;
|
638 |
return $graph;
|
758 |
}
|
639 |
}
|
Line 759... |
Line 640... |
759 |
|
640 |
|
760 |
private function getNbreObsParUtilisateur($param) {
|
641 |
private function getNbreObsParUtilisateur($param) {
|
761 |
// Récupération des données
|
642 |
// Récupération des données
|
762 |
$requete = 'SELECT identifiant, COUNT(id) AS nbre '.
|
643 |
$requete = 'SELECT courriel_utilisateur, COUNT(id_observation) AS nbre '.
|
763 |
'FROM cel_inventory '.
|
644 |
'FROM cel_obs '.
|
764 |
'GROUP BY identifiant ';
|
645 |
'GROUP BY courriel_utilisateur ';
|
Line 765... |
Line 646... |
765 |
$utilisateurs = $this->executerRequete($requete);
|
646 |
$utilisateurs = $this->executerRequete($requete);
|
766 |
|
647 |
|
767 |
// Création des classes d'utilisateurs
|
648 |
// Création des classes d'utilisateurs
|
768 |
$classes = array('00->10' => 0, '11->50' => 0, '51->100' => 0, '101->500' => 0, '500->∞' => 0);
|
649 |
$classes = array('00->10' => 0, '11->50' => 0, '51->100' => 0, '101->500' => 0, '500->∞' => 0);
|
769 |
$donnees['Utilisateurs'] = $classes;
|
650 |
$donnees['Utilisateurs'] = $classes;
|
770 |
$valeur_max = 0;
|
651 |
$valeur_max = 0;
|
771 |
foreach ($utilisateurs as $utilisateur) {
|
652 |
foreach ($utilisateurs as $utilisateur) {
|
Line 772... |
Line 653... |
772 |
$id = $utilisateur['identifiant'];
|
653 |
$id = $utilisateur['courriel_utilisateur'];
|
773 |
$nbre = $utilisateur['nbre'];
|
654 |
$nbre = $utilisateur['nbre'];
|
774 |
|
655 |
|
Line 824... |
Line 705... |
824 |
return $graph;
|
705 |
return $graph;
|
825 |
}
|
706 |
}
|
Line 826... |
Line 707... |
826 |
|
707 |
|
827 |
private function getNbreObsParUtilisateurEtTest($param) {
|
708 |
private function getNbreObsParUtilisateurEtTest($param) {
|
828 |
// Récupération des données
|
709 |
// Récupération des données
|
829 |
$requete = 'SELECT identifiant, COUNT(id) AS nbre '.
|
710 |
$requete = 'SELECT courriel_utilisateur, COUNT(id_observation) AS nbre '.
|
830 |
'FROM cel_inventory '.
|
711 |
'FROM cel_obs '.
|
831 |
'GROUP BY identifiant ';
|
712 |
'GROUP BY courriel_utilisateur ';
|
Line 832... |
Line 713... |
832 |
$utilisateurs = $this->executerRequete($requete);
|
713 |
$utilisateurs = $this->executerRequete($requete);
|
833 |
|
714 |
|
834 |
// Création des classes d'utilisateurs
|
715 |
// Création des classes d'utilisateurs
|
835 |
$classes = array('00->10' => 0, '11->50' => 0, '51->100' => 0, '101->500' => 0, '500->∞' => 0);
|
716 |
$classes = array('00->10' => 0, '11->50' => 0, '51->100' => 0, '101->500' => 0, '500->∞' => 0);
|
836 |
$donnees['Utilisateurs'] = $classes;
|
717 |
$donnees['Utilisateurs'] = $classes;
|
837 |
$donnees['Tests'] = $classes;
|
718 |
$donnees['Tests'] = $classes;
|
838 |
$valeur_max = 0;
|
719 |
$valeur_max = 0;
|
839 |
foreach ($utilisateurs as $utilisateur) {
|
720 |
foreach ($utilisateurs as $utilisateur) {
|
Line 840... |
Line 721... |
840 |
$id = $utilisateur['identifiant'];
|
721 |
$id = $utilisateur['courriel_utilisateur'];
|
841 |
$nbre = $utilisateur['nbre'];
|
722 |
$nbre = $utilisateur['nbre'];
|
842 |
|
723 |
|
Line 899... |
Line 780... |
899 |
|
780 |
|
900 |
private function getNuagePointsObsParHeureEtJourSemaine($param) {
|
781 |
private function getNuagePointsObsParHeureEtJourSemaine($param) {
|
Line 901... |
Line 782... |
901 |
$utilisateur = isset($_GET['utilisateur']) ? $this->bdd->quote($_GET['utilisateur']) : false;
|
782 |
$utilisateur = isset($_GET['utilisateur']) ? $this->bdd->quote($_GET['utilisateur']) : false;
|
902 |
|
783 |
|
903 |
// Récupération des données de la base
|
784 |
// Récupération des données de la base
|
904 |
$requete = 'SELECT identifiant, DATE_FORMAT(date_creation, "%w-%H") AS periode, (ROUND(LOG10(COUNT(id))) + 1) AS nbre '.
|
785 |
$requete = 'SELECT courriel_utilisateur, DATE_FORMAT(date_creation, "%w-%H") AS periode, (ROUND(LOG10(COUNT(id_observation))) + 1) AS nbre '.
|
905 |
'FROM cel_inventory '.
|
786 |
'FROM cel_obs '.
|
906 |
'WHERE date_creation != "0000-00-00 00:00:00" '.
|
787 |
'WHERE date_creation != "0000-00-00 00:00:00" '.
|
907 |
' AND identifiant '.($utilisateur ? "= $utilisateur " : 'LIKE "%@%" ').
|
788 |
' AND courriel_utilisateur '.($utilisateur ? "= $utilisateur " : 'LIKE "%@%" ').
|
Line 908... |
Line 789... |
908 |
'GROUP BY periode, identifiant ';
|
789 |
'GROUP BY periode, courriel_utilisateur ';
|
909 |
$infos = $this->executerRequete($requete);
|
790 |
$infos = $this->executerRequete($requete);
|
910 |
|
791 |
|
Line 970... |
Line 851... |
970 |
return $graph;
|
851 |
return $graph;
|
971 |
}
|
852 |
}
|
Line 972... |
Line 853... |
972 |
|
853 |
|
973 |
private function getNuagePointsObsAnciennete($param) {
|
854 |
private function getNuagePointsObsAnciennete($param) {
|
974 |
// Récupération des données de la base
|
855 |
// Récupération des données de la base
|
975 |
$requete = 'SELECT DISTINCT identifiant , '.
|
856 |
$requete = 'SELECT DISTINCT courriel_utilisateur , '.
|
976 |
' MIN(date_creation) AS date_min, MAX(date_creation) AS date_max, '.
|
857 |
' MIN(date_creation) AS date_min, MAX(date_creation) AS date_max, '.
|
977 |
' COUNT(id) AS obs_nbre '.
|
858 |
' COUNT(id_observation) AS obs_nbre '.
|
978 |
'FROM cel_inventory '.
|
859 |
'FROM cel_obs '.
|
979 |
"WHERE date_creation != '0000-00-00 00:00:00' ".
|
860 |
"WHERE date_creation != '0000-00-00 00:00:00' ".
|
980 |
" AND identifiant LIKE '%@%' ".
|
861 |
" AND courriel_utilisateur LIKE '%@%' ".
|
981 |
'GROUP BY identifiant '.
|
862 |
'GROUP BY courriel_utilisateur '.
|
982 |
'ORDER BY date_min ASC ';
|
863 |
'ORDER BY date_min ASC ';
|
Line 983... |
Line 864... |
983 |
$resultats = $this->executerRequete($requete);
|
864 |
$resultats = $this->executerRequete($requete);
|
984 |
|
865 |
|
Line 1049... |
Line 930... |
1049 |
$utilisateur = isset($_GET['utilisateur']) ? $this->bdd->quote($_GET['utilisateur']) : false;
|
930 |
$utilisateur = isset($_GET['utilisateur']) ? $this->bdd->quote($_GET['utilisateur']) : false;
|
Line 1050... |
Line 931... |
1050 |
|
931 |
|
1051 |
$requete = "SELECT DATE_FORMAT($champ_date, '$format_date') AS periode, COUNT($champ) AS nbre ".
|
932 |
$requete = "SELECT DATE_FORMAT($champ_date, '$format_date') AS periode, COUNT($champ) AS nbre ".
|
1052 |
"FROM $table ".
|
933 |
"FROM $table ".
|
1053 |
"WHERE $champ_date != '0000-00-00 00:00:00' ".
|
934 |
"WHERE $champ_date != '0000-00-00 00:00:00' ".
|
1054 |
(($utilisateur != false) ? " AND identifiant = $utilisateur " : '').
|
935 |
(($utilisateur != false) ? " AND courriel_utilisateur = $utilisateur " : '').
|
1055 |
((is_null($where)) ? '' : " AND $where ").
|
936 |
((is_null($where)) ? '' : " AND $where ").
|
1056 |
'GROUP BY periode '.
|
937 |
'GROUP BY periode '.
|
1057 |
((is_null($order_by)) ? '' : "ORDER BY $order_by ");
|
938 |
((is_null($order_by)) ? '' : "ORDER BY $order_by ");
|
- |
|
939 |
((is_null($limit)) ? '' : "LIMIT $limit ");
|
1058 |
((is_null($limit)) ? '' : "LIMIT $limit ");
|
940 |
|
Line 1059... |
Line 941... |
1059 |
$evolution = $this->executerRequete($requete);
|
941 |
$evolution = $this->executerRequete($requete);
|
1060 |
|
942 |
|
1061 |
// Traitement du tableau
|
- |
|
1062 |
$donnees_traitees = array();
|
943 |
// Traitement du tableau
|
1063 |
if ($evolution !== false) {
|
944 |
$donnees_traitees = array();
|
1064 |
foreach ($evolution as $info) {
|
- |
|
1065 |
$donnees_traitees[$info['periode']] = $info['nbre'];
|
945 |
foreach ($evolution as $info) {
|
- |
|
946 |
$donnees_traitees[$info['periode']] = $info['nbre'];
|
1066 |
}
|
947 |
}
|
1067 |
}
|
948 |
|
Line 1068... |
Line 949... |
1068 |
return $donnees_traitees;
|
949 |
return $donnees_traitees;
|
1069 |
}
|
950 |
}
|
1070 |
|
951 |
|
1071 |
private function executerRequeteNombre($table, $champ, $where = null) {
|
952 |
private function executerRequeteNombre($table, $champ, $where = null) {
|
1072 |
$utilisateur = null;
|
953 |
$utilisateur = null;
|
1073 |
if (isset($_GET['utilisateur'])) {
|
954 |
if (isset($_GET['utilisateur'])) {
|
1074 |
$utilisateur = $this->bdd->quote($_GET['utilisateur']);
|
955 |
$utilisateur = $this->bdd->quote($_GET['utilisateur']);
|
Line 1075... |
Line 956... |
1075 |
$where = isset($where) ? $where.' AND ' : '';
|
956 |
$where = isset($where) ? $where.' AND ' : '';
|
1076 |
$where .= "identifiant = $utilisateur ";
|
957 |
$where .= "courriel_utilisateur = $utilisateur ";
|
1077 |
}
|
958 |
}
|
1078 |
|
959 |
|
1079 |
$requete = "SELECT COUNT($champ) AS nbre ".
|
960 |
$requete = "SELECT COUNT($champ) AS nbre ".
|
1080 |
"FROM $table ".
|
961 |
"FROM $table ".
|
1081 |
((isset($where)) ? "WHERE $where " : '');
|
962 |
((isset($where)) ? "WHERE $where " : '');
|
1082 |
|
- |
|
1083 |
$nbre = $this->executerRequete($requete, 'Column');
|
963 |
|
- |
|
964 |
$nbre = $this->executerRequete($requete, 'Column');
|
- |
|
965 |
return $nbre;
|
1084 |
return $nbre;
|
966 |
}
|