13,13 → 13,13 |
* @version $Id$ |
*/ |
class Resultat extends aControleur { |
|
|
private $resultatType = 'determination'; |
|
|
public function initialiser() { |
$this->capturerParametres(); |
} |
|
|
private function capturerParametres() { |
Debug::printr($_GET); |
if (isset($_GET['resultat'])) { |
26,50 → 26,50 |
$this->resultatType = $_GET['resultat']; |
} |
} |
|
|
public function executerActionParDefaut() { |
$this->executerResultat(); |
} |
|
|
public function executerResultat() { |
$resultats = Registre::get('resultats'); |
|
$donnees = array(); |
Debug::printr(Registre); |
$donnees = array(); |
$donnees['typeResultat'] = $this->resultatType; |
$donnees['urlResClassique'] = $this->obtenirUrlResultatClassique(); |
$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); |
Debug::printr($methode); |
$noms = $this->$methode($resultats); |
return $noms; |
} |
|
private function genererListeClassique($resultats) { |
|
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(); |
85,7 → 85,7 |
$noms = array_merge($nomsRetenus, $nomsSynonymes); |
return $noms; |
} |
|
|
private function genererListeDetermination($resultats) { |
$donnees = array(); |
$donnees['noms'] = $this->trierSynonymes($resultats); |
94,22 → 94,30 |
|
private function trierSynonymes($noms) { |
$nomsRetenus = array(); |
foreach ($noms as $id => $nom) { |
|
foreach ($noms as $idNomCourant => $nom) { |
if ($nom['retenu'] == 'true') { |
$nomsRetenus[$id] = $nom; |
$nomsRetenus[$id]['url'] = $this->obtenirUrlFiche($id); |
} elseif ((!isset($nomsRetenus['nom_retenu.id']) || |
(isset($nomsRetenus['nom_retenu.id']) && $nomsRetenus['nom_retenu.id']['retenu'] == false))) { |
$nomsRetenus['nom_retenu.id']['synonymes'][$id] = $nom['nom_sci']; |
$nomsRetenus['nom_retenu.id']['retenu'] = false; |
$nomsRetenus['nom_retenu.id']['nom_sci'] = $nom['nom_retenu']; |
$nomsRetenus['nom_retenu.id']['url'] = $this->obtenirUrlFiche($nom['nom_retenu.id']); |
$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'][$idNomCourant] = $nom['nom_sci']; |
} |
} |
$nomsRetenus = Tableau::trierTableauMd($nomsRetenus, array('nom_sci' => SORT_ASC)); |
$nomsRetenus = Tableau::trierMDType($nomsRetenus, array('nom_sci_retenu' => SORT_ASC), Tableau::TRI_NATUREL); |
return $nomsRetenus; |
} |
|
|
|
private function genererListeDecompo($noms) { |
return '<p>À réaliser</p>'; |
} |
} |
?> |