648,11 → 648,22 |
$ascii = iconv('UTF-8', 'ASCII//TRANSLIT', $ligne[C_NOM_SEL]); |
|
// TODO: si empty(C_NOM_SEL) et !empty(C_NOM_SEL_NN) : recherche info à partir de C_NOM_SEL_NN |
$resultat_recherche_espece = $taxon_info_webservice->rechercherInfosSurTexteCodeOuNumTax($ligne[C_NOM_SEL]); |
echo "rechercherInformationsComplementairesSurNom()\n"; |
/* |
SELECT num_nom, nom_sci, num_nom_retenu ,auteur, annee, biblio_origine, nom_sci,auteur FROM bdtfx_v1_01 WHERE (nom_sci LIKE 'Heliotropium europaeum') ORDER BY nom_sci ASC LIMIT 0, 1 |
# |
SELECT num_nom, nom_sci, num_nom_retenu ,auteur, annee, biblio_origine, nom_sci,auteur FROM bdtfx_v1_01 WHERE (nom_sci LIKE 'eliotropium euro') ORDER BY nom_sci ASC LIMIT 0, 1 |
SELECT num_nom, nom_sci, num_nom_retenu ,auteur, annee, biblio_origine, nom_sci,auteur FROM bdtfx_v1_01 WHERE (nom_sci LIKE 'eliotropium') ORDER BY nom_sci ASC LIMIT 0, 1 |
SELECT num_nom, nom_sci, num_nom_retenu ,auteur, annee, biblio_origine, nom_sci,auteur FROM bdtfx_v1_01 WHERE (nom_sci LIKE 'eliotropium% euro%') ORDER BY nom_sci ASC LIMIT 0, 1 |
# |
|
SELECT nom_sci, num_nom_retenu, nom_sci_html, auteur, annee, biblio_origine FROM bdtfx_v1_01 WHERE num_nom = 31468 |
*/ |
$resultat_recherche_espece = $taxon_info_webservice->rechercherInformationsComplementairesSurNom($ligne[C_NOM_SEL]); |
|
// on supprime les noms retenus et renvoi tel quel |
// on réutilise les define pour les noms d'indexes, tant qu'à faire |
if (empty($resultat_recherche_espece['en_id_nom'])) { |
if (! $resultat_recherche_espece) { |
// XXX; tout à NULL sauf C_NOM_SEL ci-dessus ? |
$espece[C_NOM_SEL_NN] = $ligne[C_NOM_SEL_NN]; |
$espece[C_NOM_RET] = $ligne[C_NOM_RET]; |
664,16 → 675,37 |
} |
|
// succès de la détection = écrasement du numéro nomenclatural saisi... |
$espece[C_NOM_SEL_NN] = $resultat_recherche_espece['en_id_nom']; |
$espece[C_NOM_SEL_NN] = $resultat_recherche_espece[0][0]; |
// et des info complémentaires |
$complement = $taxon_info_webservice->rechercherInformationsComplementairesSurNumNom($resultat_recherche_espece['en_id_nom']); |
echo "rechercherInformationsComplementairesSurNumNom()\n"; |
$complement = $taxon_info_webservice->rechercherInformationsComplementairesSurNumNom($resultat_recherche_espece[0][0]); |
/* |
// GET /service:eflore:0.1/bdtfx/noms/31468?retour.champs=nom_sci,auteur,id,nom_retenu_complet,nom_retenu.id,num_taxonomique,famille |
/home/raphael/eflore/projets/services/modules/0.1/bdtfx/Noms.php:280 |
SELECT *, nom_sci FROM bdtfx_v1_01 WHERE num_nom = '31468' |
SELECT nom_sci, num_nom_retenu, nom_sci_html, auteur, annee, biblio_origine FROM bdtfx_v1_01 WHERE num_nom = 31468 |
SELECT nom_sci, num_nom_retenu, nom_sci_html, auteur, annee, biblio_origine FROM bdtfx_v1_01 WHERE num_nom = 86535 |
*/ |
$espece[C_NOM_RET] = $complement['Nom_Retenu']; |
$espece[C_NOM_RET_NN] = $complement['Num_Nom_Retenu']; |
$espece[C_NT] = $complement['Num_Taxon']; |
$espece[C_FAMILLE] = $complement['Famille']; |
var_dump("a", $espece);die; |
} |
|
static function detectFromNom($nom, $cel) { |
$r = $cel->requeter(sprintf("SELECT num_nom, num_tax_sup FROM bdtfx_v1_01 WHERE (nom_sci LIKE '%s') ". |
"ORDER BY nom_sci ASC LIMIT 0, 1", |
$cel->proteger($nom))); |
if($r) return $r; |
|
$cel->requeter(sprintf("SELECT num_nom, num_tax_sup FROM bdtfx_v1_01 WHERE (nom_sci LIKE '%s' OR nom LIKE '%s') ". |
"ORDER BY nom_sci ASC LIMIT 0, 1", |
$cel->proteger($nom), |
$cel->proteger(str_replace(' ', '% ', $nom)))); |
return $r; |
} |
|
static function traiterLocalisation($ligne, Array &$localisation, $cel) { |
$identifiant_commune = trim($ligne[C_ZONE_GEO]); |
if(!$identifiant_commune) { |