Line 740... |
Line 740... |
740 |
}
|
740 |
}
|
Line 741... |
Line 741... |
741 |
|
741 |
|
742 |
// Quand les données sont prêtes, on les fusionne
|
742 |
// Quand les données sont prêtes, on les fusionne
|
743 |
$ligne = array_merge($ligne, $donneesBF);
|
743 |
$ligne = array_merge($ligne, $donneesBF);
|
744 |
}
|
744 |
}
|
745 |
|
745 |
|
746 |
static function champsEtendus_preload($cel, $obsids) {
|
746 |
static function champsEtendus_preload($cel, $obsids) {
|
747 |
$gestion_champs_etendus = new GestionChampsEtendus($cel->config, 'obs');
|
747 |
$gestion_champs_etendus = new GestionChampsEtendus($cel->config, 'obs');
|
- |
|
748 |
$colonnes_champs_supp_par_obs = $gestion_champs_etendus->consulterClesParLots($obsids);
|
- |
|
749 |
|
- |
|
750 |
// Supprime les champs étendus considérés comme privés dans le cas de l'export public en chargeant
|
- |
|
751 |
// le catalogue et en excluant ceux qui sont explicitement privés
|
- |
|
752 |
if(!$cel->export_prive) {
|
- |
|
753 |
$indices_a_supprimer = array();
|
- |
|
754 |
$catalogue_champs_etendus = $gestion_champs_etendus->consulterCatalogueChampsEtendusPredefinis();
|
- |
|
755 |
foreach($catalogue_champs_etendus as $champ_catalogue) {
|
- |
|
756 |
if($champ_catalogue['options']['prive'] == 1) {
|
- |
|
757 |
// supprime les ":" suivis de nombres dans le cas de champs étendus multiples
|
- |
|
758 |
// (ils sont de la forme maCleDeChamp:1, maCleDeChamp:2 etc...)
|
- |
|
759 |
$entrees = preg_grep("/:\d+$/", $colonnes_champs_supp_par_obs);
|
- |
|
760 |
$indices_a_supprimer = array_merge($indices_a_supprimer, array_keys($entrees));
|
- |
|
761 |
}
|
- |
|
762 |
}
|
- |
|
763 |
|
- |
|
764 |
// les champs étendus sont renvoyés dans l'export suivant les colonnes présentes dans ce tableau
|
- |
|
765 |
// les éliminer de la liste des colonnes suffit à les faire ignorer par l'export
|
- |
|
766 |
foreach($indices_a_supprimer as $indice_supp) {
|
- |
|
767 |
unset($colonnes_champs_supp_par_obs[$indice_supp]);
|
- |
|
768 |
}
|
- |
|
769 |
}
|
748 |
$colonnes_champs_supp_par_obs = $gestion_champs_etendus->consulterClesParLots($obsids);
|
770 |
|
749 |
// ces deux lignes réordonnent l'ordre des colonnes des champs étendus en fonction de l'ordre (très spécifique)
|
771 |
// ces deux lignes réordonnent l'ordre des colonnes des champs étendus en fonction de l'ordre (très spécifique)
|
750 |
// de self::$ordre_champ_etendus_Florileges, les champs non-mentionnés sont ajoutés à la fin.
|
772 |
// de self::$ordre_champ_etendus_Florileges, les champs non-mentionnés sont ajoutés à la fin.
|
751 |
$colonnes_champs_supp_par_obs = self::sortArrayByArray(array_flip($colonnes_champs_supp_par_obs),
|
773 |
$colonnes_champs_supp_par_obs = self::sortArrayByArray(array_flip($colonnes_champs_supp_par_obs),
|
752 |
self::$ordre_champ_etendus_Florileges);
|
774 |
self::$ordre_champ_etendus_Florileges);
|