Line 30... |
Line 30... |
30 |
|
30 |
|
31 |
// initialisé à TRUE par rechercherInfosSurTexteCodeOuNumTax()
|
31 |
// initialisé à TRUE par rechercherInfosSurTexteCodeOuNumTax()
|
32 |
// si l'espèce passée a le motif <ref>:(nt|nn):<num>, eg: isfan:nt:1591
|
32 |
// si l'espèce passée a le motif <ref>:(nt|nn):<num>, eg: isfan:nt:1591
|
Line -... |
Line 33... |
- |
|
33 |
public $is_notation_spe = FALSE;
|
- |
|
34 |
|
- |
|
35 |
// un cache utilisé pour les requêtes effectuées sur /service:eflore:0.1/bdtfx/noms?masque=
|
- |
|
36 |
// qui sont lourdes, et parfois identiques (cf cas de l'import XLS)
|
33 |
public $is_notation_spe = FALSE;
|
37 |
static $cache = array();
|
34 |
|
38 |
|
35 |
public function RechercheInfosTaxonBeta($config, $code_referentiel = 'bdtfx') {
|
39 |
public function RechercheInfosTaxonBeta($config, $code_referentiel = 'bdtfx') {
|
36 |
parent::__construct($config);
|
40 |
parent::__construct($config);
|
Line 110... |
Line 114... |
110 |
|
114 |
|
111 |
return $liste_genre_espece;
|
115 |
return $liste_genre_espece;
|
Line 112... |
Line 116... |
112 |
}
|
116 |
}
|
113 |
|
117 |
|
114 |
private function effectuerRequeteUrlRecherche($nom_saisi, $mode = 'stricte') {
|
118 |
private function effectuerRequeteUrlRecherche($nom_saisi, $mode = 'stricte') {
|
115 |
if(self::DEBUG) error_log("CEL fetch: " . sprintf('%1$s?masque=%2$s&recherche=%3$s&ns.format=txt&retour.champs=%4$s&navigation.limite=1', $this->url_service_nom, urlencode($nom_saisi), $mode, implode(',', array("id","nom_sci","auteur","nom_retenu.id","famille","num_taxonomique","nom_retenu_complet"))));
|
119 |
$url = sprintf(
|
116 |
$res = @json_decode(file_get_contents(sprintf('%1$s?masque=%2$s&recherche=%3$s&ns.format=txt&retour.champs=%4$s&navigation.limite=1',
|
120 |
'%1$s?masque=%2$s&recherche=%3$s&ns.format=txt&retour.champs=%4$s&navigation.limite=1',
|
117 |
$this->url_service_nom,
|
121 |
$this->url_service_nom,
|
118 |
urlencode($nom_saisi),
|
122 |
urlencode($nom_saisi),
|
- |
|
123 |
$mode,
|
- |
|
124 |
implode(',', array("id","nom_sci","auteur","nom_retenu.id","famille","num_taxonomique","nom_retenu_complet")));
|
- |
|
125 |
|
- |
|
126 |
if(! array_key_exists($url, self::$cache)) {
|
- |
|
127 |
if(self::DEBUG) error_log("CEL fetch: " . $url);
|
- |
|
128 |
$res = @json_decode(file_get_contents($url));
|
- |
|
129 |
self::$cache[$url] = $res;
|
- |
|
130 |
} else {
|
119 |
$mode,
|
131 |
$res = self::$cache[$url];
|
120 |
implode(',', array("id","nom_sci","auteur","nom_retenu.id","famille","num_taxonomique","nom_retenu_complet")))));
|
132 |
}
|
121 |
if(!$res) return NULL;
|
133 |
if(!$res) return NULL;
|
122 |
$resultat = (array)$res->resultat;
|
134 |
$resultat = (array)$res->resultat;
|