| Line 423... |
Line 423... |
| 423 |
}
|
423 |
}
|
| 424 |
$gestion_champs_etendus = new GestionChampsEtendus($this->config, 'obs');
|
424 |
$gestion_champs_etendus = new GestionChampsEtendus($this->config, 'obs');
|
| 425 |
$champs_etendus = $gestion_champs_etendus->consulterParLots($ids_observations);
|
425 |
$champs_etendus = $gestion_champs_etendus->consulterParLots($ids_observations);
|
| 426 |
if(!empty($champs_etendus)) {
|
426 |
if(!empty($champs_etendus)) {
|
| 427 |
$this->catalogue_cles_labels_champs_etendus = $gestion_champs_etendus->consulterCatalogueChampsEtendusPredefinis(true);
|
427 |
$this->catalogue_cles_labels_champs_etendus = $gestion_champs_etendus->consulterCatalogueChampsEtendusPredefinis(true);
|
| - |
|
428 |
// afin de simplifier les erreurs de majuscules et minuscules
|
| - |
|
429 |
$this->catalogue_cles_labels_champs_etendus = array_change_key_case($this->catalogue_cles_labels_champs_etendus);
|
| 428 |
}
|
430 |
}
|
| 429 |
$this->auteurs = $this->creerAuteurs($identifiants);
|
431 |
$this->auteurs = $this->creerAuteurs($identifiants);
|
| 430 |
foreach ($elements as $element) {
|
432 |
foreach ($elements as $element) {
|
| 431 |
$element['obs_etendue'] = isset($champs_etendus[$element['id_observation']]) ? $champs_etendus[$element['id_observation']] : array();
|
433 |
$element['obs_etendue'] = isset($champs_etendus[$element['id_observation']]) ? $champs_etendus[$element['id_observation']] : array();
|
| 432 |
$donnees['items'][] = $this->construireDonneesCommunesAuxItems($element);
|
434 |
$donnees['items'][] = $this->construireDonneesCommunesAuxItems($element);
|
| Line 543... |
Line 545... |
| 543 |
}
|
545 |
}
|
| Line 544... |
Line 546... |
| 544 |
|
546 |
|
| 545 |
private function creerDescriptionChampsEtendus($obs, $item) {
|
547 |
private function creerDescriptionChampsEtendus($obs, $item) {
|
| 546 |
$champs_etendus = '';
|
548 |
$champs_etendus = '';
|
| - |
|
549 |
foreach($obs['obs_etendue'] as $cle => &$champ) {
|
| 547 |
foreach($obs['obs_etendue'] as $cle => &$champ) {
|
550 |
if($this->doitAfficherChampEtendu($champ->cle, $this->catalogue_cles_labels_champs_etendus)) {
|
| 548 |
if(isset($this->catalogue_cles_labels_champs_etendus[$champ->cle])) {
|
551 |
if(isset($this->catalogue_cles_labels_champs_etendus[$champ->cle])) {
|
| 549 |
$label = $this->catalogue_cles_labels_champs_etendus[$champ->cle]['label'];
|
552 |
$label = $this->catalogue_cles_labels_champs_etendus[$champ->cle]['label'];
|
| 550 |
} else {
|
553 |
} else {
|
| 551 |
$label = preg_replace("/(?<=\\w)(?=[A-Z])/"," $1", $champ->cle);
|
554 |
$label = preg_replace("/(?<=\\w)(?=[A-Z])/"," $1", $champ->cle);
|
| 552 |
$label = trim($label);
|
555 |
$label = trim($label);
|
| - |
|
556 |
$label = $label;
|
| - |
|
557 |
}
|
| 553 |
$label = $label;
|
558 |
$champs_etendus .= '<li>'.$this->nePasInterpreterXml($label.' : '.$champ->valeur).' </li>';
|
| 554 |
}
|
- |
|
| 555 |
$champs_etendus .= '<li>'.$this->nePasInterpreterXml($label.' : '.$champ->valeur).' </li>';
|
559 |
}
|
| Line 556... |
Line 560... |
| 556 |
}
|
560 |
}
|
| 557 |
|
561 |
|
| 558 |
if($champs_etendus != '') {
|
562 |
if($champs_etendus != '') {
|
| - |
|
563 |
$champs_etendus = '<li> Champs supplémentaires : <ul>'.$champs_etendus.'</ul></li>';
|
| 559 |
$champs_etendus = '<li> Champs supplémentaires : <ul>'.$champs_etendus.'</ul></li>';
|
564 |
}
|
| 560 |
}
|
565 |
|
| - |
|
566 |
return $champs_etendus;
|
| - |
|
567 |
}
|
| - |
|
568 |
|
| - |
|
569 |
private function doitAfficherChampEtendu($cle, $catalogue) {
|
| - |
|
570 |
// Suppression des nombres à la fin de la chaines dans le cas des clés
|
| - |
|
571 |
// "multiples" et mise en minuscule
|
| - |
|
572 |
$cle_simplifiee = preg_replace("/\d+$/","",$cle);
|
| - |
|
573 |
$cle_simplifiee = strtolower(rtrim($cle_simplifiee, ":"));
|
| - |
|
574 |
|
| - |
|
575 |
// Un champ est affichable s'il n'est pas au catalogue ou bien
|
| - |
|
576 |
// s'il n'est pas marqué privé dans celui-ci
|
| - |
|
577 |
$affichable = !isset($catalogue[$cle_simplifiee]) ||
|
| - |
|
578 |
$catalogue[$cle_simplifiee]['options']['prive'] != 1;
|
| - |
|
579 |
|
| Line 561... |
Line 580... |
| 561 |
return $champs_etendus;
|
580 |
return $affichable;
|
| 562 |
}
|
581 |
}
|
| 563 |
|
582 |
|
| 564 |
private function creerCategorie($element) {
|
583 |
private function creerCategorie($element) {
|