Subversion Repositories eFlore/Applications.cel

Rev

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

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