Subversion Repositories eFlore/Applications.cel

Compare Revisions

Ignore whitespace Rev 1687 → Rev 1688

/trunk/jrest/services/ImportXLS.php
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) {