Subversion Repositories eFlore/Projets.eflore-projets

Rev

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

Rev 729 Rev 730
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
	 */