Subversion Repositories eFlore/Applications.cel

Rev

Rev 1464 | Rev 1550 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 1464 Rev 1477
Line 36... Line 36...
36
		'dept' => 'ce_zone_geo',
36
		'dept' => 'ce_zone_geo',
37
		'taxon' => 'nom_ret',
37
		'taxon' => 'nom_ret',
38
		'num_taxon' => 'nt',
38
		'num_taxon' => 'nt',
39
		'commentaire' => 'commentaire',
39
		'commentaire' => 'commentaire',
40
		'date' => 'date_observation',
40
		'date' => 'date_observation',
-
 
41
		'motcle' => 'tags',
41
		'projet' => 'mots-cles');
42
		'projet' => 'mots-cles');
Line 42... Line 43...
42
 
43
 
43
	/**
44
	/**
44
	 * Méthode appelée avec une requête de type GET.
45
	 * Méthode appelée avec une requête de type GET.
Line 315... Line 316...
315
					case "nom_ret" :
316
					case "nom_ret" :
316
						if ($nom_valeur[1] == "indetermine") $nom_valeur[1] = 'null';
317
						if ($nom_valeur[1] == "indetermine") $nom_valeur[1] = 'null';
317
						$requete .= ' ('.$nom_valeur[0].' LIKE "%'.$nom_valeur[1].'%" OR nom_sel LIKE "%'.
318
						$requete .= ' ('.$nom_valeur[0].' LIKE "%'.$nom_valeur[1].'%" OR nom_sel LIKE "%'.
318
							$nom_valeur[1].'%") AND '; break;
319
							$nom_valeur[1].'%") AND '; break;
319
					case "mots-cles" : $requete .= $this->creerSousRequeteMotsCles($nom_valeur[1]).' AND '; break;
320
					case "mots-cles" : $requete .= $this->creerSousRequeteMotsCles($nom_valeur[1]).' AND '; break;
-
 
321
					case "tags" : $requete .= $this->creerSousRequeteTags($nom_valeur[1]).' AND '; break;
320
					default : $requete .= $nom_valeur[0].' = "'.$nom_valeur[1].'" AND '; break;
322
					default : $requete .= $nom_valeur[0].' = "'.$nom_valeur[1].'" AND '; break;
321
				}
323
				}
322
			}
324
			}
323
		}
325
		}
324
		$requete = rtrim($requete,' AND ');
326
		$requete = rtrim($requete,' AND ');
Line 342... Line 344...
342
		} else {
344
		} else {
343
			$requete = "(mots_cles_texte LIKE ".$this->proteger('%'.$mot_cle.'%').') ';
345
			$requete = "(mots_cles_texte LIKE ".$this->proteger('%'.$mot_cle.'%').') ';
344
		}
346
		}
345
		return $requete;
347
		return $requete;
346
	}
348
	}
-
 
349
	
-
 
350
	private function creerSousRequeteTags($tag) {
-
 
351
		$requete = '(id_observation IN (SELECT id_observation FROM cel_obs_images coi INNER JOIN cel_images ci ON coi.id_image = ci.id_image WHERE ';
-
 
352
		$where = '';
-
 
353
		if (preg_match('/.*OU.*/', $tag)) {
-
 
354
			$mots_cles_tab = explode('OU',$tag);
-
 
355
			foreach($mots_cles_tab as $mot_cle_item) {
-
 
356
				$where .= '(ci.mots_cles_texte LIKE '.$this->proteger('%'.$mot_cle_item.'%').') OR ';
-
 
357
			}
-
 
358
			$where .= '('.rtrim($where,'OR ').') ';
-
 
359
		} else if (preg_match('/.*ET.*/', $tag)) {
-
 
360
			$mots_cles_tab = explode('ET',$tag);
-
 
361
			foreach($mots_cles_tab as $mot_cle_item) {
-
 
362
				$where .= '(ci.mots_cles_texte LIKE '.$this->proteger('%'.$mot_cle_item.'%').') AND ';
-
 
363
			}
-
 
364
			$where .= '('.rtrim($where, 'AND ').') ';
-
 
365
		} else {
-
 
366
			$where .= "(ci.mots_cles_texte LIKE ".$this->proteger('%'.$tag.'%').') ';
-
 
367
		}
-
 
368
		$requete .= $where.' ))';
-
 
369
		return $requete;
-
 
370
	}
Line 347... Line 371...
347
 
371
 
348
	private function traiterCriteresMultiples($tableau_criteres) {
372
	private function traiterCriteresMultiples($tableau_criteres) {
Line 349... Line 373...
349
		$tableau_criteres_pour_bdd = array();
373
		$tableau_criteres_pour_bdd = array();