Subversion Repositories eFlore/Applications.del

Rev

Rev 1319 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 1319 Rev 1320
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
		}