Subversion Repositories eFlore/Applications.del

Compare Revisions

Ignore whitespace Rev 1319 → Rev 1320

/trunk/services/modules/0.1/images/ListeImages.php
496,7 → 496,6
if (!isset($masques['masque.tag'])) {
$conditionsLibre[] = "mots_cles_texte LIKE '%$passe%'";
//TODO : voir pour images
}
if (!isset($masques['masque.date'])) {
535,10 → 534,10
}
// mots_cles_texte
if (isset($masques['masque.tag'])) {
/*if (isset($masques['masque.tag'])) {
$motscles = $masques['masque.tag'];
$conditionsObs[] = "mots_cles_texte LIKE '%$motscles%'";
}
}*/
// date
if (isset($masques['masque.date'])) {
615,37 → 614,33
$requeteLiaisons = 'SELECT DISTINCT SQL_CALC_FOUND_ROWS 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, dob.prenom_utilisateur, dob.nom_utilisateur, dob.courriel_utilisateur, nom_original '.
' FROM del_obs_image DOI '.
' FROM del_obs_image doi '.
' INNER JOIN del_image di ON doi.id_image = di.id_image '.
' INNER JOIN del_observation dob ON doi.id_observation = dob.id_observation '.
' LEFT JOIN del_utilisateur du ON du.id_utilisateur = di.ce_utilisateur ';
$chaineWhere = '';
if (isset($masques['masque.tag']) && sizeof($masques) == 1) {
$connecteur = ' OR ';
} else {
$connecteur = ' AND ';
}
$where = array();
if (!empty($conditionsObs) && strlen($idsObs) > 0) {
$where[] = 'dob.id_observation IN ( '.$idsObs.') ';
$where[] = ' dob.id_observation IN ( '.$idsObs.') ';
}
if (!empty($conditionsImg) && strlen($idsImages) > 0) {
$chaineWhere = 'di.id_image IN ( '.$idsImages.') ';
// Si on ne cherche pas que le tag, on doit récupérer uniquement les
// images qui matche avec la recherche d'observation
if (isset($masques['masque.tag']) && sizeof($masques) > 1) {
$chaineWhere .= ' AND doi.id_observation IN ('.$idsObs.') ';
}
$where[] = $chaineWhere;
$where[] = 'di.id_image IN ( '.$idsImages.') ';
}
if (!empty($where)) {
$requeteLiaisons .= ' WHERE '.implode(' OR ', $where);
$chaineWhere = ' WHERE '.implode($connecteur, $where);
$requeteLiaisons .= $chaineWhere;
}
// limite de la chaine idobs = 1047389
/*if (strlen($requeteLiaisons) > 1047389) {
exit('requete trop longue');
//return array();
}*/
$requeteLiaisons .= $this->gestionBdd->getLimitSql();
// on ne lance la requete que si on a trouvé des images ou des observations, sinon