Subversion Repositories eFlore/Applications.eflore-consultation

Compare Revisions

Ignore whitespace Rev 1003 → Rev 1004

/trunk/modules/resultat/formateurs/nom_vernaculaire/DeterminationVernaFormateur.php
112,6 → 112,7
}
private function chargerRepartition() {
$numsNomsASynonymes = $this->extraireNumerosNomSynonymes();
if (Config::get(Registre::get('parametres.referentiel').'.baseRepartition') != "") {
$this->apiCartes->setProjet(Config::get(Registre::get('parametres.referentiel').'.baseRepartition'));
$this->apiCartes->setLargeur('108x101');
120,7 → 121,8
if (array_key_exists('nom_retenu.code', $nom)) {
$id = $nom['nom_retenu.code'];
$id = $this->supprimerCodeReferentielAvecNn($id);
$this->apiCartes->setId("nn:$id");
$idsNoms = $numsNomsASynonymes[$id];
$this->apiCartes->setId("nn:".implode(',',$idsNoms)."");
if (array_key_exists($id, $urls) == false) {
$urls[$id] = $this->apiCartes->getUrlPng();
}
130,6 → 132,29
}
}
private function extraireNumerosNomSynonymes() {
$numNomsASynonyme = array();
//TODO: pourrait surement être bien plus efficace
// et ne faire qu'une seule boucle
foreach ($this->noms as $id => $nom) {
$num_nom_retenu = $this->supprimerCodeReferentielAvecNn($nom['nom_retenu.code']);
if(!isset($numNomsASynonyme[$num_nom_retenu])) {
$numNomsASynonyme[$num_nom_retenu] = array();
}
$numNomsASynonyme[$num_nom_retenu][] = $id;
if(!in_array($num_nom_retenu,$numNomsASynonyme[$num_nom_retenu])) {
$numNomsASynonyme[$num_nom_retenu][] = $num_nom_retenu;
}
}
foreach($this->noms as $id => $nom) {
$num_nom_retenu = $this->supprimerCodeReferentielAvecNn($nom['nom_retenu.code']);
if($id != $num_nom_retenu) {
$numNomsASynonyme[$id] = $numNomsASynonyme[$num_nom_retenu];
}
}
return $numNomsASynonyme;
}
function supprimerAccents($chaine){
return strtr($chaine,array('à' => 'a','á' => 'a','â' => 'a','ã' => 'a','ä' => 'a',
'ç' => 'c',