14,17 → 14,78 |
*/ |
class Resultat extends aControleur { |
|
private $resultatType = 'classique'; |
|
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() { |
$donnees = array(); |
$resultats = Registre::get('resultats'); |
|
$donnees = array(); |
$donnees['typeResultat'] = $this->resultatType; |
$donnees['urlResClassique'] = $this->obtenirUrlResultatClassique(); |
$donnees['urlResRetenu'] = $this->obtenirUrlResultatRetenu(); |
$donnees['nbreTaxons'] = $resultats['entete']['total']; |
$donnees['taxons'] = $resultats['resultat']; |
$donnees['nomsHtml'] = $this->getNoms($resultats['resultat']); |
|
$this->setSortie(self::RENDU_CORPS, $this->getVue('resultat', $donnees)); |
//print_r(Registre::get('resultats')); |
} |
|
private function getNoms($resultats) { |
$noms = null; |
$methode = 'genererListe'.ucwords($this->resultatType); |
Debug::printr($methode); |
$noms = $this->$methode($resultats); |
return $noms; |
} |
|
private function genererListeClassique($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; |
} |
|
|
|
} |
?> |