Subversion Repositories eFlore/Applications.cel

Rev

Rev 696 | Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
694 jpm 1
<?php
2
/**
3
 * Service fournissant des urls vers des images de graphiques sur les statistiques de l'application CEL.
4
 * Encodage en entrée : utf8
5
 * Encodage en sortie : utf8
6
 *
7
 * Cas d'utilisation :
8
 * /CelStatistique/TypeDeGraph : retourne le graphique demandé
9
 * Paramêtres :
10
 * serveur=[0-9] : retourne le graphique demandé sur le serveur numéro 0 à 9 (voir http://code.google.com/intl/fr/apis/chart/docs/making_charts.html#enhancements )
11
 *
12
 * @author Jean-Pascal MILCENT <jpm@tela-botanica.org>
13
 * @license GPL v3 <http://www.gnu.org/licenses/gpl.txt>
14
 * @license CECILL v2 <http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt>
15
 * @version $Id$
16
 * @copyright 2009
17
 */
18
class CelStatistiqueTxt extends Cel {
19
 
20
	/**
21
	 * Méthode appelée avec une requête de type GET.
22
	 */
23
	public function getElement($param) {
24
		$graph = null;
25
		$serveur = '';
26
 
27
		if (isset($param[0])) {
28
			$stat_demande = array_shift($param);
29
			$methode = 'get'.$stat_demande;
30
			if (method_exists($this, $methode)) {
31
				$stats = $this->$methode($param);
32
			} else {
33
				$this->messages[] = "Ce type de statistiques '$stat_demande' n'est pas disponible.";
34
			}
35
		} else {
36
			$this->messages[] = "Le premier paramêtre du service CEL StatistiqueTxt doit correspondre au type de statistique.";
37
		}
38
 
39
		if (!is_null($stats)) {
40
			$this->envoyerJson($stats);
41
		}
42
	}
43
 
44
	private function getNombres($param) {
45
		$utilisateur = isset($_GET['utilisateur']) ? $this->bdd->quote($_GET['utilisateur']) : null;
46
 
47
		$requete = 	'SELECT COUNT(id) AS nbre '.
48
					'FROM cel_inventory '.
49
					((isset($utilisateur)) ? "WHERE identifiant = $utilisateur " : '');
50
		$info['observations'] = $this->executerRequete($requete, 'Column');
51
 
52
		$requete = 	"SELECT COUNT(ci_id_image) AS nbre ".
53
			"FROM cel_images ".
54
			((isset($utilisateur)) ? "WHERE ci_ce_utilisateur = $utilisateur " : '');
55
		$info['images'] = $this->executerRequete($requete, 'Column');
56
 
57
 
58
		$requete = 	'SELECT COUNT(ci_id_image) AS nbre '.
59
			'FROM cel_obs_images LEFT JOIN cel_images ON (coi_ce_image = ci_id_image) '.
60
			"WHERE ci_meta_date_ajout != '0000-00-00 00:00:00' ".
61
			((isset($utilisateur)) ? " AND ci_ce_utilisateur = $utilisateur " : '');
62
		$info['imagesLiees'] = $this->executerRequete($requete, 'Column');
63
 
64
		return $info;
65
	}
66
}
67
?>