Subversion Repositories eFlore/Applications.eflore-consultation

Rev

Rev 374 | Rev 448 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed

<?php
// declare(encoding='UTF-8');
/**
 * Classe mère du module Liste.
 *
 * @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 Nomenclature extends aControleur {

        private $conteneur = null;
        private $nomCourant = null;
        private $noms = null;
        private $meta = null;

        public function __construct(Conteneur $conteneur) {
                $this->conteneur = $conteneur;
                $this->nomCourant = $this->conteneur->getNomCourant();
                $this->noms = $this->conteneur->getApiNoms();
                $this->meta = $this->conteneur->getApiMetaDonnees();
                $this->appUrls = $this->conteneur->getAppUrls();
        }

        public function obtenirDonnees() {
                                
                $donnees = array();
                $donnees['flores_synonymes'] = $this->getFlores();
                $donnees['synonymes']['noms'] = $this->getSynonymes();
                $donnees['date_maj'] = $this->nomCourant->getNomRetenu()->get('maj_modif');
                $meta = $this->meta->getMetaDonnees();
                $titreMeta = $meta[0]['titre'];
                $donnees['synonymes']['meta']['titre'] = $titreMeta;
                $donnees['synonymes']['meta']['url'] = $this->appUrls->obtenirUrlMetaDonnees('bdtfx');
                $donnees['num_type'] = $this->nomCourant->getNomSelectionne()->get('num_type');
                $donnees['urls'] = $this->appUrls;
                $donnees['nom_retenu_formate'] = $this->nomCourant->getNomRetenu()->get('nom_sci_html_complet');
                $donnees['basionyme_nom_retenu'] = $this->nomCourant->getNomRetenu()->get('basionyme_html_complet');
                $donnees['nom_selectionne'] = $this->nomCourant->getNomSelectionne()->get('nom_sci');
                $donnees['nom_retenu'] = $this->nomCourant->getNomRetenu()->get('nom_sci');
                
                return $donnees;
        }

        public function getBloc() {
                $donnees['nom_retenu_formate'] = $this->nomCourant->getNomRetenu()->get('nom_sci_html_complet');
                $donnees['basionyme_nom_retenu'] = $this->nomCourant->getNomRetenu()->get('basionyme_html_complet');
                $synonymes = $this->getSynonymes();
                $donnees['synonymes'] = array_slice($synonymes, 0, 3);
                $donnees['autresSynonymesNbre'] = count($synonymes) - 3;
                return $donnees;
        }
        
        private function getFlores() {
                $nns = $this->nomCourant->getNns();
                $flores = $this->noms->getFlores($nns);
                $flores['resultat'] = (isset($flores['resultat']) && is_array($flores['resultat'])) ? $flores['resultat'] : array();
                return $flores['resultat'];
        }

        private function getSynonymes() {
                $nns = $this->nomCourant->getNns();
                $synonymes = $this->noms->getSynonymes($nns);
                $synonymes['resultat'] = (isset($synonymes['resultat']) && is_array($synonymes['resultat'])) ? $synonymes['resultat'] : array();
                return $synonymes['resultat'];
        }
}
?>