Rev 163 | Blame | 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 Resultat extends aControleur {private $parametres = null;private $resultats = null;private $donneesTpl = array();public function initialiser() {spl_autoload_register(array($this, 'chargerClassesResultat'));$this->parametres = new ParametresResultats();$this->capturerParametres();$this->parametres->reftaxCourant = Registre::get('parametres.referentiel');$this->parametres->projetImg = Config::get($this->parametres->reftaxCourant.'.referentielImages');$this->resultats = Registre::get('resultats');}private function chargerClassesResultat($classe) {$base = dirname(__FILE__).DS;$cheminFormateurs = $base.'formateurs'.DS;$cheminFormateursNs = $cheminFormateurs.'nom_scientifique'.DS;$cheminFormateursNv = $cheminFormateurs.'nom_vernaculaire'.DS;$dossiers = array($base, $cheminFormateurs, $cheminFormateursNs, $cheminFormateursNv);foreach ($dossiers as $chemin) {$fichierATester = $chemin.$classe.'.php';if (file_exists($fichierATester)) {include_once $fichierATester;return null;}}}private function capturerParametres() {if (isset($_GET['resultat'])) {$this->parametres->typeResultat = $_GET['resultat'];}if (isset($_GET['nom'])) {$this->parametres->masqueRecherche = $_GET['nom'];}if (isset($_GET['type_nom'])) {$this->parametres->typeNom = $_GET['type_nom'];}if (isset($_GET['niveau'])) {Registre::set('parametres.niveau', $_GET['niveau']);}}public function executerActionParDefaut() {$this->executerResultat();}public function executerResultat() {$this->chargerOnglets();$this->chargerNbreDeTaxons();$this->chargerNomsFormates();$this->setSortie(self::RENDU_CORPS, $this->getVue('resultat', $this->donneesTpl));}private function chargerOnglets() {$donnees = array();$donnees['typeResultat'] = $this->parametres->typeResultat;$donnees['typeNom'] = $this->parametres->typeNom;$donnees['ongletsNs'] = array('determination', 'alphab', 'retenu', 'decompo');$donnees['ongletsNv'] = array('determination', 'alphab');$donnees['urls']['alphab'] = $this->urls->obtenirUrlResultatAlphab();$donnees['urls']['retenu'] = $this->urls->obtenirUrlResultatRetenu();$donnees['urls']['determination'] = $this->urls->obtenirUrlResultatDetermination();$donnees['urls']['decompo'] = $this->urls->obtenirUrlResultatDecompo();$donnees['i18n'] = I18n::get('Resultat-onglets');$this->donneesTpl['ongletsHtml'] = $this->getVue('onglets', $donnees);}private function chargerNbreDeTaxons() {$this->donneesTpl['nbreTaxons'] = $this->resultats['entete']['total'];}private function chargerNomsFormates() {if (Config::get('benchmark_chrono')) Chronometre::chrono("Avt mise en forme des noms");$formateur = ResultatFormateurFabrique::creer($this->parametres, $this->resultats);if (Config::get('benchmark_chrono')) Chronometre::chrono("Avt formatage des noms");$formateur->formater();if (Config::get('benchmark_chrono')) Chronometre::chrono("Avt triage des noms");$formateur->trier();if (Config::get('benchmark_chrono')) Chronometre::chrono("Avt surlignage des noms");$formateur->surligner();if (Config::get('benchmark_chrono')) Chronometre::chrono("Avt création de la vue");$this->donneesTpl['nomsHtml'] = $this->getVue($formateur->getTplNom(), $formateur->getTplInfos());if (Config::get('benchmark_chrono')) Chronometre::chrono("Après mise en forme des noms");}}?>