Subversion Repositories eFlore/Applications.eflore-consultation

Rev

Rev 336 | Rev 378 | 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 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) {
                $url = $this->getUrlNom($nn);
                return $this->chargerDonnees($url);
        }
        
        public function getNomFormateHtml($nn) {
                $url = $this->getUrlNomFormateHtml($nn);
                $retour = $this->chargerDonnees($url);
                return $retour['nom_sci'];
        }

        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);
        }

        private function getUrlNom($nn) {
                $tpl = Config::get('nomTpl');
                $params = array('id' => $nn);
                $url = $this->formaterUrl($tpl, $params);
                return $url;
        }
        
        private function getUrlNomFormateHtml($nn) {
                $tpl = Config::get('nomFormateHtmlTpl');
                $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;
        }
}
?>