| Line 494... |
Line 494... |
| 494 |
$conditionsLibre[] = "nom_sel LIKE '$passe%'";
|
494 |
$conditionsLibre[] = "nom_sel LIKE '$passe%'";
|
| 495 |
}
|
495 |
}
|
| Line 496... |
Line 496... |
| 496 |
|
496 |
|
| 497 |
if (!isset($masques['masque.tag'])) {
|
497 |
if (!isset($masques['masque.tag'])) {
|
| 498 |
$conditionsLibre[] = "mots_cles_texte LIKE '%$passe%'";
|
- |
|
| 499 |
//TODO : voir pour images
|
498 |
$conditionsLibre[] = "mots_cles_texte LIKE '%$passe%'";
|
| Line 500... |
Line 499... |
| 500 |
}
|
499 |
}
|
| 501 |
|
500 |
|
| 502 |
if (!isset($masques['masque.date'])) {
|
501 |
if (!isset($masques['masque.date'])) {
|
| Line 533... |
Line 532... |
| 533 |
$milieu = $masques['masque.milieu'];
|
532 |
$milieu = $masques['masque.milieu'];
|
| 534 |
$conditionsObs[] = "nom_sel LIKE '$milieu%'";
|
533 |
$conditionsObs[] = "nom_sel LIKE '$milieu%'";
|
| 535 |
}
|
534 |
}
|
| Line 536... |
Line 535... |
| 536 |
|
535 |
|
| 537 |
// mots_cles_texte
|
536 |
// mots_cles_texte
|
| 538 |
if (isset($masques['masque.tag'])) {
|
537 |
/*if (isset($masques['masque.tag'])) {
|
| 539 |
$motscles = $masques['masque.tag'];
|
538 |
$motscles = $masques['masque.tag'];
|
| 540 |
$conditionsObs[] = "mots_cles_texte LIKE '%$motscles%'";
|
539 |
$conditionsObs[] = "mots_cles_texte LIKE '%$motscles%'";
|
| Line 541... |
Line 540... |
| 541 |
}
|
540 |
}*/
|
| 542 |
|
541 |
|
| 543 |
// date
|
542 |
// date
|
| 544 |
if (isset($masques['masque.date'])) {
|
543 |
if (isset($masques['masque.date'])) {
|
| Line 613... |
Line 612... |
| 613 |
//var_dump($requeteImages);exit();
|
612 |
//var_dump($requeteImages);exit();
|
| 614 |
// 3. Récupérer la combinaison des deux
|
613 |
// 3. Récupérer la combinaison des deux
|
| 615 |
$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, '.
|
614 |
$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, '.
|
| 616 |
' 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, '.
|
615 |
' 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, '.
|
| 617 |
' 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 '.
|
616 |
' 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 '.
|
| 618 |
' FROM del_obs_image DOI '.
|
617 |
' FROM del_obs_image doi '.
|
| 619 |
' INNER JOIN del_image di ON doi.id_image = di.id_image '.
|
618 |
' INNER JOIN del_image di ON doi.id_image = di.id_image '.
|
| 620 |
' INNER JOIN del_observation dob ON doi.id_observation = dob.id_observation '.
|
619 |
' INNER JOIN del_observation dob ON doi.id_observation = dob.id_observation '.
|
| 621 |
' LEFT JOIN del_utilisateur du ON du.id_utilisateur = di.ce_utilisateur ';
|
620 |
' LEFT JOIN del_utilisateur du ON du.id_utilisateur = di.ce_utilisateur ';
|
| Line -... |
Line 621... |
| - |
|
621 |
|
| - |
|
622 |
|
| - |
|
623 |
$chaineWhere = '';
|
| - |
|
624 |
if (isset($masques['masque.tag']) && sizeof($masques) == 1) {
|
| - |
|
625 |
$connecteur = ' OR ';
|
| - |
|
626 |
} else {
|
| - |
|
627 |
$connecteur = ' AND ';
|
| 622 |
|
628 |
}
|
| 623 |
|
629 |
|
| 624 |
$where = array();
|
630 |
$where = array();
|
| 625 |
if (!empty($conditionsObs) && strlen($idsObs) > 0) {
|
631 |
if (!empty($conditionsObs) && strlen($idsObs) > 0) {
|
| Line 626... |
Line 632... |
| 626 |
$where[] = 'dob.id_observation IN ( '.$idsObs.') ';
|
632 |
$where[] = ' dob.id_observation IN ( '.$idsObs.') ';
|
| 627 |
}
|
633 |
}
|
| 628 |
|
- |
|
| 629 |
if (!empty($conditionsImg) && strlen($idsImages) > 0) {
|
- |
|
| 630 |
$chaineWhere = 'di.id_image IN ( '.$idsImages.') ';
|
- |
|
| 631 |
// Si on ne cherche pas que le tag, on doit récupérer uniquement les
|
- |
|
| 632 |
// images qui matche avec la recherche d'observation
|
- |
|
| 633 |
if (isset($masques['masque.tag']) && sizeof($masques) > 1) {
|
- |
|
| 634 |
$chaineWhere .= ' AND doi.id_observation IN ('.$idsObs.') ';
|
634 |
|
| Line -... |
Line 635... |
| - |
|
635 |
if (!empty($conditionsImg) && strlen($idsImages) > 0) {
|
| 635 |
}
|
636 |
$where[] = 'di.id_image IN ( '.$idsImages.') ';
|
| 636 |
$where[] = $chaineWhere;
|
637 |
}
|
| - |
|
638 |
|
| 637 |
}
|
639 |
|
| 638 |
|
- |
|
| 639 |
if (!empty($where)) {
|
- |
|
| 640 |
$requeteLiaisons .= ' WHERE '.implode(' OR ', $where);
|
- |
|
| 641 |
}
|
- |
|
| 642 |
|
- |
|
| 643 |
// limite de la chaine idobs = 1047389
|
- |
|
| 644 |
/*if (strlen($requeteLiaisons) > 1047389) {
|
- |
|
| 645 |
exit('requete trop longue');
|
640 |
if (!empty($where)) {
|
| Line 646... |
Line 641... |
| 646 |
//return array();
|
641 |
$chaineWhere = ' WHERE '.implode($connecteur, $where);
|
| 647 |
}*/
|
642 |
$requeteLiaisons .= $chaineWhere;
|
| 648 |
|
643 |
}
|