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', |