Subversion Repositories eFlore/Applications.cel

Compare Revisions

Ignore whitespace Rev 1715 → Rev 1716

/trunk/jrest/services/CelWidgetExport.php
257,10 → 257,8
fputcsv($outstream, $intitule_champs, ',', '"');
// lignes
foreach($data as &$ligne) {
$id_obs = $ligne['id_observation'];
$ligne = self::filtrerDonneesSensibles($ligne);
$ligne = FormateurGroupeColonne::getLigneObservation($ligne, $colonnes, $this);
self::traiterLigneEtendue($ligne, @self::$cache['etendu']['data'][$id_obs]);
fputcsv($outstream, $ligne, ',', '"');
}
rewind($outstream);
300,10 → 298,8
}
 
foreach($data as &$ligne) {
$id_obs = $ligne['id_observation'];
$ligne = self::filtrerDonneesSensibles($ligne);
$ligne = FormateurGroupeColonne::getLigneObservation($ligne, $colonnes, $this);
self::traiterLigneEtendue($ligne, @self::$cache['etendu']['data'][$id_obs]);
$indice = 0;
foreach($ligne as &$champ) {
$worksheet->write($nb_lignes,$indice++,$champ);
321,35 → 317,6
return $pdf;
}
static function traiterLigneEtendue(&$ligne, $ligne_etendue_aplatie) {
// si header n'est pas défini, aucune observation ne possède de champ étendu
// et nous n'ajoutons ni colonnes, ni valeurs.
if(! isset(self::$cache['etendu']['header'])) return;
 
$ligne_supp = array_fill(0, count(self::$cache['etendu']['header']), '');
$ligne_etendue_fmt = array();
 
// si, cependant cette seule observation n'a pas de champs étendus,
// nous devons rajouter des blancs (notamment dans le cas ou d'autres
// champs viennent à être ajoutés en aval à l'avenir
// cf: $fonction_dynamique dans FormateurGroupeColonne::GenColInfo()
if(! $ligne_etendue_aplatie) {
$ligne = array_merge($ligne, $ligne_supp);
return;
}
 
foreach(self::$cache['etendu']['header'] as $colonne) {
if(!isset($ligne_etendue_aplatie[$colonne])) {
$ligne_etendue_fmt[$colonne] = '';
} else {
$ligne_etendue_fmt[$colonne] = $ligne_etendue_aplatie[$colonne];
}
}
 
// XXX/ array_merge() ?
$ligne += $ligne_etendue_fmt;
}
 
static function filtrerDonneesSensibles($ligne) {
if(stripos($ligne['mots_cles_texte'], 'sensible') !== false) {
$ligne['latitude'] = '';
/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, array(__CLASS__, 'champsEtendus_preload'), NULL),
'etendu' => self::GenColInfo('etendu', '', 1, NULL, NULL, FALSE, array(__CLASS__, 'champsEtendus_preload'), array(__CLASS__, 'champsEtendus_ligne')),
);
}
 
536,7 → 536,6
 
static function baseflor_ligne($cel, $obs, &$ligne) {
 
if(! $obs['nom_ret_nn']) {
$ligne = array_merge($ligne, array_fill(0, count(self::$baseflor_col), NULL));
return;
586,6 → 585,7
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
// encore utilisé pour les entêtes (self::$cache['champsEtendus']['header'])
return self::$cache['champsEtendus'];
}
 
598,4 → 598,35
}
return $champs_etendus_fmt;
}
 
static function champsEtendus_ligne($cel, $obs, &$ligne) {
// si header n'est pas défini, aucune observation ne possède de champ étendu
// et nous n'ajoutons ni colonnes, ni valeurs.
if(! isset(self::$cache['champsEtendus']['header'])) return;
 
$ligne_etendue_aplatie = @self::$cache['champsEtendus']['data'][$ligne['id_observation']];
 
$ligne_supp = array_fill(0, count(self::$cache['champsEtendus']['header']), '');
$ligne_etendue_fmt = array();
 
// si, cependant cette seule observation n'a pas de champs étendus,
// nous devons rajouter des blancs (notamment dans le cas ou d'autres
// champs viennent à être ajoutés en aval à l'avenir
// cf: $fonction_dynamique dans FormateurGroupeColonne::GenColInfo()
if(! $ligne_etendue_aplatie) {
$ligne = array_merge($ligne, $ligne_supp);
return;
}
 
foreach(self::$cache['champsEtendus']['header'] as $colonne) {
if(!isset($ligne_etendue_aplatie[$colonne])) {
$ligne_etendue_fmt[$colonne] = '';
} else {
$ligne_etendue_fmt[$colonne] = $ligne_etendue_aplatie[$colonne];
}
}
 
// XXX/ array_merge() ?
$ligne += $ligne_etendue_fmt;
}
}