Subversion Repositories eFlore/Applications.cel

Rev

Rev 2143 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 2143 Rev 2449
Line 26... Line 26...
26
 **/
26
 **/
27
class ImageDateList extends Cel {
27
class ImageDateList extends Cel {
Line 28... Line 28...
28
 
28
 
Line 29... Line -...
29
	private $correspondance_fonction = array(1 => 'year', 2 => 'month', 3 => 'day');
-
 
30
 
29
	private $correspondance_fonction = array(1 => 'year', 2 => 'month', 3 => 'day');
31
 
-
 
32
	function getElement($uid){
30
 
33
 
31
	public function getElement($uid){
Line 34... Line 32...
34
		   // Controle detournement utilisateur
32
		// Controle detournement utilisateur
35
		 	$this->controleUtilisateur($uid[0]);
33
		$this->controleUtilisateur($uid[0]);
36
 
34
 
Line 37... Line 35...
37
		 	if(!is_numeric($uid[0])) {
35
		if (!is_numeric($uid[0])) {
Line 38... Line 36...
38
		 		return;
36
			return;
39
		 	}
37
		}
40
 
38
 
-
 
39
		$conditions = $this->traiterParametresEtConstruireRequete($uid);
41
			$condition_requete = $this->traiterParametresEtConstruireRequete($uid);
40
 
Line 42... Line 41...
42
 
41
		$requete_liste_dates = 'SELECT DISTINCT '.
43
		   	$requete_liste_dates = 'SELECT DISTINCT '.
-
 
44
	    			'date_prise_de_vue AS id '.
42
			'date_prise_de_vue AS id '.
45
	           		'FROM cel_images WHERE '.$condition_requete.' '.
-
 
46
	           		'ORDER BY date_prise_de_vue';
43
			'FROM cel_images '.
47
 
44
			"WHERE $conditions ".
48
		    $liste_dates = Cel::db()->requeter($requete_liste_dates);
45
			'ORDER BY date_prise_de_vue';
Line 49... Line 46...
49
 
46
 
50
	        $liste_dates = $this->formaterListeResultats($liste_dates);
-
 
51
 
47
		$liste_dates = Cel::db()->requeter($requete_liste_dates);
52
			$this->envoyerJson($liste_dates);
48
		$liste_dates = $this->formaterListeResultats($liste_dates);
53
			return true;
49
		$this->envoyerJson($liste_dates);
Line 54... Line 50...
54
	}
50
		return true;
55
 
-
 
56
	private function formaterListeResultats($liste_dates) {
51
	}
57
 
52
 
58
		if (!$liste_dates) {
53
	private function formaterListeResultats($liste_dates) {
59
    	    $liste_dates = array();
54
		if (!$liste_dates) {
60
        }
55
			$liste_dates = array();
Line 70... Line 65...
70
	    		} else {
65
				} else {
71
	    			$date = $date['id'];
66
					$date = $date['id'];
72
	    		}
67
				}
73
    		}
68
			}
74
        }
69
		}
75
 
-
 
76
        return $liste_dates;
70
		return $liste_dates;
77
	}
71
	}
Line 78... Line 72...
78
 
72
 
79
	private function traiterParametresEtConstruireRequete($params) {
-
 
80
 
73
	private function traiterParametresEtConstruireRequete($params) {
Line 81... Line 74...
81
		$requete_condition = ' ce_utilisateur = '.Cel::db()->proteger($params[0]);
74
		$conditions = ' ce_utilisateur = '.Cel::db()->proteger($params[0]);
82
 
75
 
83
		$taille_tableau_parametres = count($params);
76
		$taille_tableau_parametres = count($params);
84
		for($i=1; $i < $taille_tableau_parametres; $i++) {
77
		for ($i = 1; $i < $taille_tableau_parametres; $i++) {
85
			if($this->estUnParametreDate($params[$i])) {
78
			if ($this->estUnParametreDate($params[$i])) {
86
				$fonction_date = $this->correspondance_fonction[$i];
79
				$fonction_date = $this->correspondance_fonction[$i];
87
				$requete_condition .= ' AND '.$fonction_date.'(date_prise_de_vue) = '.Cel::db()->proteger($params[$i]);
80
				$conditions .= ' AND '.$fonction_date.'(date_prise_de_vue) = '.Cel::db()->proteger($params[$i]);
88
			}
-
 
89
		}
81
			}
90
 
82
		}
Line 91... Line 83...
91
		return $requete_condition;
83
		return $conditions;
92
	}
84
	}
93
 
85
 
94
	private function estUnParametreDate($valeur) {
86
	private function estUnParametreDate($valeur) {
95
		 return is_numeric($valeur) && $valeur != "all";
-
 
96
	}
87
		return is_numeric($valeur) && $valeur != 'all';