Subversion Repositories eFlore/Applications.cel

Compare Revisions

Ignore whitespace Rev 1714 → Rev 1715

/trunk/jrest/lib/FormateurGroupeColonne.php
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;
}
}