107,7 → 107,7 |
$date_fin = "'{$date_fin}'"; |
|
$requete = |
'SELECT SQL_CALC_FOUND_ROWS p.id_observation, p.id_image, '. |
'SELECT SQL_CALC_FOUND_ROWS p.id_observation, GROUP_CONCAT(DISTINCT p.id_image) as id_image, '. |
'iv.moyenne AS moyenne_votes, '. |
'iv.nb_votes AS nb_votes, '. |
'iv.nb_points AS nb_points_votes, '. |
126,7 → 126,7 |
' ON (p.id_observation = c.ce_observation) '. |
' LEFT JOIN del_commentaire_vote AS cv '. |
' ON (c.id_commentaire = cv.ce_proposition) '. |
'GROUP BY p.id_image, p.id_observation '. |
'GROUP BY p.id_observation '. |
'ORDER BY modif_date ' . $ordre . ' '. |
'LIMIT '.$depart.', '.$limite. |
' -- '.__FILE__.':'.__LINE__; |
186,15 → 186,21 |
$imgCelTpl = $this->conteneur->getParametre('cel_img_url_tpl'); |
foreach ($this->idsObsImg as $ids) { |
$idobs = $ids['id_observation']; |
$idimg = $ids['id_image']; |
$idimg = explode(',', $ids['id_image']); |
|
$imgdata = $this->infosObsImg[$idimg]; |
$obs[$idobs]['id_observation'] = $idobs; |
|
foreach ($idimg as $image){ |
$imgInfos = null; |
$imgdata = null; |
|
$imgdata = $this->infosObsImg[$image]; |
$imgInfos = $this->recupererInfosParImage($image); |
|
if (!isset($obs[$idobs])) { |
$obs[$idobs] = array(); |
} |
|
$obs[$idobs]['id_observation'] = $idobs; |
$obs[$idobs]['id_plantnet'] = $imgdata['id_plantnet']; |
$obs[$idobs]['auteur_courriel'] = $imgdata['courriel_utilisateur']; |
|
225,22 → 231,24 |
} |
|
$img_obj = array( |
'id_image' => $idimg, |
'id_image' => $image, |
'nom_image' => $imgdata['nom_image'], |
'image_updated' => $imgdata['image_updated'], |
'date_shot' => $imgdata['date_shot'], |
'mots_cles_cel_image' => $imgdata['mots_cles_cel_image'], |
'mots_cles_cel_image' => $imgInfos[0]['mots_cles_cel_image'], |
'url' => sprintf($imgCelTpl, $idimg, 'O'), |
'votes' => [ |
'moyenne_votes' => $ids['moyenne_votes'], |
'nb_votes' => $ids['nb_votes'], |
'nb_points_votes' => $ids['nb_points_votes'], |
'moyenne_votes' => $imgInfos[0]['moyenne_votes'], |
'nb_votes' => $imgInfos[0]['nb_votes'], |
'nb_points_votes' => $imgInfos[0]['nb_points_votes'], |
], |
'del_tags' => explode(',', $ids['del_image_tags']), |
'del_tags' => explode(',', $imgInfos[0]['del_image_tags']), |
); |
// push |
$obs[$idobs]['images'][] = $img_obj; |
} |
|
} |
return $obs; |
} |
|
328,4 → 336,25 |
return $ret; |
} |
|
/** |
* On charge les infos spécifique à chaque image d'une obs |
*/ |
private function recupererInfosParImage($id_image){ |
$requete = |
'SELECT SQL_CALC_FOUND_ROWS p.id_image, '. |
'p.mots_cles_cel_image, '. |
'iv.moyenne AS moyenne_votes, '. |
'iv.nb_votes AS nb_votes, '. |
'iv.nb_points AS nb_points_votes, '. |
'GROUP_CONCAT(DISTINCT it.tag) AS del_image_tags '. |
'FROM del_plantnet_images AS p '. |
' LEFT JOIN del_image_stat AS iv '. |
' ON (id_image = iv.ce_image AND iv.ce_protocole = 3) '. |
' LEFT JOIN del_image_tag AS it '. |
' ON (id_image = it.ce_image AND it.actif = 1) '. |
' WHERE id_image = '. $id_image .' '. |
'GROUP BY p.id_image '. |
' -- '.__FILE__.':'.__LINE__; |
return $this->bdd->recupererTous($requete); |
} |
} |