300,7 → 300,7 |
protected function enrichirDonneesTaxonomiquesParNS($ref, $ns, &$obs) { |
$url_nom = $this->config['eflore']['url_service_nom']; |
$url_nom = str_replace('{referentiel}', $ref, $url_nom); |
$url_nom .= '?recherche=etendue&masque=' . urlencode($ns); |
$url_nom .= '?recherche=etendue&ns.structure=au&masque=' . urlencode($ns); |
// un horrible @ car les erreurs de file_get_contents() ne sont pas try/catchables |
// @TODO mettre du cURL à l'occase |
$infos_nom = @file_get_contents($url_nom); |
310,12 → 310,16 |
if (count($infos_nom['resultat']) > 0) { |
$nn_trouve = null; |
$ret_trouve = false; |
// on prend le premier nom retenu qu'on trouve, ou à défaut |
// le premier nom tout court |
// on prend le nom avec auteur correspondant exactement; |
// s'il y en a plusieurs on prend le premier qui est retenu |
foreach($infos_nom['resultat'] as $n => $nom) { |
if (! $ret_trouve && ($nn_trouve == null || $nom['retenu'] == 'true')) { // oui oui, un 'true' entre quotes :/ |
$nn_trouve = $n; |
$ret_trouve = ($nom['retenu'] == 'true'); |
if (! $ret_trouve) { |
if ($nom['nom_sci_complet'] == $ns) { |
if ($nn_trouve == null || $nom['retenu'] == 'true') { |
$nn_trouve = $n; |
$ret_trouve = ($nom['retenu'] == 'true'); |
} |
} |
} |
} |
if ($nn_trouve != null) { |