New file |
0,0 → 1,144 |
<?php |
// declare(encoding='UTF-8'); |
/** |
* Classe gérant les noms scientifiques. |
* |
* @category PHP 5.2 |
* @package eflore-consultation |
* @author Jean-Pascal MILCENT <jpm@tela-botanica.org> |
* @author Delphine CAUQUIL <delphine@tela-botanica.org> |
* @copyright 2011 Tela-Botanica |
* @license http://www.gnu.org/licenses/gpl.html Licence GNU-GPL-v3 |
* @license http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt Licence CECILL-v2 |
* @version $Id$ |
*/ |
class Noms extends Eflore { |
|
public function getSynonymes($nn) { |
$tpl = Config::get('nomsSynonymesTpl'); |
$params = array('id' => $nn); |
$url = $this->formaterUrl($tpl, $params); |
return $this->chargerDonnees($url); |
} |
|
public function getFlores($nn) { |
$tpl = Config::get('nomsFloresTpl'); |
$params = array('id' => $nn); |
$url = $this->formaterUrl($tpl, $params); |
return $this->chargerDonnees($url); |
} |
|
public function getNom($nn) { |
return $this->chargerDonnees($this->getUrlNom($nn)); |
} |
|
|
public function getRechercheEtendue($nom, $type_resultat = '') { |
$methode = 'getUrlRecherche'.$type_resultat; |
|
if (method_exists($this, $methode)) { |
$url = $this->$methode($nom, 'etendue'); |
} else { |
$url = $this->getUrlRecherche($nom, 'etendue'); |
Debug::printr("Le type de recherche demandé '$type_resultat' n'est pas disponible."); |
} |
return $this->chargerDonneesRecursivement($url); |
} |
|
public function getRechercheFloue($nom) { |
$url = $this->getUrlRecherche($nom, 'floue'); |
return $this->chargerDonnees($url); |
} |
|
public function getRechercheAvancee($parametres) { |
$url = $this->getUrlRechercheAvancee($parametres); |
return $this->chargerDonnees($url); |
} |
|
private function getUrlRechercheAvancee($parametres){ |
$tpl = Config::get('nomsRechercheAvanceeTpl'); |
$masques = $this->formaterMasquesRechercheAvancee($parametres); |
$url = ''; |
if($masques != ''){ |
$url = $this->formaterUrl($tpl,array('projet'=> $this->getProjet(), 'type' => 'etendue')); |
$url .= '&'.implode('&',$masques); |
} |
return $url; |
} |
|
private function formaterMasquesRechercheAvancee($parametres) { |
$masques = ''; |
foreach ($parametres as $masque => $valeur){ |
if ($valeur != '' && in_array($valeur, I18n::get('Recherche-form-avancee')) == false){ |
if ($masque == 'type') { |
$masques[] = 'masque='.urlencode('%'.$valeur); |
} elseif ($masque == 'au') { |
$masques[] = 'masque.au='.urlencode($valeur.',('.$valeur.'%),% '.$valeur); |
} elseif ($masque == 'bib'){ |
$masques[] = 'masque.bib='.urlencode($valeur.',%; '.$valeur); |
} else { |
$valeur = ($valeur == '0') ? '' : $valeur; |
$masques[] = 'masque.'.$masque.'='.urlencode($valeur); |
} |
} |
} |
return $masques; |
} |
|
private function getUrlNom($nn) { |
$tpl = Config::get('nomTpl'); |
$params = array('id' => $nn); |
$url = $this->formaterUrl($tpl, $params); |
return $url; |
} |
|
// retourne les champs par defaut |
private function getUrlRecherche($nom, $typeRech) { |
$tpl = Config::get('nomsRechercheTpl'); |
$params = array('valeur' => $nom, 'type' => $typeRech); |
$url = $this->formaterUrl($tpl, $params); |
return $url; |
|
} |
|
// retourne les champs par defaut |
private function getUrlRechercheAlphab($nom, $typeRech) { |
$tpl = Config::get('nomsRechercheAlphabTpl'); |
$params = array('valeur' => $nom, 'type' => $typeRech); |
$url = $this->formaterUrl($tpl, $params); |
return $url; |
} |
|
// retourne les champs par defaut |
private function getUrlRechercheRetenu($nom, $typeRech) { |
$tpl = Config::get('nomsRechercheRetenuTpl'); |
$params = array('valeur' => $nom, 'type' => $typeRech); |
$url = $this->formaterUrl($tpl, $params); |
return $url; |
} |
|
private function getUrlRechercheSynonyme($nom, $typeRech) { |
$tpl = Config::get('nomsRechercheSynonymeTpl'); |
$params = array('valeur' => $nom, 'type' => $typeRech); |
$url = $this->formaterUrl($tpl, $params); |
return $url; |
} |
|
// retourne les champs par defaut + nom retenu |
private function getUrlRechercheDetermination($nom, $typeRech) { |
$tpl = Config::get('nomsRechercheDeterminationTpl'); |
$params = array('valeur' => $nom, 'type' => $typeRech); |
$url = $this->formaterUrl($tpl, $params); |
return $url; |
} |
|
// retourne les champs par defaut + nom decompose (au, an et bib) |
private function getUrlRechercheDecompo($nom, $typeRech) { |
$tpl = Config::get('nomsRechercheDecompoTpl'); |
$params = array('valeur' => $nom, 'type' => $typeRech); |
$url = $this->formaterUrl($tpl, $params); |
return $url; |
} |
|
} |
?> |