Rev 1239 | 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 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 defautprivate 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 defautprivate 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 defautprivate 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 retenuprivate 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;}}?>