Subversion Repositories eFlore/Projets.eflore-projets

Compare Revisions

Ignore whitespace Rev 566 → Rev 567

/trunk/services/modules/0.1/bdtfx/Noms.php
81,13 → 81,41
$this->verifierParamChamps($param, $val);
break;
case 'distinct' :
$this->distinct = $val;
$this->ajouterNomDistinct($val);
break;
case 'masque.fam' :
$this->ajouterFiltreMasque('famille', $val);
break;
case 'masque.prga' :
$this->ajouterFiltreMasque('presence_ga', $val);
break;
case 'masque.prco' :
$this->ajouterFiltreMasque('presence_co', $val);
break;
case 'masque.sto' :
$this->ajouterFiltreMasque('statut_origine', $val);
break;
case 'masque.sti' :
$this->ajouterFiltreMasque('statut_introduction', $val);
break;
case 'masque.stc' :
$this->ajouterFiltreMasque('statut_culture', $val);
break;
case 'masque.and' :
$this->requete_condition []= " annee > ".$this->getBdd()->proteger($val);
break;
case 'masque.anf' :
$this->requete_condition []= " annee < ".$this->getBdd()->proteger($val);
break;
}
$this->ajouterNomDistinct();
}
}
public function verifierParamChamps($param, $val) {
$this->recupererTableSignification('correspondance_champs,champs_api,champs_comp');
$champs_demandes = explode(',', $val);
106,15 → 134,11
}
/** Permet de rajouter à la requete sql le parametre distinct. N'est utilisé qu'avec le format oss */
public function ajouterNomDistinct() {
if (isset($this->distinct)) {
if ($this->distinct == 1 && $this->parametres['retour.format'] == 'oss') {
if ($this->compo_nom == '') {
$this->requete_champ = ' DISTINCT nom_sci ';
} else {
$this->requete_champ = ' DISTINCT nom_sci, '.implode(', ',$this->compo_nom);
}
} elseif ($this->distinct == 1 && $this->parametres['retour.format'] != 'oss') {
public function ajouterNomDistinct($distinct) {
if (isset($distinct)) {
if ($distinct == 1 && $this->parametres['retour.format'] == 'oss') {
$this->distinct = ' distinct ';
} elseif ($distinct == 1 && $this->parametres['retour.format'] != 'oss') {
$e = 'Erreur dans votre requête </br> L\'utilisation du paramètre distinct ne se fait que sous
le format oss';
$this->renvoyerErreur(RestServeur::HTTP_CODE_MAUVAISE_REQUETE, $e);
247,7 → 271,7
if ( strrpos($this->format_reponse, 'noms/stats/') === false ) {
$this->mettreAuFormat(); //Ds CommunNomsTaxons.php
}
$requete = ' SELECT '.$this->requete_champ.
$requete = ' SELECT '.$this->distinct.' '.$this->requete_champ.
' FROM '.$this->table
.$this->retournerRequeteCondition()
.$this->requete_group_by