Rev 333 | Rev 765 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed
<?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 Taxons extends Eflore {
public function getTaxon($nn) {
$url = $this->getUrlTaxon($nn);
return $this->chargerDonnees($url);
}
public function getStatsInitialesFamille() {
$url = $this->getUrlStatsInitiales(self::RANG_FAMILLE);
$donnees = $this->chargerDonnees($url);
if (isset($donnees['Famille'])) {
$initiales = $donnees['Famille'];
} elseif (isset($donnees[self::RANG_FAMILLE])) {
$initiales = $donnees[self::RANG_FAMILLE];
}
return $initiales;
}
private function getUrlTaxon($nn) {
$tpl = Config::get('taxonTpl');
$params = array('id' => $nn);
$url = $this->formaterUrl($tpl, $params);
return $url;
}
public function getStatsInitialesGenre() {
$url = $this->getUrlStatsInitiales(self::RANG_GENRE);
$donnees = $this->chargerDonnees($url);
$initiales = $donnees['Genre'];
if (isset($donnees['Genre'])) {
$initiales = $donnees['Genre'];
} elseif (isset($donnees[self::RANG_GENRE])) {
$initiales = $donnees[self::RANG_GENRE];
}
return $initiales;
}
private function getUrlStatsInitiales($rang) {
$tpl = Config::get('taxonsStatsInitialesRangTpl');
$params = array('rang' => $rang);
$url = $this->formaterUrl($tpl, $params);
return $url;
}
public function getListeFamilleParInitiale($lettre) {
$url = $this->getUrlInitiales(self::RANG_FAMILLE, $lettre);
$donnees = $this->chargerDonneesRecursivement($url);
$taxons = ($donnees === false) ? $donnees : $donnees['resultat'];
return $taxons;
}
public function getListeGenreParInitiale($lettre) {
$url = $this->getUrlInitiales(self::RANG_GENRE, $lettre);
$donnees = $this->chargerDonneesRecursivement($url);
$taxons = ($donnees === false) ? $donnees : $donnees['resultat'];
return $taxons;
}
private function getUrlInitiales($rang, $lettre) {
$tpl = Config::get('taxonsListeInitialesRangTpl');
$params = array('rang' => $rang, 'initiale' => $lettre);
$url = $this->formaterUrl($tpl, $params);
return $url;
}
public function getRechercheEtendue($nom) {
$url = $this->getUrlRecherche($nom, 'etendue');
return $this->chargerDonnees($url);
}
public function getRechercheFloue($nom) {
$url = $this->getUrlRecherche($nom, 'floue');
return $this->chargerDonnees($url);
}
private function getUrlRecherche($nom, $typeRech) {
$tpl = Config::get('taxonsRechercheTpl');
$params = array('valeur' => $nom, 'type' => $typeRech);
$url = $this->formaterUrl($tpl, $params);
return $url;
}
public function getTaxonsInf($num_nom) {
$url = $this->getUrlTaxonsInf($num_nom);
return $this->chargerDonnees($url);
}
private function getUrlTaxonsInf($num_nom) {
$tpl = Config::get('taxonInfTpl');
$params = array('id' => $num_nom);
$url = $this->formaterUrl($tpl, $params);
return $url;
}
public function getTaxonsSup($num_nom) {
$url = $this->getUrlTaxonsSup($num_nom);
return $this->chargerDonnees($url);
}
private function getUrlTaxonsSup($num_nom) {
$tpl = Config::get('taxonSupTpl');
$params = array('id' => $num_nom);
$url = $this->formaterUrl($tpl, $params);
return $url;
}
public function getUrlPermalienNumNom($referentiel, $version, $num_nom) {
$tpl = Config::get('permalienNumNomTpl');
$params = array('ref_tax' =>$referentiel, 'ref_version' =>$version, 'id' => $num_nom);
$url = $this->formaterUrl($tpl, $params);
return $url;
}
public function getUrlPermalienTaxon($referentiel, $version, $num_tax) {
$tpl = Config::get('permalienTaxonTpl');
$params = array('ref_tax' =>$referentiel, 'ref_version' =>$version, 'id' => $num_tax);
$url = $this->formaterUrl($tpl, $params);
return $url;
}
}
?>