Subversion Repositories eFlore/Applications.cel

Rev

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

Rev Author Line No. Line
737 aurelien 1
<?php
2
// in utf8
3
// out utf8
4
 
5
// List des stations par utilisateur et par commune
6
 
7
Class SelfRefList extends Cel {
8
 
9
	private $referentiels = array('station', 'lieudit', 'milieu');
10
 
11
	function getElement($uid){
12
 
13
		   // Controle detournement utilisateur
14
		    session_start();
15
 	        $this->controleUtilisateur($uid[0]);
16
 
17
			// uid[0] : utilisateur obligatoire
18
			// uid[1] : referentiel demandé (obligatoire)
19
			// $_GET["start"] et $GET_["limit"] : selection intervalle
20
			// $_GET["recherche"] : cherche les nom qui commmencent selon la valeur
21
 
22
			if (!$this->paramObligatoiresSontPresents($uid)) {
23
				return;
24
			}
25
 
26
			$referentiel_demande = $uid[1];
27
 
28
			$value=array();
29
 
30
           	$requete_referentiel = "SELECT DISTINCT ".$referentiel_demande." " .
31
           							"FROM cel_inventory WHERE identifiant= '".$uid[0]."' ";
32
 
33
           	if($this->filtreRechercheEstDemande()) {
34
           		$requete_referentiel .= " AND ".$referentiel_demande." LIKE '".$_GET["recherche"]."%'";
35
           	}
36
 
37
			if ($this->limiteEstDemandee()) {
38
				$requete_referentiel .= " ORDER BY station LIMIT ".$_GET["start"].",".$_GET["limit"];
39
			}
40
 
41
		    $referentiel_resultat = $this->executerRequete($requete_referentiel);
42
		    $referentiel = array();
43
 
44
		    foreach($referentiel_resultat as $cle => $valeur) {
45
		    	if($this->estUneValeurValide($valeur[$referentiel_demande])) {
46
		    		$referentiel[] = $valeur[$referentiel_demande];
47
		    	}
48
 
49
		    }
50
 
51
			$output = json_encode($referentiel);
52
			print($output);
53
	}
54
 
55
	function paramObligatoiresSontPresents($uid) {
56
 
57
		return (isset($uid[1]) && in_array($uid[1],$this->referentiels) && (isset($uid[0]) && $uid[0] != ""));
58
	}
59
 
60
	function filtreRechercheEstDemande() {
61
		return (isset($_GET["recherche"]) && trim($_GET["recherche"]) != "");
62
	}
63
 
64
	function limiteEstDemandee() {
65
		return isset($_GET["start"]) && is_numeric($_GET["start"]) && isset($_GET["limit"]) && is_numeric($_GET["limit"]);
66
	}
67
 
68
	function estUneValeurValide($chaine) {
69
		return ($chaine != null && $chaine != "000null" &&  trim($chaine) != "");
70
	}
71
}
72
 
73
 
74
/* +--Fin du code ---------------------------------------------------------------------------------------+
75
* $Log$
76
* Revision 1.3  2008-01-30 08:57:28  ddelon
77
* fin mise en place mygwt
78
*
79
* Revision 1.2  2007-05-22 12:54:09  ddelon
80
* Securisation acces utilisateur
81
*
82
*
83
*
84
*/
85
 
86
 
87
?>