Subversion Repositories eFlore/Applications.cel

Compare Revisions

Ignore whitespace Rev 1385 → Rev 1386

/trunk/jrest/lib/RechercheObservation.php
34,7 → 34,7
$requete_selection_id .= ' AND ce_utilisateur = '.$this->proteger($id_utilisateur);
$requete_selection_id .= ' ORDER BY id_observation';
$resultat_ids = $this->requeter($requete_selection_id);
$resultat_ids = $this->executerRequete($requete_selection_id);
$ids = array();
if(is_array($resultat_ids)) {
60,11 → 60,10
$requete_selection_observations .= $sous_requete_recherche;
$requete_selection_observations = rtrim($requete_selection_observations, 'AND ');
$requete_selection_observations .= ' ORDER BY id_observation, ordre ';
$requete_selection_observations .= ($debut != 0 && $limite != 0) ? 'LIMIT '.$debut.','.$limite : '' ;
$resultats_observations = array();
$resultats_observations = $this->requeter($requete_selection_observations);
$resultats_observations = $this->executerRequete($requete_selection_observations);
 
return $resultats_observations;
}
85,7 → 84,7
$requete_selection_observations = rtrim($requete_selection_observations, 'AND ');
$nb_obs = '0';
$resultat_requete_nombre_observations = $this->requeter($requete_selection_observations);
$resultat_requete_nombre_observations = $this->executerRequete($requete_selection_observations);
if($resultat_requete_nombre_observations && is_array($resultat_requete_nombre_observations) && count($resultat_requete_nombre_observations) > 0) {
$nb_obs = $resultat_requete_nombre_observations[0]['nb_obs'];
121,7 → 120,7
'FROM cel_obs_mots_cles '.
'WHERE id_observation = '.$id_observation;
return $this->requeter($requete_selection_mots_cles);
return $this->executerRequete($requete_selection_mots_cles);
}
// TODO: fonction temporaire
152,7 → 151,7
switch ($nom) {
case "mots_cles";
$sous_requete .= 'mots_cles_texte LIKE '.$this->proteger('%'.$valeur.'%').' AND ';
$sous_requete .= $this->creerSousRequeteMotsCles($valeur);
break;
case 'annee':
228,6 → 227,13
$sous_requete .= 'date_observation <= '.$this->proteger($this->formaterEnDateMysql($valeur));
$sous_requete .= ' AND ';
break;
case 'taxon':
$valeur_protegee = $this->proteger($valeur."%");
$sous_requete .= "( nom_sel LIKE ".$valeur_protegee." OR".
" nom_ret LIKE ".$valeur_protegee." OR".
" famille LIKE ".$valeur_protegee.
" ) AND ";
break;
default:
if(trim($nom) != '')
{
280,7 → 286,27
" OR mots_cles_texte LIKE ".$valeur.
")";
return $sous_requete;
}
}
 
private function creerSousRequeteMotsCles($mot_cle) {
$requete = '';
if (preg_match('/.*OU.*/', $mot_cle)) {
$mots_cles_tab = explode('OU',$mot_cle);
foreach($mots_cles_tab as $mot_cle_item) {
$requete .= '(ci.mots_cles_texte LIKE '.$this->proteger('%'.$mot_cle_item.'%').') OR ';
}
$requete = '('.rtrim($requete,'OR ').')';
} else if (preg_match('/.*ET.*/', $mot_cle)) {
$mots_cles_tab = explode('ET',$mot_cle);
foreach($mots_cles_tab as $mot_cle_item) {
$requete .= '(ci.mots_cles_texte LIKE '.$this->proteger('%'.$mot_cle_item.'%').') AND ';
}
$requete = '('.rtrim($requete, 'AND ').') ';
} else {
$requete = "(ci.mots_cles_texte LIKE ".$this->proteger('%'.$mot_cle.'%').') ';
}
return $requete;
}
private function estUnvaleurZeroNulle($valeur) {
return $valeur == "000null";