/trunk/jrest/lib/GestionChampsEtendus.php |
---|
245,7 → 245,7 |
*/ |
public function consulterGroupesChampsEtendusPredefinis() { |
$groupes = array(); |
$requete = "SELECT cc.cle as cle_groupe, cc.label as nom_groupe, ccc.cle as cle_champ, ccc.label as label_champ, ccc.invisible, ccc.prive ". |
$requete = "SELECT cc.cle as cle_groupe, cc.label as nom_groupe, ccc.cle as cle_champ, ccc.label as label_champ, ccc.invisible ". |
"FROM `cel_catalogue_champs_etendus` cc ". |
"INNER JOIN cel_catalogue_champs_etendus_liaison cl ON cc.cle = cl.groupe ". |
"INNER JOIN cel_catalogue_champs_etendus ccc ON ccc.cle = cl.champ"; |
278,9 → 278,7 |
$infos_groupe['champs'][] = array( |
'cle' => $groupe_champ['cle_champ'], |
'label' => $groupe_champ['label_champ'], |
'options' => array('invisible' => $groupe_champ['invisible'], |
'prive' => $groupe_champ['prive'] |
) |
'options' => array('invisible' => $groupe_champ['invisible']) |
); |
} |
298,7 → 296,7 |
* Renvoie le catalogue des champs étendus |
*/ |
public function consulterCatalogueChampsEtendusPredefinis($ordonner_par_cle = false) { |
$requete = "SELECT cle, label, invisible, prive ". |
$requete = "SELECT cle, label, invisible ". |
"FROM cel_catalogue_champs_etendus cc "; |
$catalogue = Cel::db()->executerRequete($requete); |
308,9 → 306,7 |
$champ_fmt = array( |
'cle' => $champ['cle'], |
'label' => $champ['label'], |
'options' => array('invisible' => $champ['invisible'], |
'prive' => $champ['prive'] |
) |
'options' => array('invisible' => $champ['invisible']) |
); |
if($ordonner_par_cle) { |
$infos_champs[$champ_fmt['cle']] = $champ_fmt; |
330,8 → 326,6 |
* @return string la clé correspondante |
*/ |
public function transformerLabelEnCle($label) { |
//TODO: cette fonction est elle encore pertinente |
// maintenant que la notion de label est supprimée ? |
$cle = strtolower(trim($label)); |
// Suppression des mots inutiles |
/trunk/jrest/lib/FormateurGroupeColonne.php |
---|
742,32 → 742,10 |
// Quand les données sont prêtes, on les fusionne |
$ligne = array_merge($ligne, $donneesBF); |
} |
static function champsEtendus_preload($cel, $obsids) { |
$gestion_champs_etendus = new GestionChampsEtendus($cel->config, 'obs'); |
$gestion_champs_etendus = new GestionChampsEtendus($cel->config, 'obs'); |
$colonnes_champs_supp_par_obs = $gestion_champs_etendus->consulterClesParLots($obsids); |
// Supprime les champs étendus considérés comme privés dans le cas de l'export public en chargeant |
// le catalogue et en excluant ceux qui sont explicitement privés |
if(!$cel->export_prive) { |
$indices_a_supprimer = array(); |
$catalogue_champs_etendus = $gestion_champs_etendus->consulterCatalogueChampsEtendusPredefinis(); |
foreach($catalogue_champs_etendus as $champ_catalogue) { |
if($champ_catalogue['options']['prive'] == 1) { |
// supprime les ":" suivis de nombres dans le cas de champs étendus multiples |
// (ils sont de la forme maCleDeChamp:1, maCleDeChamp:2 etc...) |
$entrees = preg_grep("/:\d+$/", $colonnes_champs_supp_par_obs); |
$indices_a_supprimer = array_merge($indices_a_supprimer, array_keys($entrees)); |
} |
} |
// les champs étendus sont renvoyés dans l'export suivant les colonnes présentes dans ce tableau |
// les éliminer de la liste des colonnes suffit à les faire ignorer par l'export |
foreach($indices_a_supprimer as $indice_supp) { |
unset($colonnes_champs_supp_par_obs[$indice_supp]); |
} |
} |
// ces deux lignes réordonnent l'ordre des colonnes des champs étendus en fonction de l'ordre (très spécifique) |
// de self::$ordre_champ_etendus_Florileges, les champs non-mentionnés sont ajoutés à la fin. |
$colonnes_champs_supp_par_obs = self::sortArrayByArray(array_flip($colonnes_champs_supp_par_obs), |