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 |
|