Subversion Repositories eFlore/Applications.eflore-consultation

Compare Revisions

Ignore whitespace Rev 129 → Rev 130

/trunk/modules/resultat/squelettes/resultat_determination_noms.tpl.html
1,33 → 1,45
<ul id="ef-resultats-determination">
<? foreach ($noms as $nnTaxon => $nom) : ?>
<li class="zone-resultat">
<a href="<?=$nom['url']?>">
<strong class="nom-sci-retenu"><?=$nom['nom_sci_retenu']?></strong>
</a>
<img src="http://localhost/service:eflore:0.1/cel/images?masque.nn=<?=$nnTaxon?>&retour.format=CRX2S" style="width:100px;height:100px;display:block;float:right;"/>
<?php if (isset($nom['synonymes'])) : ?>
<?php $nbrSynonymes = count($nom['synonymes']) ?>
<ul class="synonymes" style="width:50%;">
<?php for ($i = 0; ($i < 2); $i++) : ?>
<?php if (isset($nom['synonymes'][$i])) : ?>
<li>= <?=$nom['synonymes'][$i]['nom_sci']?></li>
<?php endif; ?>
<? endfor; ?>
<?php if ($nbrSynonymes > 2) : ?>
<li class="synonymes-autres">
<ul>
<?php for ($i = 2; $i < $nbrSynonymes; $i++) : ?>
<li>= <?=$nom['synonymes'][$i]['nom_sci']?></li>
<? endfor; ?>
</ul>
</li>
<?php endif; ?>
</ul>
<?php endif; ?>
</li>
<?php if ($nnTaxon == 'nsc') : ?>
<li class="zone-resultat" title="Aucun nom retenu n'a été trouvé pour ces noms scientifiques">
<strong>Noms sans correspondance</strong>
<?php if (isset($nom['liste'])) : ?>
<ul class="noms-ss-correspondance" style="width:50%;">
<?php foreach ($nom['liste'] as $nomSansCorrespondance) : ?>
<li><?=$nomSansCorrespondance['nom_sci']?></li>
<?php endforeach; ?>
</ul>
<?php endif; ?>
</li>
<?php else : ?>
<li class="zone-resultat">
<a href="<?=$nom['url']?>">
<strong class="nom-sci-retenu"><?=$nom['nom_sci_retenu']?></strong>
</a>
<?php if (isset($imagesUrls[$nnTaxon])) : ?>
<img src="<?=$imagesUrls[$nnTaxon][0]?>" style="width:100px;height:100px;display:block;float:right;"/>
<?php endif; ?>
<?php if (isset($nom['synonymes'])) : ?>
<?php $nbrSynonymes = count($nom['synonymes']) ?>
<ul class="synonymes" style="width:50%;">
<?php for ($i = 0; ($i < 2); $i++) : ?>
<?php if (isset($nom['synonymes'][$i])) : ?>
<li>= <?=$nom['synonymes'][$i]['nom_sci']?></li>
<?php endif; ?>
<? endfor; ?>
<?php if ($nbrSynonymes > 2) : ?>
<li class="synonymes-autres">
<ul>
<?php for ($i = 2; $i < $nbrSynonymes; $i++) : ?>
<li>= <?=$nom['synonymes'][$i]['nom_sci']?></li>
<? endfor; ?>
</ul>
</li>
<?php endif; ?>
</ul>
<?php endif; ?>
</li>
<?php endif; ?>
<? endforeach; ?>
</ul>
<script type="text/javascript">
/trunk/modules/resultat/Resultat.php
21,7 → 21,6
}
 
private function capturerParametres() {
Debug::printr($_GET);
if (isset($_GET['resultat'])) {
$this->resultatType = $_GET['resultat'];
}
33,7 → 32,6
 
public function executerResultat() {
$resultats = Registre::get('resultats');
Debug::printr(Registre);
$donnees = array();
$donnees['typeResultat'] = $this->resultatType;
$donnees['urlResAlphab'] = $this->obtenirUrlResultatAlphab();
60,7 → 58,7
}
 
private function trierParNoms($noms) {
$noms = Tableau::trierTableauMd($noms, array('nom_sci' => SORT_ASC));
$noms = Tableau::trierMD($noms, array('nom_sci' => SORT_ASC));
return $noms;
}
 
88,13 → 86,31
 
private function genererListeDetermination($resultats) {
$donnees = array();
$donnees['imagesUrls'] = $this->obtenirUrlsImages($resultats);
$donnees['noms'] = $this->trierSynonymes($resultats);
return $this->getVue('resultat_determination_noms', $donnees);
}
 
private function obtenirUrlsImages($noms) {
$ids = array();
foreach ($noms as $id => $nom) {
$ids[] = $id;
}
$reftax = Registre::get('parametres.referentiel');
$projetImg = Config::get("$reftax.referentielImages");
$Images = new Images($projetImg);
$urls = $Images->getUrlsImagesParIdsNoms($ids);
$urlsReftaxCourant = array();
foreach ($urls as $id => $url) {
$id = str_replace("$reftax.", '', $id);
$urlsReftaxCourant[$id] = $url;
}
return $urlsReftaxCourant;
}
 
private function trierSynonymes($noms) {
$nomsSansCorrespondance = array();
$nomsRetenus = array();
 
foreach ($noms as $idNomCourant => $nom) {
if ($nom['retenu'] == 'true') {
$nomRetenu = array();
102,17 → 118,23
$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;
if ($nom['nom_retenu'] == null) {
$nomsSansCorrespondance[] = array('nn' => $idNomCourant, 'nom_sci' => $nom['nom_sci']);
} 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[$idNomRetenu]['synonymes'][] = array('nn' => $idNomCourant, 'nom_sci' => $nom['nom_sci']);
 
}
}
$nomsRetenus = Tableau::trierMD($nomsRetenus, array('nom_sci_retenu' => SORT_ASC));
$nomsRetenus['nsc']['liste'] = $nomsSansCorrespondance;
return $nomsRetenus;
}