Rev 106 | Rev 130 | 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 Resultat extends aControleur {private $resultatType = 'determination';public function initialiser() {$this->capturerParametres();}private function capturerParametres() {Debug::printr($_GET);if (isset($_GET['resultat'])) {$this->resultatType = $_GET['resultat'];}}public function executerActionParDefaut() {$this->executerResultat();}public function executerResultat() {$resultats = Registre::get('resultats');Debug::printr(Registre);$donnees = array();$donnees['typeResultat'] = $this->resultatType;$donnees['urlResAlphab'] = $this->obtenirUrlResultatAlphab();$donnees['urlResRetenu'] = $this->obtenirUrlResultatRetenu();$donnees['urlResDetermination'] = $this->obtenirUrlResultatDetermination();$donnees['urlResDecompo'] = $this->obtenirUrlResultatDecompo();$donnees['nbreTaxons'] = $resultats['entete']['total'];$donnees['nomsHtml'] = $this->getNoms($resultats['resultat']);$this->setSortie(self::RENDU_CORPS, $this->getVue('resultat', $donnees));}private function getNoms($resultats) {$noms = null;$methode = 'genererListe'.ucwords($this->resultatType);$noms = $this->$methode($resultats);return $noms;}private function genererListeAlphab($resultats) {$donnees = array();$donnees['noms'] = $this->trierParNoms($resultats);return $this->getVue('resultat_liste_noms', $donnees);}private function trierParNoms($noms) {$noms = Tableau::trierTableauMd($noms, array('nom_sci' => SORT_ASC));return $noms;}private function genererListeRetenu($resultats) {$donnees = array();$donnees['noms'] = $this->trierParNomsRetenus($resultats);return $this->getVue('resultat_liste_noms', $donnees);}private function trierParNomsRetenus($noms) {$nomsRetenus = array();$nomsSynonymes = array();foreach ($noms as $id => $nom) {if ($nom['retenu'] == 'true') {$nomsRetenus[$id] = $nom;} else {$nomsSynonymes[$id] = $nom;}}$nomsRetenus = Tableau::trierTableauMd($nomsRetenus, array('nom_sci' => SORT_ASC));$nomsSynonymes = Tableau::trierTableauMd($nomsSynonymes, array('nom_sci' => SORT_ASC));$noms = array_merge($nomsRetenus, $nomsSynonymes);return $noms;}private function genererListeDetermination($resultats) {$donnees = array();$donnees['noms'] = $this->trierSynonymes($resultats);return $this->getVue('resultat_determination_noms', $donnees);}private function trierSynonymes($noms) {$nomsRetenus = array();foreach ($noms as $idNomCourant => $nom) {if ($nom['retenu'] == 'true') {$nomRetenu = array();$nomRetenu['nom_sci_retenu'] = $nom['nom_sci'];$nomRetenu['url'] = $this->obtenirUrlFiche($idNomCourant);$nomsRetenus[$idNomCourant] = $nomRetenu;} else {$idNomRetenu = $nom['nom_retenu.id'];if (array_key_exists($nom['nom_retenu.id'], $nomsRetenus) == false) {$nomRetenu = array();$nomRetenu['nom_sci_retenu'] = $nom['nom_retenu'];$nomRetenu['url'] = $this->obtenirUrlFiche($idNomRetenu);$nomsRetenus[$idNomRetenu] = $nomRetenu;}$nomsRetenus[$idNomRetenu]['synonymes'][] = array('nn' => $idNomCourant, 'nom_sci' => $nom['nom_sci']);}}$nomsRetenus = Tableau::trierMD($nomsRetenus, array('nom_sci_retenu' => SORT_ASC));return $nomsRetenus;}private function genererListeDecompo($noms) {return '<p>À réaliser</p>';}}?>