Subversion Repositories eFlore/Projets.eflore-projets

Compare Revisions

Ignore whitespace Rev 215 → Rev 216

/trunk/services/bibliotheque/generique/NomsListeGenerique.php
22,27 → 22,35
}
 
public function consulter() {
$this->noms = $this->rechercher();
$this->nbreNomsTotal = $this->nomDao->recupererNombreNomsTotal();
$this->trierNoms();
$retour = $this->construireTableauRetour();
$this->rechercher();
if ($this->avoirResultats()) {
$this->trierNoms();
$retour = $this->construireTableauRetour();
} else {
$message = "Aucun résultat ne correspond a votre requête !";
$code = RestServeur::HTTP_CODE_RESSOURCE_INTROUVABLE;
throw new Exception($message, $code);
}
return $retour;
}
 
private function avoirResultats() {
$resultat = ($this->nbreNomsTotal == 0) ? false : true;
return $resultat;
}
 
 
private function rechercher() {
$resultats = array();
$recherche = $this->parametres->get('recherche');
 
if ($recherche == 'stricte') {
$resultats = $this->nomDao->rechercherStricte();
} else if ($recherche == 'etendue') {
$resultats = $this->nomDao->rechercherEtendue();
} else if ($recherche == 'floue') {
if ($recherche == 'floue') {
$resultats = $this->nomDao->rechercherFloue();
} else {
$resultats = $this->nomDao->rechercher();
}
 
return $resultats;
$this->noms = $resultats;
$this->nbreNomsTotal = $this->nomDao->recupererNombreNomsTotal();
}
 
private function trierNoms() {
109,39 → 117,30
}
 
private function formaterEnteteMasque() {
$masquesStrictes = array('nn', 'rg');
$paramsMasque = array(
'' => 'nom_sci',
'nn' => 'num_nom',
'rg' => 'rang',
'sg' => 'nom_supra_generique',
'gen' => 'genre',
'sp' => 'epithete_sp',
'ssp' => 'epithete_infra_sp',
'au' => 'auteur',
'an' => 'annee');
$etendre = ($this->parametres->get('recherche') == 'etendue') ? true : false;
 
$masqueComplet = array();
if ($this->parametres->exister('masque')) {
$masque = '';
$masque .= 'nom_sci='.$this->parametres->get('masque');
if ($this->parametres->get('recherche') == 'etendue') {
$masque .= '%';
foreach ($paramsMasque as $masqueType => $champ) {
$masqueParam = 'masque'.($masqueType != '' ? '.'.$masqueType : $masqueType);
if ($this->parametres->exister($masqueParam)) {
$masqueValeur = $this->parametres->get($masqueParam);
$masque = "$champ=$masqueValeur";
$masque .= ($etendre && in_array($masqueType, $masquesStrictes) === false) ? '%' : '';
 
$masqueComplet[] = $masque;
}
$masqueComplet[] = $masque;
}
if ($this->parametres->exister('masque.sg')) {
$masque = '';
$masque .= 'nom_supra_generique='.$this->parametres->get('masque.sg');
if ($this->parametres->get('recherche') == 'etendue') {
$masque .= '%';
}
$masqueComplet[] = $masque;
}
if ($this->parametres->exister('masque.gen')) {
$masque = '';
$masque .= 'genre='.$this->parametres->get('masque.gen');
if ($this->parametres->get('recherche') == 'etendue') {
$masque .= '%';
}
$masqueComplet[] = $masque;
}
if ($this->parametres->exister('masque.sp')) {
$masque = '';
$masque .= 'epithete_sp='.$this->parametres->get('masque.sp');
if ($this->parametres->get('recherche') == 'etendue') {
$masque .= '%';
}
$masqueComplet[] = $masque;
}
return implode('&', $masqueComplet);
}