Subversion Repositories eFlore/Applications.cel

Compare Revisions

Ignore whitespace Rev 1310 → Rev 1311

/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);
 
/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/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) {