Line 373... |
Line 373... |
373 |
}
|
373 |
}
|
374 |
if (!empty($url['suivant'])) {
|
374 |
if (!empty($url['suivant'])) {
|
375 |
$table_retour_json['entete']['href.suivant'] = $url['suivant'];
|
375 |
$table_retour_json['entete']['href.suivant'] = $url['suivant'];
|
376 |
}
|
376 |
}
|
377 |
foreach ($resultat as &$tab) {
|
377 |
foreach ($resultat as &$tab) {
|
- |
|
378 |
$nnv = $tab['num_nom_vernaculaire'];
|
378 |
$resultat_json[$tab['num_nom_vernaculaire']]['id'] = $tab['id'];
|
379 |
$resultat_json[$nnv]['id'] = $tab['id'];
|
379 |
$resultat_json[$tab['num_nom_vernaculaire']]['nom_vernaculaire'] = $tab['nom_vernaculaire'];
|
380 |
$resultat_json[$nnv]['nom_vernaculaire'] = $tab['nom_vernaculaire'];
|
380 |
$resultat_json[$tab['num_nom_vernaculaire']]['code_langue'] = $tab['code_langue'];
|
381 |
$resultat_json[$nnv]['code_langue'] = $tab['code_langue'];
|
381 |
$resultat_json[$tab['num_nom_vernaculaire']]['taxon.code'] = 'bdtfx.nt:'.$tab['num_taxon'];
|
382 |
$resultat_json[$nnv]['taxon.code'] = 'bdtfx.nt:'.$tab['num_taxon'];
|
382 |
if ($this->retour_format == 'max') {
|
383 |
if ($this->retour_format == 'max') {
|
383 |
$this->taxons[] = $tab['num_taxon']; // utilisé pour chercher les noms latins plus bas
|
384 |
$this->taxons[] = $tab['num_taxon']; // utilisé pour chercher les noms latins plus bas
|
384 |
if($this->champs_supp) {
|
385 |
if($this->champs_supp) {
|
385 |
$resultat_json[$tab['num_nom_vernaculaire']] = $this->ajouterChampsOntologieLigneResultat($tab);
|
386 |
//$resultat_json[$nnv] = $this->ajouterChampsOntologieLigneResultat($tab);
|
- |
|
387 |
// simple initialisation par copie de la référence de l'original
|
- |
|
388 |
$resultat_json[$nnv] = &$tab;
|
386 |
}
|
389 |
}
|
387 |
else {
|
390 |
else {
|
388 |
$resultat_json[$tab['num_nom_vernaculaire']]['num_taxon'] = $tab['num_taxon'];
|
391 |
$resultat_json[$nnv]['num_taxon'] = $tab['num_taxon'];
|
389 |
$resultat_json[$tab['num_nom_vernaculaire']]['nom_retenu.code'] = $tab['num_taxon'];
|
392 |
$resultat_json[$nnv]['nom_retenu.code'] = $tab['num_taxon'];
|
390 |
$resultat_json[$tab['num_nom_vernaculaire']]['taxon'] = $tab['num_taxon'];
|
393 |
$resultat_json[$nnv]['taxon'] = $tab['num_taxon'];
|
391 |
$resultat_json[$tab['num_nom_vernaculaire']]['href'] = $this->ajouterHref('noms-vernaculaires', $tab['id']);
|
394 |
$resultat_json[$nnv]['href'] = $this->ajouterHref('noms-vernaculaires', $tab['id']);
|
392 |
}
|
395 |
}
|
393 |
}
|
396 |
}
|
394 |
}
|
397 |
}
|
395 |
|
398 |
|
- |
|
399 |
// dans ce cas (particulier?) nous n'avons pour l'heure initialisé qu'une référence
|
- |
|
400 |
// vers le tableau de valeurs original
|
- |
|
401 |
if ($this->retour_format == 'max' && $this->champs_supp) {
|
- |
|
402 |
// récupérons désormais les ontologies
|
- |
|
403 |
$this->ajouterChampsOntologieLigneTousResultats($resultat_json);
|
- |
|
404 |
}
|
- |
|
405 |
|
396 |
if ($this->retour_format == 'max') {
|
406 |
if ($this->retour_format == 'max') {
|
397 |
// On est obligé de faire un deuxième boucle pour demander tous les taxons présents en une
|
407 |
// On est obligé de faire un deuxième boucle pour demander tous les taxons présents en une
|
398 |
// fois et les attribuer aux noms car c'est beaucoup plus rapide
|
408 |
// fois et les attribuer aux noms car c'est beaucoup plus rapide
|
399 |
$noms_sci = $this->recupererNomTaxons();
|
409 |
$noms_sci = $this->recupererNomTaxons();
|
400 |
foreach ($resultat_json as $num_nom => &$tab) {
|
410 |
foreach ($resultat_json as $num_nom => &$tab) {
|
Line 410... |
Line 420... |
410 |
}
|
420 |
}
|
Line 411... |
Line 421... |
411 |
|
421 |
|
412 |
/**
|
422 |
/**
|
413 |
* Ajoute les champs d'ontologie supplémentaires si necéssaire
|
423 |
* Ajoute les champs d'ontologie supplémentaires si necéssaire
|
- |
|
424 |
* en faisant appels aux web services associés
|
- |
|
425 |
* @param array in/out $resultats: tous les résultats
|
- |
|
426 |
*/
|
- |
|
427 |
public function ajouterChampsOntologieLigneTousResultats(&$resultats) {
|
- |
|
428 |
foreach($this->champ_infos as $cle => $champs_supplementaires) {
|
- |
|
429 |
if(!in_array($cle, $this->champs_supp)) continue;
|
- |
|
430 |
|
- |
|
431 |
// TODO:
|
- |
|
432 |
if($cle == 'conseil_emploi') {
|
- |
|
433 |
// la factorisation des toutes les valeurs recherchées (pour tous les
|
- |
|
434 |
// résultats, peut [potentiellement] être effectuée ci-dessous)
|
- |
|
435 |
// $this->ajouterChampsOntologieNVJFL($resultats);
|
- |
|
436 |
// continue;
|
- |
|
437 |
|
- |
|
438 |
}
|
- |
|
439 |
|
- |
|
440 |
// extrait, depuis un élément de $champ_infos:
|
- |
|
441 |
// $service, $ressource, $projet, $nom, $intitule, $bdd_champ
|
- |
|
442 |
extract($champs_supplementaires);
|
- |
|
443 |
|
- |
|
444 |
foreach ($resultats as &$tab) {
|
- |
|
445 |
$valeur_recherche = $tab[$bdd_champ];
|
- |
|
446 |
if(!trim($valeur_recherche)) continue;
|
- |
|
447 |
|
- |
|
448 |
$url = $this->ajouterHrefAutreProjet($service, $ressource, $valeur_recherche, $projet);
|
- |
|
449 |
$tab[$intitule] = $this->chercherSignificationCode($url, $nom);
|
- |
|
450 |
}
|
- |
|
451 |
}
|
- |
|
452 |
}
|
- |
|
453 |
|
- |
|
454 |
/**
|
- |
|
455 |
* Ajoute les champs d'ontologie supplémentaires si necéssaire
|
414 |
* en faisant appels aux web services associés
|
456 |
* en faisant appels aux web services associés
|
415 |
* @param array $ligne_resultat
|
457 |
* @param array $ligne_resultat
|
416 |
*
|
458 |
*
|
417 |
* @return array la ligne modifiée
|
459 |
* @return array la ligne modifiée
|
418 |
*/
|
460 |
*/
|