425,6 → 425,8 |
$champs_etendus = $gestion_champs_etendus->consulterParLots($ids_observations); |
if(!empty($champs_etendus)) { |
$this->catalogue_cles_labels_champs_etendus = $gestion_champs_etendus->consulterCatalogueChampsEtendusPredefinis(true); |
// afin de simplifier les erreurs de majuscules et minuscules |
$this->catalogue_cles_labels_champs_etendus = array_change_key_case($this->catalogue_cles_labels_champs_etendus); |
} |
$this->auteurs = $this->creerAuteurs($identifiants); |
foreach ($elements as $element) { |
545,6 → 547,7 |
private function creerDescriptionChampsEtendus($obs, $item) { |
$champs_etendus = ''; |
foreach($obs['obs_etendue'] as $cle => &$champ) { |
if($this->doitAfficherChampEtendu($champ->cle, $this->catalogue_cles_labels_champs_etendus)) { |
if(isset($this->catalogue_cles_labels_champs_etendus[$champ->cle])) { |
$label = $this->catalogue_cles_labels_champs_etendus[$champ->cle]['label']; |
} else { |
554,13 → 557,29 |
} |
$champs_etendus .= '<li>'.$this->nePasInterpreterXml($label.' : '.$champ->valeur).' </li>'; |
} |
} |
|
if($champs_etendus != '') { |
$champs_etendus = '<li> Champs supplémentaires : <ul>'.$champs_etendus.'</ul></li>'; |
} |
|
return $champs_etendus; |
} |
|
private function doitAfficherChampEtendu($cle, $catalogue) { |
// Suppression des nombres à la fin de la chaines dans le cas des clés |
// "multiples" et mise en minuscule |
$cle_simplifiee = preg_replace("/\d+$/","",$cle); |
$cle_simplifiee = strtolower(rtrim($cle_simplifiee, ":")); |
|
// Un champ est affichable s'il n'est pas au catalogue ou bien |
// s'il n'est pas marqué privé dans celui-ci |
$affichable = !isset($catalogue[$cle_simplifiee]) || |
$catalogue[$cle_simplifiee]['options']['prive'] != 1; |
|
return $affichable; |
} |
|
private function creerCategorie($element) { |
$categorie = ''; |
$categorie = 'Observation'; |