Rev 1448 | Blame | Compare with Previous | Last modification | View Log | RSS feed
<?php// declare(encoding='UTF-8');/*** Classe mère du module Mobile.** @category PHP 5.2* @package eflore-consultation* @author Isabelle NEMBROT* @author Aurélien PERONNET <aurelien@tela-botanica.org>* @copyright 2015 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 Mobile extends aControleur {private $parametres = array();private $conteneur = null;private $num_nom = 0;private $nom_courant = null;private $nom_retenu = '';private $url;public function initialiser() {$this->capturerParametres();$this->conteneur = new Conteneur($this->parametres);$this->url = $this->conteneur->getAppUrls();$this->nomCourant = $this->conteneur->getNomCourant();$this->nom_retenu = $this->conteneur->getNomCourant()->getNomRetenu();spl_autoload_register(array($this, 'chargerClassesSources'));}private function chargerClassesSources($classe) {$base = dirname(__FILE__).DS;$cheminSources = $base.'sources'.DS;$dossiers = array($base, $cheminSources);foreach ($dossiers as $chemin) {$fichierATester = $chemin.$classe.'.php';if (file_exists($fichierATester)) {include_once $fichierATester;return null;}}}private function capturerParametres() {$this->parametres['num_nom'] = isset($_GET['num_nom']) ? $_GET['num_nom'] : '';$this->parametres['nom'] = isset($_GET['nom']) ? $_GET['nom'] : '';$this->parametres['type_nom'] = isset($_GET['type_nom']) ? $_GET['type_nom'] : 'nom_scientifique';$referentiel = isset($_GET['referentiel']) ? $_GET['referentiel'] : '';Registre::set('parametres.referentiel', $referentiel);$this->parametres['referentiel'] = $referentiel;$niveau = isset($_GET['niveau']) ? $_GET['niveau'] : '1';Registre::set('parametres.niveau', $niveau);}public function executerActionParDefaut() {$this->executerFiche();}public function executerFiche(){$donnees = $this->parametres;$donnees['nom_retenu'] = $this->nom_retenu->get('nom_sci').' '.$this->nom_retenu->get('auteur');$donnees['famille'] = $this->nom_retenu->get('famille');$donnees = array_merge($this->obtenirDonnees(), $donnees);$donnees['url_absolue'] = "http://".$_SERVER['SERVER_NAME'].'/'.$_SERVER['REQUEST_URI'];$donnees['url_logos'] = "modules/mobile/presentations/logos/";$donnees['lien'] = $this->url->obtenirUrlMobile($this->parametres['num_nom']);//$donnees['lien_fiche'] = $this->url->obtenirUrlFiche($this->parametres['num_nom']);// Patch crado - @TODO à configurer$donnees['lien_fiche'] = "http://www.tela-botanica.org/" . strtolower($this->parametres['referentiel']) . "-nn-" . $this->parametres['num_nom'];$donnees['infos_nom'] = array('nom_sci' => $donnees['nom_retenu'],'referentiel' => $this->parametres['referentiel'],'famille' => $donnees['famille'],'nom_verna' => '');// juste pour avoir le tag de la fiche pour Google Analytics :$sourceTexte = new Texte($this->conteneur);$tag = $sourceTexte->obtenirTagFiche();$donnees['tag_fiche'] = $tag;// on active GA uniquement si on est en prod$donnees['prod'] = Config::get("info.prod");if(!empty($donnees['nomsCommuns'])) {$donnees['infos_nom']['nom_verna'] = $donnees['nomsCommuns'][0]['nom_vernaculaire'];}$tpl_edition = Config::get('smartFloreEditionFormulaireUrlTpl');$url_edition = sprintf($tpl_edition, strtoupper($this->parametres['referentiel']), $this->nom_retenu->get('num_taxonomique'));$donnees['lien_edition'] = $url_edition;$this->setSortie(self::RENDU_CORPS, $this->getVue('smartflore', $donnees), true);}public function obtenirDonnees() {$donnees = array();$num_nom = $this->nomCourant->getNns();$referentiel = $this->conteneur->getParametre('referentiel');$taxons = new Taxons($this->conteneur);$donnees['permalien_num_nom'] = $taxons->getUrlPermalienNumNom($referentiel, 1, $num_nom);$sources = array('illustrations', 'texte', 'nomsCommuns');foreach ($sources as $source) {$nom_classe = ucfirst($source);$classe = new $nom_classe($this->conteneur);$donnees[$source] = $classe->getDonnees();}return $donnees;}}?>