Subversion Repositories eFlore/Applications.cel

Rev

Rev 2143 | Go to most recent revision | Show entire file | Ignore 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 -... Line 29...
-
 
29
	private $correspondance_fonction = array(1 => 'year', 2 => 'month', 3 => 'day');
-
 
30
 
-
 
31
	public function getElement($uid){
Line 29... Line -...
29
	private $correspondance_fonction = array(1 => 'year', 2 => 'month', 3 => 'day');
-
 
30
 
-
 
31
 
-
 
32
	function getElement($uid){
-
 
33
 
-
 
34
		   // Controle detournement utilisateur
32
		// Controle detournement utilisateur
35
		 	$this->controleUtilisateur($uid[0]);
33
		$this->controleUtilisateur($uid[0]);
36
 
34
 
37
		 	if(!is_numeric($uid[0])) {
-
 
38
		 		return;
-
 
39
		 	}
-
 
40
 
-
 
41
			$condition_requete = $this->traiterParametresEtConstruireRequete($uid);
-
 
42
 
-
 
43
		   	$requete_liste_dates = 'SELECT DISTINCT '.
-
 
44
	    			'date_prise_de_vue AS id '.
-
 
45
	           		'FROM cel_images WHERE '.$condition_requete.' '.
-
 
Line 46... Line 35...
46
	           		'ORDER BY date_prise_de_vue';
35
		if (!is_numeric($uid[0])) {
Line -... Line 36...
-
 
36
			return;
-
 
37
		}
-
 
38
 
-
 
39
		$conditions = $this->traiterParametresEtConstruireRequete($uid);
-
 
40
 
-
 
41
		$requete_liste_dates = 'SELECT DISTINCT '.
-
 
42
			'date_prise_de_vue AS id '.
-
 
43
			'FROM cel_images '.
47
 
44
			"WHERE $conditions ".
48
		    $liste_dates = Cel::db()->requeter($requete_liste_dates);
45
			'ORDER BY date_prise_de_vue';
49
 
46
 
Line 50... Line 47...
50
	        $liste_dates = $this->formaterListeResultats($liste_dates);
47
		$liste_dates = Cel::db()->requeter($requete_liste_dates);
51
 
-
 
52
			$this->envoyerJson($liste_dates);
48
		$liste_dates = $this->formaterListeResultats($liste_dates);
53
			return true;
49
		$this->envoyerJson($liste_dates);
54
	}
-
 
55
 
-
 
56
	private function formaterListeResultats($liste_dates) {
-
 
57
 
-
 
58
		if (!$liste_dates) {
-
 
59
    	    $liste_dates = array();
-
 
60
        }
-
 
61
 
-
 
62
    	foreach($liste_dates as &$date) {
-
 
63
 
-
 
64
    		if($date['id'] == null || trim($date['id']) == '' || $date['id'] == 'null') {
-
 
65
    			$date = '0000-00-00';
-
 
66
    		} else {
-
 
67
	    		$date_heures = explode(' ',$date['id']);
50
		return true;
68
	    		if(count($date_heures) > 1) {
-
 
Line -... Line 51...
-
 
51
	}
-
 
52
 
-
 
53
	private function formaterListeResultats($liste_dates) {
-
 
54
		if (!$liste_dates) {
-
 
55
			$liste_dates = array();
-
 
56
		}
-
 
57
 
-
 
58
		foreach($liste_dates as &$date) {
-
 
59
			if ($date['id'] == null || trim($date['id']) == '' || $date['id'] == 'null') {
-
 
60
				$date = '0000-00-00';
-
 
61
			} else {
-
 
62
				$date_heures = explode(' ',$date['id']);
69
	    			$date = $date_heures[0];
63
				if (count($date_heures) > 1) {
70
	    		} else {
64
					$date = $date_heures[0];
Line 71... Line 65...
71
	    			$date = $date['id'];
65
				} else {
72
	    		}
-
 
73
    		}
66
					$date = $date['id'];
Line 74... Line 67...
74
        }
67
				}
75
 
68
			}
76
        return $liste_dates;
69
		}
77
	}
70
		return $liste_dates;
78
 
71
	}
79
	private function traiterParametresEtConstruireRequete($params) {
72
 
80
 
73
	private function traiterParametresEtConstruireRequete($params) {
81
		$requete_condition = ' ce_utilisateur = '.Cel::db()->proteger($params[0]);
-
 
82
 
74
		$conditions = ' ce_utilisateur = '.Cel::db()->proteger($params[0]);
83
		$taille_tableau_parametres = count($params);
75
 
Line 84... Line 76...
84
		for($i=1; $i < $taille_tableau_parametres; $i++) {
76
		$taille_tableau_parametres = count($params);
85
			if($this->estUnParametreDate($params[$i])) {
77
		for ($i = 1; $i < $taille_tableau_parametres; $i++) {
86
				$fonction_date = $this->correspondance_fonction[$i];
78
			if ($this->estUnParametreDate($params[$i])) {
87
				$requete_condition .= ' AND '.$fonction_date.'(date_prise_de_vue) = '.Cel::db()->proteger($params[$i]);
-
 
88
			}
-
 
89
		}
79
				$fonction_date = $this->correspondance_fonction[$i];
-
 
80
				$conditions .= ' AND '.$fonction_date.'(date_prise_de_vue) = '.Cel::db()->proteger($params[$i]);
90
 
81
			}