Subversion Repositories eFlore/Applications.cel

Compare Revisions

Regard whitespace Rev 1306 → Rev 1311

/trunk/jrest/lib/RechercheObservation.php
145,6 → 145,10
switch ($nom) {
case "mots_cles";
$sous_requete .= 'mots_cles_texte LIKE '.$this->proteger('%'.$valeur.'%').' AND ';
break;
case 'annee':
$sous_requete .= "year(date_observation) = ".$this->proteger($valeur) ;
$sous_requete .= ' AND ' ;
176,37 → 180,10
$sous_requete .= 'id_observation IN (SELECT id_observation FROM cel_obs_mots_cles WHERE id_mot_cle_obs IN ('.$liste_mc.'))';
$sous_requete .= ' AND ' ;
break;
case 'mots_cles':
// TODO: gérer la recherche sur les mots clés textuels
case 'recherche':
$sous_requete .= $this->fabriquerSousRequeteRechercheGenerale($id_utilisateur, $valeur);
$sous_requete .= ' AND ';
break;
//TODO: choisir un meilleur nom
case 'nom_taxon':
$valeur = str_replace("*","%",$valeur);
$sous_requete .= "(nom_sel LIKE ".$this->proteger('%'.$valeur.'%').
" OR courriel_utilisateur LIKE ".$this->proteger('%'.$valeur.'%').
" OR prenom_utilisateur LIKE ".$this->proteger('%'.$valeur.'%').
" OR nom_utilisateur LIKE ".$this->proteger('%'.$valeur.'%').
" OR nom_sel LIKE ".$this->proteger('%'.$valeur.'%').
" OR nom_sel_nn LIKE ".$this->proteger('%'.$valeur.'%').
" OR nom_ret LIKE ".$this->proteger('%'.$valeur.'%').
" OR nom_ret_nn LIKE ".$this->proteger('%'.$valeur.'%').
" OR nt LIKE ".$this->proteger('%'.$valeur.'%').
" OR famille LIKE ".$this->proteger('%'.$valeur.'%').
" OR zone_geo LIKE ".$this->proteger('%'.$valeur.'%').
" OR ce_zone_geo LIKE ".$this->proteger('%'.$valeur.'%').
" OR date_observation LIKE ".$this->proteger('%'.$valeur.'%').
" OR lieudit LIKE ".$this->proteger('%'.$valeur.'%').
" OR station LIKE ".$this->proteger('%'.$valeur.'%').
" OR milieu LIKE ".$this->proteger('%'.$valeur.'%').
" OR commentaire LIKE ".$this->proteger('%'.$valeur.'%').
" OR transmission LIKE ".$this->proteger('%'.$valeur.'%').
" OR latitude LIKE ".$this->proteger('%'.$valeur.'%').
" OR longitude LIKE ".$this->proteger('%'.$valeur.'%').
")";
break;
default:
if(trim($nom) != '')
{
221,6 → 198,34
return $sous_requete;
}
private function fabriquerSousRequeteRechercheGenerale($id_utilisateur, $valeur) {
$valeur = str_replace("*","%",$valeur);
$valeur = $this->proteger('%'.$valeur.'%');
$sous_requete = "(nom_sel LIKE ".$valeur.
" OR courriel_utilisateur LIKE ".$valeur.
" OR prenom_utilisateur LIKE ".$valeur.
" OR nom_utilisateur LIKE ".$valeur.
" OR nom_sel LIKE ".$valeur.
" OR nom_sel_nn LIKE ".$valeur.
" OR nom_ret LIKE ".$valeur.
" OR nom_ret_nn LIKE ".$valeur.
" OR nt LIKE ".$valeur.
" OR famille LIKE ".$valeur.
" OR zone_geo LIKE ".$valeur.
" OR ce_zone_geo LIKE ".$valeur.
" OR date_observation LIKE ".$valeur.
" OR lieudit LIKE ".$valeur.
" OR station LIKE ".$valeur.
" OR milieu LIKE ".$valeur.
" OR commentaire LIKE ".$valeur.
" OR transmission LIKE ".$valeur.
" OR latitude LIKE ".$valeur.
" OR longitude LIKE ".$valeur.
" OR mots_cles_texte LIKE ".$valeur.
")";
return $sous_requete;
}
private function estUnvaleurZeroNulle($valeur) {
return $valeur == "000null";
}
/trunk/jrest/lib/RechercheImage.php
144,7 → 144,7
switch($nom) {
case "mots_cles";
$sous_requete .= $this->fabriquerSousRequeteMotsCles($valeur);
$sous_requete .= 'ci.mots_cles_texte LIKE '.$this->proteger('%'.$valeur.'%').' AND ';
break;
case "id_mots_cles";
233,30 → 233,15
$chaine_recherche = strtolower($chaine_recherche);
$chaine_recherche = str_replace(' ','_',$chaine_recherche);
$requete = ' (';
$requete .= 'ci.nom_original LIKE '.$this->proteger($chaine_recherche.'%') ;
$requete .= ' OR ' ;
$requete .= 'co.nom_ret LIKE '.$this->proteger($chaine_recherche.'%') ;
$requete .= ' OR ' ;
$requete .= 'co.nom_sel LIKE '.$this->proteger($chaine_recherche.'%') ;
$requete .= ' OR ' ;
 
$requete .= 'co.zone_geo LIKE '.$this->proteger($chaine_recherche.'%') ;
$requete .= ' OR ' ;
$requete .= 'co.ce_zone_geo LIKE '.$this->proteger('%'.$chaine_recherche.'%') ;
$requete .= ' OR ' ;
$requete_mots_cles = $this->fabriquerSousRequeteMotsClesTexte($chaine_recherche);
if(trim($requete_mots_cles) != '') {
$requete .= $requete_mots_cles;
$requete .= ' OR ' ;
}
$requete .= 'ci.ce_utilisateur LIKE '.$this->proteger($chaine_recherche.'%').' OR '.
$requete = ' ('.
'ci.nom_original LIKE '.$this->proteger($chaine_recherche.'%').' OR '.
'co.nom_ret LIKE '.$this->proteger($chaine_recherche.'%').' OR '.
'co.nom_sel LIKE '.$this->proteger($chaine_recherche.'%').' OR '.
'co.zone_geo LIKE '.$this->proteger($chaine_recherche.'%').' OR '.
'co.ce_zone_geo LIKE '.$this->proteger('%'.$chaine_recherche.'%').' OR '.
//TODO: recherche multicriteres sur mots clés texte ne fonctionne pas à cause de la jointure
//'ci.mots_cles_texte LIKE '.$this->proteger('%'.$chaine_recherche.'%').' OR '.
'ci.ce_utilisateur LIKE '.$this->proteger($chaine_recherche.'%').' OR '.
'ci.courriel_utilisateur LIKE '.$this->proteger($chaine_recherche.'%').' OR '.
'ci.nom_utilisateur LIKE '.$this->proteger($chaine_recherche.'%').' OR '.
'ci.prenom_utilisateur LIKE '.$this->proteger($chaine_recherche.'%').' '.
280,17 → 265,7
return $requete_recherche_date;
}
//TODO: a refaire
private function fabriquerSousRequeteMotsClesTexte($mots_cles) {
}
//TODO a refaire
private function fabriquerSousRequeteMotsCles($mots_cles) {
}
//TODO a refaire
private function fabriquerSousRequeteMotsClesOu($mot_cle) {
}