Subversion Repositories eFlore/Applications.cel

Rev

Rev 1927 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 1927 Rev 1928
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;