155,7 → 155,7 |
if(isset($groupe_de_champs['etendu'])) { |
$colonnes += array( |
// champ dynamique |
'etendu' => self::GenColInfo('etendu', '', 1, NULL, NULL, FALSE, NULL, NULL), |
'etendu' => self::GenColInfo('etendu', '', 1, NULL, NULL, FALSE, array(__CLASS__, 'champsEtendus_preload'), NULL), |
); |
} |
|
574,4 → 574,28 |
self::$cache['getBaseflor'][$cache_id] = $data; |
$ligne = array_merge($ligne, $data); |
} |
} |
|
static function champsEtendus_preload($cel, $obsids) { |
$gestion_champs_etendus = new GestionChampsEtendus($cel->config, 'obs'); |
$champs_supp_par_obs = $gestion_champs_etendus->consulterParLots($obsids); |
$colonnes_champs_supp_par_obs = $gestion_champs_etendus->consulterClesParLots($obsids); |
self::$cache['champsEtendus']['header'] = $colonnes_champs_supp_par_obs; |
foreach($champs_supp_par_obs as &$v) { |
$v = self::champsEtendus_aplatir($v); |
} |
self::$cache['champsEtendus']['data'] = $champs_supp_par_obs; |
// ce return est temporaire, |
// le temps que toutes les fonctions bougent ici et utilise plutôt le cache statique |
return self::$cache['champsEtendus']; |
} |
|
// XXX: PHP-5.3, fonction anonyme + array_map |
static function champsEtendus_aplatir($ligne_champs_etendus) { |
$champs_etendus_fmt = array(); |
if(!$ligne_champs_etendus) return $champs_etendus_fmt; |
foreach($ligne_champs_etendus as $champ) { |
$champs_etendus_fmt[$champ->cle] = $champ->valeur; |
} |
return $champs_etendus_fmt; |
} |
} |