303,9 → 303,9 |
//Si on veut les observations en discussion, on va récupérer les ids des observations dont le nombre de commentaire est supérieur à N |
$idsObservations = $this->chargerIdsObservationsParNbCommentaires(); |
if(!empty($idsObservations)) { |
$requeteType[] = 'dob.id_observation IN ('.$idsObservations.') '; |
$requeteType[] = ' dob.id_observation IN ('.$idsObservations.') '; |
} else { |
$requeteType[] = 'dob.id_observation IN (NULL) '; |
$requeteType[] = ' dob.id_observation IN (NULL) '; |
} |
} |
if ($valeurMasque != '') { |
383,8 → 383,8 |
'dob.prenom_utilisateur LIKE '.$this->proteger($tableauNomPrenom[0].'%').') '. |
')'; |
} else { |
$masque = '( |
(nom LIKE '.$this->proteger($auteurId.'%').' OR '. |
$masque = '(' . |
'(nom LIKE '.$this->proteger($auteurId.'%').' OR '. |
'prenom LIKE '.$this->proteger($auteurId.'%').' OR '. |
'dob.nom_utilisateur LIKE '.$this->proteger($auteurId.'%').' OR '. |
'dob.prenom_utilisateur LIKE '.$this->proteger($auteurId.'%').')'. |
461,7 → 461,7 |
// comme avec implode (attention au fait que l'on concatène des % au début et à la fin) |
foreach($mots_cles as $mot_cle) { |
$requeteMotsCles = $this->proteger('%'.$mot_cle.'%'); |
$requeteMotsClesImg .= "di.mots_cles_texte LIKE $requeteMotsCles AND "; |
$requeteMotsClesImg .= "dob.i_mots_cles_texte LIKE $requeteMotsCles AND "; |
$requeteMotsClesObs .= "dob.mots_cles_texte LIKE $requeteMotsCles AND "; |
} |
$requeteMotsClesImg = rtrim($requeteMotsClesImg, ' AND '); |
481,20 → 481,16 |
$requeteLiaisons = sprintf( |
'SELECT SQL_CALC_FOUND_ROWS '. |
' dob.id_observation, nom_referentiel, nom_sel, famille, ce_zone_geo, zone_geo, lieudit, '. |
' station, milieu, date_observation, dob.mots_cles_texte, date_transmission, di.id_image, '. |
' station, milieu, date_observation, mots_cles_texte, date_transmission, id_image, '. |
' dob.ce_utilisateur, prenom, nom, courriel, '. |
' dob.prenom_utilisateur, dob.nom_utilisateur, dob.courriel_utilisateur, '. |
' nom_original, dob.commentaire AS dob_commentaire, '. |
' dob.nt, dob.nom_sel_nn '. |
'FROM del_observation AS dob '. |
'FROM del_image AS dob '. |
' LEFT JOIN del_utilisateur AS du '. |
' ON du.id_utilisateur = dob.ce_utilisateur '. |
' LEFT JOIN del_obs_image AS doi '. |
' ON doi.id_observation = dob.id_observation '. |
' LEFT JOIN del_image AS di '. |
' ON di.id_image = doi.id_image '. |
'%s'. |
' GROUP BY doi.id_observation'. |
' GROUP BY dob.id_observation'. |
' ORDER BY %s %s %s -- %s', |
$this->chargerClauseWhere(), |
$this->tri, |
566,10 → 562,10 |
private function chargerImages(&$observations) { |
$idObs = array_values(array_map(create_function('$a', 'return $a["id_observation"];'), |
$observations)); |
$r = sprintf('SELECT id_observation, doi.id_image, date_prise_de_vue AS date, hauteur , largeur ' . |
' FROM del_obs_image AS doi ' . |
' INNER JOIN del_image AS di ON doi.id_image = di.id_image ' . |
' WHERE doi.id_observation IN (%s) -- %s', |
if(!$idObs) return; |
$r = sprintf('SELECT id_observation, id_image, date_prise_de_vue AS date, hauteur , largeur ' . |
' FROM del_image ' . |
' WHERE id_observation IN (%s) -- %s', |
implode(',',$idObs), |
__FILE__ . ':' . __LINE__); |
$images = $this->bdd->recupererTous($r); |
590,6 → 586,7 |
private function chargerDeterminations(&$observations) { |
$idObs = array_values(array_map(create_function('$a', 'return $a["id_observation"];'), |
$observations)); |
if(!$idObs) return; |
$r = sprintf('SELECT * FROM del_commentaire AS dc WHERE dc.nom_sel IS NOT NULL AND ce_observation IN (%s) -- %s', |
implode(',',$idObs), |
__FILE__ . ':' . __LINE__); |