Line 99... |
Line 99... |
99 |
}
|
99 |
}
|
100 |
return $idImgs;
|
100 |
return $idImgs;
|
101 |
}
|
101 |
}
|
Line 102... |
Line 102... |
102 |
|
102 |
|
- |
|
103 |
private function getInfosImages() {
|
- |
|
104 |
// Traitement du champ mots clés text à part pour éviter un écrasement des mots
|
- |
|
105 |
// clés img par ceux de l'obs
|
- |
|
106 |
// TODO: gérer ce problème pour tous les champs où ça peut arriver
|
- |
|
107 |
$mot_cles_texte_concat = "di.mots_cles_texte as mots_cles_texte_img";
|
103 |
private function getInfosImages() {
|
108 |
|
104 |
$obsChamps = $this->sql->getAliasDesChamps($this->mappings['observations'], null, 'do');
|
109 |
$obsChamps = $this->sql->getAliasDesChamps($this->mappings['observations'], null, 'do');
|
105 |
$imgChamps = $this->sql->getAliasDesChamps($this->mappings['images'], null, 'di');
|
110 |
$imgChamps = $this->sql->getAliasDesChamps($this->mappings['images'], null, 'di');
|
Line 106... |
Line 111... |
106 |
$idImgsConcat = implode(',', $this->idsImagesOrdonnees);
|
111 |
$idImgsConcat = implode(',', $this->idsImagesOrdonnees);
|
107 |
|
112 |
|
108 |
$requete = "SELECT $obsChamps, $imgChamps ".
|
113 |
$requete = "SELECT $obsChamps, $imgChamps, $mot_cles_texte_concat ".
|
109 |
'FROM del_image AS di '.
|
114 |
'FROM del_image AS di '.
|
110 |
' LEFT JOIN del_observation AS do ON (di.ce_observation = do.id_observation) '.
|
115 |
' LEFT JOIN del_observation AS do ON (di.ce_observation = do.id_observation) '.
|
111 |
"WHERE di.id_image IN ($idImgsConcat) ".
|
116 |
"WHERE di.id_image IN ($idImgsConcat) ".
|
Line 122... |
Line 127... |
122 |
$obsFormatees = array_flip($this->idsImagesOrdonnees);// Permet de garder l'ordre de sortie !
|
127 |
$obsFormatees = array_flip($this->idsImagesOrdonnees);// Permet de garder l'ordre de sortie !
|
123 |
foreach ($this->infosImages as $infos) {
|
128 |
foreach ($this->infosImages as $infos) {
|
124 |
$id = $infos['id_image'];
|
129 |
$id = $infos['id_image'];
|
125 |
// ainsi nous utilisons deux tableaux: le final, indexé par couple d'id(image-obs)
|
130 |
// ainsi nous utilisons deux tableaux: le final, indexé par couple d'id(image-obs)
|
126 |
// et celui indexé par simple id_image qui est fort utile pour mapVotesToImages()
|
131 |
// et celui indexé par simple id_image qui est fort utile pour mapVotesToImages()
|
127 |
// mais tout deux partage leur référence à "protocole"
|
132 |
// mais tout deux partage leur référence à "protocole"
|
128 |
$image = array(
|
133 |
$image = array(
|
129 |
'id_image' => $id,
|
134 |
'id_image' => $id,
|
130 |
'binaire.href' => sprintf($urlImgTpl, $infos['id_image'], $imageFormat),
|
135 |
'binaire.href' => sprintf($urlImgTpl, $infos['id_image'], $imageFormat),
|
131 |
'mots_cles_texte' => isset($infos['mots_cles_texte']) ? $infos['mots_cles_texte'] : null,
|
136 |
'mots_cles_texte' => isset($infos['mots_cles_texte_img']) ? $infos['mots_cles_texte_img'] : null,
|
132 |
);
|
137 |
);
|
133 |
unset($infos['id_image'], $infos['mots_cles_texte']);
|
138 |
unset($infos['id_image'], $infos['mots_cles_texte'], $infos['mots_cles_texte_img']);
|
Line 134... |
Line 139... |
134 |
|
139 |
|
135 |
$obsFormatees[$id] = $image;
|
140 |
$obsFormatees[$id] = $image;
|
136 |
$obsFormatees[$id]['observation'] = $infos;
|
141 |
$obsFormatees[$id]['observation'] = $infos;
|
137 |
$obsFormatees[$id]['protocoles_votes'] = array();
|
142 |
$obsFormatees[$id]['protocoles_votes'] = array();
|