Subversion Repositories eFlore/Applications.del

Rev

Rev 1881 | Rev 1938 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 1881 Rev 1922
Line 83... Line 83...
83
		$annuaireChamps = implode(', ', array(
83
		$annuaireChamps = implode(', ', array(
84
			"IFNULL(du.prenom, do.prenom_utilisateur) AS `auteur.prenom`",
84
			"IFNULL(du.prenom, do.prenom_utilisateur) AS `auteur.prenom`",
85
			"IFNULL(du.nom, do.nom_utilisateur) AS `auteur.nom`",
85
			"IFNULL(du.nom, do.nom_utilisateur) AS `auteur.nom`",
86
			"IFNULL(du.courriel, do.courriel_utilisateur) AS `auteur.courriel`"));
86
			"IFNULL(du.courriel, do.courriel_utilisateur) AS `auteur.courriel`"));
Line -... Line 87...
-
 
87
 
87
 
88
		// TODO : bizarement MYSQL 5.6 retourne plusieurs fois les mêmes enregistrements d'où le DISTINCT (normalement inutile)
88
		$requete = "SELECT $obsChamps, $imgChamps, $annuaireChamps ".
89
		$requete = "SELECT DISTINCT $obsChamps, $imgChamps, $annuaireChamps ".
89
			"FROM del_observation AS do ".
90
			"FROM del_observation AS do ".
90
			"	LEFT JOIN del_image AS di ON (do.id_observation = di.ce_observation) ".
91
			"	LEFT JOIN del_image AS di ON (do.id_observation = di.ce_observation) ".
91
			"	LEFT JOIN del_utilisateur AS du ON (do.ce_utilisateur = du.id_utilisateur) ".
92
			"	LEFT JOIN del_utilisateur AS du ON (do.ce_utilisateur = du.id_utilisateur) ".
92
			"WHERE do.id_observation = {$this->idObs} ".
93
			"WHERE do.id_observation = {$this->idObs} ".
93
			'-- '.__FILE__.':'.__LINE__;
94
			'-- '.__FILE__.':'.__LINE__;
94
		//Debug::printr($requete);
95
		//Debug::printr($requete);
95
		return $this->bdd->recuperer($requete);
96
		return $this->bdd->recupererTous($requete);
Line 96... Line 97...
96
	}
97
	}
97
 
98
 
-
 
99
	private function formaterObservation($infos) {
-
 
100
		$infos = array_filter($infos);
-
 
101
		foreach ($infos as $info) {
-
 
102
			$image = array_intersect_key($info, array_flip(array('id_image', 'date', 'hauteur' , 'largeur', 'nom_original')));
-
 
103
			$urlImgTpl = $this->conteneur->getParametre('cel_img_url_tpl');
-
 
104
			$imageFormat = 'XL';
Line 98... Line 105...
98
	private function formaterObservation($infos) {
105
			$image['binaire.href'] = sprintf($urlImgTpl, $image['id_image'], $imageFormat);
99
		$infos = array_filter($infos);
106
			unset($info['id_image'], $info['date'], $info['hauteur'], $info['largeur'], $info['nom_original']);
100
 
107
 
101
		$image = array_intersect_key($infos, array_flip(array('id_image', 'date', 'hauteur' , 'largeur', 'nom_original')));
108
			// ATTENTION : la requête retourne de nombreuses lignes avec les mêmes données (test de l'existence nécessaire)
102
		$urlImgTpl = $this->conteneur->getParametre('cel_img_url_tpl');
-
 
103
		$imageFormat = 'XL';
109
			if (!isset($this->observation)) {
104
		$image['binaire.href'] = sprintf($urlImgTpl, $image['id_image'], $imageFormat);
110
				$this->observation = $info;
105
		unset($infos['id_image'], $infos['date'], $infos['hauteur'], $infos['largeur'], $infos['nom_original']);
111
				$this->observation['images'] = array();
-
 
112
			}
-
 
113
			if (!isset($this->observation['images'][$image['id_image']])) {
106
 
114
				$this->observation['images'][$image['id_image']] = $image;
Line 107... Line 115...
107
		$this->observation = $infos;
115
			}
108
		$this->observation['images'][$image['id_image']] = $image;
116
		}
109
	}
117
	}