Subversion Repositories eFlore/Applications.cel

Rev

Rev 798 | Go to most recent revision | Details | Compare with Previous | 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
 
805 aurelien 26
			if($_GET['recherche'] == '*') {
27
				$_GET['recherche'] = '%';
28
			}
29
 
737 aurelien 30
			$referentiel_demande = $uid[1];
31
 
32
			$value=array();
33
 
34
           	$requete_referentiel = "SELECT DISTINCT ".$referentiel_demande." " .
35
           							"FROM cel_inventory WHERE identifiant= '".$uid[0]."' ";
36
 
37
           	if($this->filtreRechercheEstDemande()) {
38
           		$requete_referentiel .= " AND ".$referentiel_demande." LIKE '".$_GET["recherche"]."%'";
39
           	}
40
 
41
			if ($this->limiteEstDemandee()) {
42
				$requete_referentiel .= " ORDER BY station LIMIT ".$_GET["start"].",".$_GET["limit"];
43
			}
44
 
45
		    $referentiel_resultat = $this->executerRequete($requete_referentiel);
46
		    $referentiel = array();
47
 
48
		    foreach($referentiel_resultat as $cle => $valeur) {
49
		    	if($this->estUneValeurValide($valeur[$referentiel_demande])) {
50
		    		$referentiel[] = $valeur[$referentiel_demande];
51
		    	}
52
 
53
		    }
54
 
55
			$output = json_encode($referentiel);
56
			print($output);
57
	}
58
 
59
	function paramObligatoiresSontPresents($uid) {
60
 
61
		return (isset($uid[1]) && in_array($uid[1],$this->referentiels) && (isset($uid[0]) && $uid[0] != ""));
62
	}
63
 
64
	function filtreRechercheEstDemande() {
65
		return (isset($_GET["recherche"]) && trim($_GET["recherche"]) != "");
66
	}
67
 
68
	function limiteEstDemandee() {
69
		return isset($_GET["start"]) && is_numeric($_GET["start"]) && isset($_GET["limit"]) && is_numeric($_GET["limit"]);
70
	}
71
 
72
	function estUneValeurValide($chaine) {
73
		return ($chaine != null && $chaine != "000null" &&  trim($chaine) != "");
74
	}
75
}
76
 
77
 
78
/* +--Fin du code ---------------------------------------------------------------------------------------+
79
* $Log$
80
* Revision 1.3  2008-01-30 08:57:28  ddelon
81
* fin mise en place mygwt
82
*
83
* Revision 1.2  2007-05-22 12:54:09  ddelon
84
* Securisation acces utilisateur
85
*
86
*
87
*
88
*/
89
 
90
 
805 aurelien 91
?>