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 |
}
|