Subversion Repositories eFlore/Applications.cel

Rev

Rev 805 | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

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