380,9 → 380,13 |
* */ |
private function chargerLiaisons() { |
|
$champs = array('dob.id_observation as id_observation', 'nom_sel', 'nom_sel_nn', 'nt', 'famille', 'ce_zone_geo', 'zone_geo', |
'lieudit', 'station', 'milieu', 'date_observation', 'dob.mots_cles_texte as mots_cles_texte', 'dob.commentaire as commentaire', |
'di.mots_cles_texte as mots_cles_texte_image ', 'date_transmission', 'di.id_image as id_image', 'di.ce_utilisateur as ce_utilisateur', |
'prenom', 'nom', 'courriel', 'nom_original'); |
// Attention le LEFT JOIN est indispensable pour ramener les images n'ayant pas de votes |
// en cas de tri par votes |
$requeteLiaisons = 'SELECT DISTINCT SQL_CALC_FOUND_ROWS di.*, doi.*, du.*, dob.*, di.mots_cles_texte as mots_cles_texte_image '. |
$requeteLiaisons = 'SELECT DISTINCT SQL_CALC_FOUND_ROWS '.implode(', ',$champs).' '. |
($this->doitJoindreTableVotes() ? |
', IF(dvote.ce_protocole = '.$this->parametres['protocole'].', SUM(dvote.valeur), 0) as total_votes ' : |
'' |
442,8 → 446,8 |
// On enregistre l'ID de l'image pour n'effectuer qu'une seule requĂȘte par la suite |
$this->imageIds[] = $idImage; |
$index = $liaison['id_image'].'-'.$liaison['id_observation']; |
$images[$index] = array('id_image' => $idImage, 'date' => $liaison['date_prise_de_vue'], 'binaire.href' => $this->formaterLienImage($idImage), |
'hauteur' => $liaison['hauteur'], 'largeur' => $liaison['largeur'], 'protocoles_votes' => array(), |
$images[$index] = array('id_image' => $idImage, 'binaire.href' => $this->formaterLienImage($idImage), |
'protocoles_votes' => array(), |
'mots_cles_texte' => $liaison['mots_cles_texte_image'], 'observation' => $this->formaterObservation($liaison)); |
} |
return $images; |