* @author Delphine CAUQUIL * @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; } } ?>