Subversion Repositories eFlore/Applications.cel

Rev

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

Rev 798 Rev 1078
1
<?php
1
<?php
2
 
2
 
3
// in : utf8
3
// in : utf8
4
// out : utf8
4
// out : utf8
5
 
5
 
6
/**
6
/**
7
 * Liste les date de releves par utilisateur
7
 * Liste les date de releves par utilisateur
8
 * 
8
 * 
9
 * uid[0] : utilisateur obligatoire
9
 * uid[0] : utilisateur obligatoire
10
 * uid[1] : si absent : valeur 'all' (annee)
10
 * uid[1] : si absent : valeur 'all' (annee)
11
 * uid[2] : si absent : valeur 'all' (mois)
11
 * uid[2] : si absent : valeur 'all' (mois)
12
 * uid[3] : si absent : valeur 'all' (jour)
12
 * uid[3] : si absent : valeur 'all' (jour)
13
 **/ 
13
 **/ 
14
class InventoryDateList extends Cel {
14
class InventoryDateList extends Cel {
15
	
15
	
16
	private $correspondance_fonction = array(1 => 'year', 2 => 'month', 3 => 'day');
16
	private $correspondance_fonction = array(1 => 'year', 2 => 'month', 3 => 'day');
17
	
17
	
18
 
18
 
19
	function getElement($uid){
19
	function getElement($uid){
20
		
20
		
21
		   // Controle detournement utilisateur 
21
		   // Controle detournement utilisateur 
22
		    session_start();
22
			if(!isset($_SESSION)) {session_start();}
23
		 	$this->controleUtilisateur($uid[0]);
23
		 	$this->controleUtilisateur($uid[0]);
24
		 	
24
		 	
25
			$condition_requete = $this->traiterParametresEtConstruireRequete($uid);
25
			$condition_requete = $this->traiterParametresEtConstruireRequete($uid);
26
		
26
		
27
		   	$requete_liste_dates = 'SELECT DISTINCT '.
27
		   	$requete_liste_dates = 'SELECT DISTINCT '.
28
	    			'date_observation AS id '.
28
	    			'date_observation AS id '.
29
	           		'FROM cel_inventory WHERE '.$condition_requete.' '.
29
	           		'FROM cel_inventory WHERE '.$condition_requete.' '.
30
	           		'ORDER BY date_observation'; 		
30
	           		'ORDER BY date_observation'; 		
31
	        	           		
31
	        	           		
32
		    $liste_dates = $this->executerRequete($requete_liste_dates);
32
		    $liste_dates = $this->executerRequete($requete_liste_dates);
33
		    		    
33
		    		    
34
	        $liste_dates = $this->formaterListeResultats($liste_dates);
34
	        $liste_dates = $this->formaterListeResultats($liste_dates);
35
		
35
		
36
			$output = json_encode($liste_dates);
36
			$output = json_encode($liste_dates);
37
			print($output);
37
			print($output);
38
			
38
			
39
			return true;	
39
			return true;	
40
	}
40
	}
41
	
41
	
42
	private function formaterListeResultats($liste_dates) {
42
	private function formaterListeResultats($liste_dates) {
43
		
43
		
44
		if (!$liste_dates) {
44
		if (!$liste_dates) {
45
    	    $liste_dates = array();
45
    	    $liste_dates = array();
46
        }
46
        }
47
        	
47
        	
48
    	foreach($liste_dates as &$date) {
48
    	foreach($liste_dates as &$date) {
49
    		$date_heures = split(' ',$date['id']);
49
    		$date_heures = split(' ',$date['id']);
50
    		if(count($date_heures) > 1) {
50
    		if(count($date_heures) > 1) {
51
    			$date = $date_heures[0];
51
    			$date = $date_heures[0];
52
    		}
52
    		}
53
    		
53
    		
54
    		$date = $date;
54
    		$date = $date;
55
        }
55
        }
56
        
56
        
57
        return $liste_dates;
57
        return $liste_dates;
58
	}
58
	}
59
	
59
	
60
	private function traiterParametresEtConstruireRequete($params) {
60
	private function traiterParametresEtConstruireRequete($params) {
61
		
61
		
62
		$requete_condition = ' identifiant = '.$this->proteger($params[0]);
62
		$requete_condition = ' identifiant = '.$this->proteger($params[0]);
63
		
63
		
64
		$taille_tableau_parametres = count($params);
64
		$taille_tableau_parametres = count($params);
65
		for($i=1; $i <= $taille_tableau_parametres; $i++) {
65
		for($i=1; $i <= $taille_tableau_parametres; $i++) {
66
			if($this->estUnParametreDate($params[$i])) {
66
			if($this->estUnParametreDate($params[$i])) {
67
				$fonction_date = $this->correspondance_fonction[$i]; 
67
				$fonction_date = $this->correspondance_fonction[$i]; 
68
				$requete_condition .= ' AND '.$fonction_date.'(date_observation) = '.$this->proteger($params[$i]);
68
				$requete_condition .= ' AND '.$fonction_date.'(date_observation) = '.$this->proteger($params[$i]);
69
			}
69
			}
70
		}
70
		}
71
		
71
		
72
		return $requete_condition;
72
		return $requete_condition;
73
	}
73
	}
74
	
74
	
75
	private function estUnParametreDate($valeur) {
75
	private function estUnParametreDate($valeur) {
76
		 return is_numeric($valeur) && $valeur != "all";
76
		 return is_numeric($valeur) && $valeur != "all";
77
	}
77
	}
78
}
78
}
79
 
79
 
80
 
80
 
81
/* +--Fin du code ---------------------------------------------------------------------------------------+
81
/* +--Fin du code ---------------------------------------------------------------------------------------+
82
* $Log$
82
* $Log$
83
* Revision 1.4  2008-01-30 08:57:28  ddelon
83
* Revision 1.4  2008-01-30 08:57:28  ddelon
84
* fin mise en place mygwt
84
* fin mise en place mygwt
85
*
85
*
86
* Revision 1.3  2007-05-22 12:54:09  ddelon
86
* Revision 1.3  2007-05-22 12:54:09  ddelon
87
* Securisation acces utilisateur
87
* Securisation acces utilisateur
88
*
88
*
89
*
89
*
90
* 
90
* 
91
*/
91
*/
92
 
92
 
93
 
93
 
94
 
94
 
95
?>
95
?>