Subversion Repositories eFlore/Projets.eflore-projets

Rev

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

Rev 608 Rev 627
Line 365... Line 365...
365
			$table_retour_json['entete']['href.precedent'] = $url['precedent'];
365
			$table_retour_json['entete']['href.precedent'] = $url['precedent'];
366
		}
366
		}
367
		if (isset($url['suivant']) && $url['suivant']   != '') {
367
		if (isset($url['suivant']) && $url['suivant']   != '') {
368
			$table_retour_json['entete']['href.suivant']   = $url['suivant'];
368
			$table_retour_json['entete']['href.suivant']   = $url['suivant'];
369
		}
369
		}
370
		
-
 
371
		foreach ($resultat as &$tab) {			
370
		foreach ($resultat as &$tab) {			
372
			$resultat_json[$tab['num_nom_vernaculaire']]['id'] = $tab['id'];
371
			$resultat_json[$tab['num_nom_vernaculaire']]['id'] = $tab['id'];
373
			$resultat_json[$tab['num_nom_vernaculaire']]['nom_vernaculaire'] = $tab['nom_vernaculaire'];
372
			$resultat_json[$tab['num_nom_vernaculaire']]['nom_vernaculaire'] = $tab['nom_vernaculaire'];
374
			$resultat_json[$tab['num_nom_vernaculaire']]['code_langue'] = $tab['code_langue'];
373
			$resultat_json[$tab['num_nom_vernaculaire']]['code_langue'] = $tab['code_langue'];
375
			$resultat_json[$tab['num_nom_vernaculaire']]['taxon.code'] = 'bdtfx.nt:'.$tab['num_taxon'];
374
			$resultat_json[$tab['num_nom_vernaculaire']]['taxon.code'] = 'bdtfx.nt:'.$tab['num_taxon'];
Line 383... Line 382...
383
				if($this->champs_supp != array()) {
382
				if($this->champs_supp != array()) {
384
					$resultat_json[$tab['num_nom_vernaculaire']] = $this->ajouterChampsOntologieLigneResultat($tab);
383
					$resultat_json[$tab['num_nom_vernaculaire']] = $this->ajouterChampsOntologieLigneResultat($tab);
385
				}
384
				}
386
			}
385
			}
387
		}
386
		}
388
		
387
				
389
		if ($this->retour_format == 'max') {
388
		if ($this->retour_format == 'max') {
390
			// On est obligé de faire un deuxième boucle pour demander tous les taxons présents en une 
389
			// On est obligé de faire un deuxième boucle pour demander tous les taxons présents en une 
391
			// fois et les attribuer aux noms car c'est beaucoup plus rapide
390
			// fois et les attribuer aux noms car c'est beaucoup plus rapide
392
			$noms_sci = $this->recupererNomTaxons();
391
			$noms_sci = $this->recupererNomTaxons();
393
			foreach ($resultat_json as $num_nom => &$tab) {
392
			foreach ($resultat_json as $num_nom => &$tab) {
394
				$tab = $this->ajouterTaxonsAttributionsLigneResultat($tab, $noms_sci);
393
				$tab = $this->ajouterTaxonsAttributionsLigneResultat($tab, $noms_sci);
-
 
394
				if($tab == null) {
-
 
395
					unset($resultat_json[$num_nom]);
-
 
396
				}
395
			}
397
			}
396
		}
398
		}
Line 397... Line 399...
397
		
399
		
398
		uasort($resultat_json, array($this,'trierLigneTableau'));
400
		uasort($resultat_json, array($this,'trierLigneTableau'));
Line 447... Line 449...
447
	 */
449
	 */
448
	public function ajouterTaxonsAttributionsLigneResultat(&$ligne_tableau_resultat, &$noms_sci) {
450
	public function ajouterTaxonsAttributionsLigneResultat(&$ligne_tableau_resultat, &$noms_sci) {
449
		if (isset($noms_sci[$ligne_tableau_resultat['num_taxon']])) {
451
		if (isset($noms_sci[$ligne_tableau_resultat['num_taxon']])) {
450
			$ligne_tableau_resultat['nom_retenu.code'] = $noms_sci[$ligne_tableau_resultat['num_taxon']]['id'];
452
			$ligne_tableau_resultat['nom_retenu.code'] = $noms_sci[$ligne_tableau_resultat['num_taxon']]['id'];
451
			$ligne_tableau_resultat['taxon'] = $noms_sci[$ligne_tableau_resultat['num_taxon']]['nom_sci'];
453
			$ligne_tableau_resultat['taxon'] = $noms_sci[$ligne_tableau_resultat['num_taxon']]['nom_sci'];
-
 
454
		} else {
-
 
455
			$ligne_tableau_resultat = null;
452
		}
456
		}
453
		return $ligne_tableau_resultat;
457
		return $ligne_tableau_resultat;
454
	}
458
	}
Line 455... Line 459...
455
	
459
	
Line 578... Line 582...
578
			}
582
			}
579
		}
583
		}
580
	}
584
	}
Line 581... Line 585...
581
	
585
	
-
 
586
	public function recupererNomTaxons() {
582
	public function recupererNomTaxons() {
587
		$taxons = array_unique($this->taxons);
583
		$url = Config::get('url_service_base').'bdtfx/taxons?navigation.limite=500&masque.nt='.
-
 
584
			implode(',', $this->taxons);
588
		$url = Config::get('url_service_base').'bdtfx/taxons?navigation.limite=500&ns.structure=au&masque.nt='.implode(',', $taxons);
585
		$res = $this->consulterHref($url);
589
		$res = $this->consulterHref($url);
586
		foreach ($res->resultat as $id=>$taxon) {
590
		foreach ($res->resultat as $id=>$taxon) {
587
			$resultat[$taxon->num_taxonomique]['id'] = 'bdtfx.nn:'.$id;
591
			$resultat[$taxon->num_taxonomique]['id'] = 'bdtfx.nn:'.$id;
588
			$resultat[$taxon->num_taxonomique]['nom_sci'] = $taxon->nom_sci;
592
			$resultat[$taxon->num_taxonomique]['nom_sci'] = $taxon->nom_sci_complet;
589
		}
593
		}
590
		return $resultat;
594
		return $resultat;
Line 591... Line 595...
591
	}
595
	}