Subversion Repositories eFlore/Projets.eflore-projets

Rev

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

Rev 659 Rev 729
Line 21... Line 21...
21
* @version 1.0
21
* @version 1.0
22
* @copyright 1999-${year} Tela Botanica (accueil@tela-botanica.org)
22
* @copyright 1999-${year} Tela Botanica (accueil@tela-botanica.org)
23
*/
23
*/
24
class NomsVernaculaires extends Commun {
24
class NomsVernaculaires extends Commun {
25
	protected $champ_infos = array(
25
	protected $champ_infos = array(
26
			'taxon' => array('service' => 'taxons', 'ressource' => 'nt:', 'projet' => 'bdtfx', 'nom' => 'nom_sci'),
26
		'taxon' => array('service' => 'taxons', 'ressource' => 'nt:', 'projet' => 'bdtfx', 'nom' => 'nom_sci',
-
 
27
						 // utilisés par ajouterChampsOntologieLigneResultat()
-
 
28
						 'intitule' => 'taxon.code', // intitulé du champ tel qu'il sera renvoyé en JSON
-
 
29
						 'bdd_champ' => 'num_taxon'), // intitulé du champ tel qu'il est présent dans l'enregistrement MySQL
27
			'conseil_emploi' => array('service' => 'ontologies', 'ressource' => 'numStatut:', 'projet' => 'nvjfl', 'nom' => 'nom'),
30
		'conseil_emploi' => array('service' => 'ontologies', 'ressource' => 'numStatut:', 'projet' => 'nvjfl', 'nom' => 'nom',
-
 
31
								  'intitule' => 'conseil_emploi', 'bdd_champ' => 'num_statut'),
28
			'genre' => array('service' => 'ontologies', 'ressource' => 'genreNombre:', 'projet' => 'nvjfl', 'nom' => 'nom'));
32
		'genre' => array('service' => 'ontologies', 'ressource' => 'genreNombre:', 'projet' => 'nvjfl', 'nom' => 'nom',
-
 
33
						 'intitule' => 'genre', 'bdd_champ' => 'num_genre'));
Line 29... Line 34...
29
 
34
 
Line 30... Line 35...
30
	protected $service = 'noms-vernaculaires';
35
	protected $service = 'noms-vernaculaires';
31
 
36
 
Line 361... Line 366...
361
		$table_retour_json['entete']['masque'] = $this->recupererMasque();
366
		$table_retour_json['entete']['masque'] = $this->recupererMasque();
362
		$table_retour_json['entete']['depart'] = $this->limite_requete['depart'];
367
		$table_retour_json['entete']['depart'] = $this->limite_requete['depart'];
363
		$table_retour_json['entete']['limite'] = $this->limite_requete['limite'];
368
		$table_retour_json['entete']['limite'] = $this->limite_requete['limite'];
364
		$table_retour_json['entete']['total']  = $this->total_resultat;
369
		$table_retour_json['entete']['total']  = $this->total_resultat;
365
		$url = $this->formulerUrl($this->total_resultat, '/noms-vernaculaires/attributions');
370
		$url = $this->formulerUrl($this->total_resultat, '/noms-vernaculaires/attributions');
366
		if (isset($url['precedent']) && $url['precedent'] != '') {
371
		if (!empty($url['precedent'])) {
367
			$table_retour_json['entete']['href.precedent'] = $url['precedent'];
372
			$table_retour_json['entete']['href.precedent'] = $url['precedent'];
368
		}
373
		}
369
		if (isset($url['suivant']) && $url['suivant']   != '') {
374
		if (!empty($url['suivant'])) {
370
			$table_retour_json['entete']['href.suivant']   = $url['suivant'];
375
			$table_retour_json['entete']['href.suivant']   = $url['suivant'];
371
		}
376
		}
372
		foreach ($resultat as &$tab) {			
377
		foreach ($resultat as &$tab) {			
373
			$resultat_json[$tab['num_nom_vernaculaire']]['id'] = $tab['id'];
378
			$resultat_json[$tab['num_nom_vernaculaire']]['id'] = $tab['id'];
374
			$resultat_json[$tab['num_nom_vernaculaire']]['nom_vernaculaire'] = $tab['nom_vernaculaire'];
379
			$resultat_json[$tab['num_nom_vernaculaire']]['nom_vernaculaire'] = $tab['nom_vernaculaire'];
375
			$resultat_json[$tab['num_nom_vernaculaire']]['code_langue'] = $tab['code_langue'];
380
			$resultat_json[$tab['num_nom_vernaculaire']]['code_langue'] = $tab['code_langue'];
376
			$resultat_json[$tab['num_nom_vernaculaire']]['taxon.code'] = 'bdtfx.nt:'.$tab['num_taxon'];
381
			$resultat_json[$tab['num_nom_vernaculaire']]['taxon.code'] = 'bdtfx.nt:'.$tab['num_taxon'];
377
			if ($this->retour_format == 'max') {
382
			if ($this->retour_format == 'max') {
378
				$resultat_json[$tab['num_nom_vernaculaire']]['num_taxon'] = $tab['num_taxon'];
-
 
379
				$resultat_json[$tab['num_nom_vernaculaire']]['nom_retenu.code'] = $tab['num_taxon'];
-
 
380
				$resultat_json[$tab['num_nom_vernaculaire']]['taxon'] = $tab['num_taxon'];
-
 
381
				$this->taxons[] = $tab['num_taxon']; // utilisé pour chercher les noms latins plus bas
383
				$this->taxons[] = $tab['num_taxon']; // utilisé pour chercher les noms latins plus bas
382
				$resultat_json[$tab['num_nom_vernaculaire']]['href'] = $this->ajouterHref('noms-vernaculaires', $tab['id']);
-
 
383
				
-
 
384
				if($this->champs_supp != array()) {
384
				if($this->champs_supp) {
385
					$resultat_json[$tab['num_nom_vernaculaire']] = $this->ajouterChampsOntologieLigneResultat($tab);
385
					$resultat_json[$tab['num_nom_vernaculaire']] = $this->ajouterChampsOntologieLigneResultat($tab);
386
				}
386
				}
-
 
387
				else {
-
 
388
					$resultat_json[$tab['num_nom_vernaculaire']]['num_taxon'] = $tab['num_taxon'];
-
 
389
					$resultat_json[$tab['num_nom_vernaculaire']]['nom_retenu.code'] = $tab['num_taxon'];
-
 
390
					$resultat_json[$tab['num_nom_vernaculaire']]['taxon'] = $tab['num_taxon'];
-
 
391
					$resultat_json[$tab['num_nom_vernaculaire']]['href'] = $this->ajouterHref('noms-vernaculaires', $tab['id']);
-
 
392
				}
387
			}
393
			}
388
		}
394
		}
Line 389... Line 395...
389
		
395
		
390
		if ($this->retour_format == 'max') {
396
		if ($this->retour_format == 'max') {
Line 409... Line 415...
409
	 * @param array $ligne_resultat
415
	 * @param array $ligne_resultat
410
	 * 
416
	 * 
411
	 * @return array la ligne modifiée
417
	 * @return array la ligne modifiée
412
	 */
418
	 */
413
	public function ajouterChampsOntologieLigneResultat($ligne_resultat) {
419
	public function ajouterChampsOntologieLigneResultat($ligne_resultat) {
414
		
-
 
415
		$intitule = '';
-
 
416
		foreach($this->champ_infos as $cle => $champs_supplementaires) {
420
		foreach($this->champ_infos as $cle => $champs_supplementaires) {
417
			if(in_array($cle, $this->champs_supp)) {
421
			if(!in_array($cle, $this->champs_supp)) continue;
418
				extract($champs_supplementaires);
422
			// extrait, depuis un élément de $champ_infos:
419
				$valeur_recherche = '';
-
 
420
				switch($cle) {
-
 
421
					case 'taxon':
-
 
422
						$valeur_recherche = $ligne_resultat['num_taxon'];
-
 
423
						$intitule = 'taxon.code';
-
 
424
						break;
-
 
425
					case 'genre':
-
 
426
						$valeur_recherche = $ligne_resultat['num_genre'];
423
			// $service, $ressource, $projet, $nom, $intitule, $bdd_champ
427
						$intitule = 'genre';
-
 
428
						break;
-
 
429
					case 'conseil_emploi':
424
			extract($champs_supplementaires);
430
						$valeur_recherche = $ligne_resultat['num_statut'];
425
			$valeur_recherche = $ligne_resultat[$bdd_champ];
431
						$intitule = 'conseil_emploi'; 
-
 
432
						break;
-
 
433
				}
-
 
434
				$code_valeur = '';
-
 
435
				if(trim($valeur_recherche) != '') {
426
			if(!trim($valeur_recherche)) continue;
436
					$url = $this->ajouterHrefAutreProjet($service, $ressource, $valeur_recherche, $projet);
427
			$url = $this->ajouterHrefAutreProjet($service, $ressource, $valeur_recherche, $projet);
437
					$code_valeur = $this->chercherSignificationCode($url, $nom);
428
			$ligne_resultat[$intitule] = $this->chercherSignificationCode($url, $nom);
438
				}
-
 
439
				$ligne_resultat[$intitule] = $code_valeur;
-
 
440
			}
-
 
441
		}
429
		}
442
		return $ligne_resultat;
430
		return $ligne_resultat;
443
	}
431
	}
Line 444... Line 432...
444
	
432