Subversion Repositories eFlore/Applications.cel

Rev

Rev 737 | Rev 851 | Go to most recent revision | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

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