/trunk/jrest/lib/RechercheImage.php |
---|
77,7 → 77,7 |
$requete_recherche_images .= $sous_requete_recherche; |
$nb_images = 0; |
$resultat_requete_nombre_images = $this->requeter($requete_recherche_images); |
if($resultat_requete_nombre_images && is_array($resultat_requete_nombre_images) && count($resultat_requete_nombre_images) > 0) { |
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,33 → 233,18 |
$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 '. |
'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.'%').' '. |
$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.'%').' '. |
') '; |
return $requete; |
279,16 → 264,6 |
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) { |
/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 |
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; |
case 'recherche': |
$sous_requete .= $this->fabriquerSousRequeteRechercheGenerale($id_utilisateur, $valeur); |
$sous_requete .= ' AND '; |
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/services/InventoryImageList.php |
---|
83,7 → 83,7 |
} |
$ids_images = rtrim($uid[1], ','); |
$ids_images = explode(',',$ordres_images); |
$ids_images = explode(',',$ids_images); |
$gestionnaire_image = new GestionImage($this->config); |
$suppression_image = $gestionnaire_image->supprimerImage($uid[0], $ids_images); |
/trunk/jrest/services/CoordSearch.php |
---|
154,14 → 154,14 |
private function chercherCentroideCommuneBdd($commune, $departement) { |
$commune = str_replace(' ','_',$commune); |
$commune = str_replace('-','_',$commune); |
$commune_formatee = str_replace(' ','_',$commune); |
$commune_formatee = str_replace('-','_',$commune_formatee); |
if(strlen($departement) > 2) { |
$departement = substr($departement,0,2); |
} |
$requete_selection_commune = 'SELECT utm_x, utm_y, utm_secteur, code FROM cel_zones_geo '. |
'WHERE nom LIKE '.$this->proteger($commune).' AND code LIKE '.$this->proteger($departement.'%'); |
'WHERE nom LIKE '.$this->proteger($commune_formatee).' AND code LIKE '.$this->proteger($departement.'%'); |
$commune_coordonnees = $this->executerRequete($requete_selection_commune); |