Subversion Repositories eFlore/Applications.del

Rev

Rev 1788 | Rev 1818 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 1788 Rev 1795
Line 1... Line 1...
1
<?php
1
<?php
2
/**
2
/**
3
* Description :
-
 
4
* Statistiques par année sur l'utilisation de Identiplante / Pictoflora
3
 * Statistiques par année sur l'utilisation de Identiplante / Pictoflora
5
*
4
 *
6
* Documentation: http://www.tela-botanica.org/wikini/DevInformatiques/wakka.php?wiki=AppliDelStats
5
 * Documentation: http://www.tela-botanica.org/wikini/DevInformatiques/wakka.php?wiki=AppliDelStats
7
* 
6
 *
8
* @author Mathias
7
 * @category   DEL
-
 
8
 * @package    Services
-
 
9
 * @subpackage Statistiques
-
 
10
 * @version    0.1
-
 
11
 * @author     Mathias CHOUET <mathias@tela-botanica.org>
-
 
12
 * @author     Jean-Pascal MILCENT <jpm@tela-botanica.org>
-
 
13
 * @author     Aurelien PERONNET <aurelien@tela-botanica.org>
9
* @license GPL v3 <http://www.gnu.org/licenses/gpl.txt>
14
 * @license    GPL v3 <http://www.gnu.org/licenses/gpl.txt>
10
* @license CECILL v2 <http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt>
15
 * @license    CECILL v2 <http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt>
-
 
16
 * @copyright  1999-2014 Tela Botanica <accueil@tela-botanica.org>
11
*/
17
 */
12
class Statistiques extends RestService {
18
class Statistiques extends RestService {
Line 13... Line 19...
13
 
19
 
Line 14... Line 20...
14
	protected $bdd;
20
	protected $bdd;
Line 296... Line 302...
296
		if ($annee != null) {
302
		if ($annee != null) {
297
			$req .= " AND YEAR(date) = '" . $annee . "'";
303
			$req .= " AND YEAR(date) = '" . $annee . "'";
298
		}
304
		}
299
		$req .= " GROUP BY anneemois, ce_utilisateur, utilisateur_courriel) as ppm,".
305
		$req .= " GROUP BY anneemois, ce_utilisateur, utilisateur_courriel) as ppm,".
300
			// Trouver le nombre de mois différents lors desquels les utilisateurs ont participé, cette année
306
			// Trouver le nombre de mois différents lors desquels les utilisateurs ont participé, cette année
301
			// Pour l'année en cours par ex, retournera 2 si on est en février (voire un au début du mois). 
307
			// Pour l'année en cours par ex, retournera 2 si on est en février (voire un au début du mois).
302
			" (SELECT count(distinct CONCAT(YEAR(date),'-',MONTH(date))) as nbmois".
308
			" (SELECT count(distinct CONCAT(YEAR(date),'-',MONTH(date))) as nbmois".
303
			" FROM del_commentaire".
309
			" FROM del_commentaire".
304
			" WHERE ";
310
			" WHERE ";
305
		if ($annee != null) {
311
		if ($annee != null) {
306
			$req .= "YEAR(date) = '" . $annee . "' AND ";
312
			$req .= "YEAR(date) = '" . $annee . "' AND ";
Line 309... Line 315...
309
			" AND nom_sel_nn != ''".
315
			" AND nom_sel_nn != ''".
310
			" AND nom_sel_nn IS NOT NULL) as cal".
316
			" AND nom_sel_nn IS NOT NULL) as cal".
311
		" GROUP BY ce_utilisateur, utilisateur_courriel".
317
		" GROUP BY ce_utilisateur, utilisateur_courriel".
312
		" HAVING SUM(somme) / cal.nbmois >= 1".
318
		" HAVING SUM(somme) / cal.nbmois >= 1".
313
		" ORDER BY moyenne;";
319
		" ORDER BY moyenne;";
314
	
320
 
315
		$res = $this->bdd->recupererTous($req);
321
		$res = $this->bdd->recupererTous($req);
316
		$cpt = count($res);
322
		$cpt = count($res);
317
		$retour = array(
323
		$retour = array(
318
			'nombre' => intval($cpt),
324
			'nombre' => intval($cpt),
319
			'donnees' => $res
325
			'donnees' => $res
320
		);
326
		);
Line 321... Line 327...
321
 
327
 
322
		return $retour;
328
		return $retour;
323
	}
-
 
324
}
-
 
325
?>
329
	}
-
 
330
}
326
331