Subversion Repositories eFlore/Applications.cel

Compare Revisions

Ignore whitespace Rev 1691 → Rev 1692

/trunk/jrest/services/CelWidgetExport.php
221,17 → 221,14
exit;
}
private function convertirEnCsv(&$data, &$colonnes, &$colonnes_supplementaires, &$champs_supplementaires = array())
{
private function convertirEnCsv(&$data, &$colonnes, &$colonnes_supplementaires, &$champs_supplementaires = array()) {
$chemin_temp = "php://temp";
$outstream = fopen($chemin_temp, 'r+');
 
$groupe_colonnes = FormateurGroupeColonne::nomEnsembleVersListeColonnes($colonnes);
$intitule_champs = FormateurGroupeColonne::getIntitulesColonnes($groupe_colonnes);
 
foreach($colonnes_supplementaires as $colonne_sup) {
$intitule_champs[] = $colonne_sup;
}
$intitule_champs = array_merge(FormateurGroupeColonne::getIntitulesColonnes($groupe_colonnes),
array_values($colonnes_supplementaires));
 
// header
fputcsv($outstream, $intitule_champs, ',', '"');
238,7 → 235,7
// lignes
foreach($data as &$ligne) {
$id_obs = $ligne['id_observation'];
$ligne = $this->filtrerDonneesSensibles($ligne);
$ligne = self::filtrerDonneesSensibles($ligne);
$ligne = FormateurGroupeColonne::getLigneObservation($ligne, $groupe_colonnes, $this);
$ligne_etendue_aplatie = self::aplatirChampsEtendus($champs_supplementaires[$id_obs]);
self::traiterLigneEtendue($ligne, $colonnes_supplementaires, $ligne_etendue_aplatie);
264,21 → 261,18
$nb_lignes = 1;
$groupe_colonnes = FormateurGroupeColonne::nomEnsembleVersListeColonnes($colonnes);
$intitule_champs = FormateurGroupeColonne::getIntitulesColonnes($groupe_colonnes);
foreach($colonnes_supplementaires as $colonne_sup) {
$intitule_champs[] = $colonne_sup;
}
$intitule_champs = array_merge(FormateurGroupeColonne::getIntitulesColonnes($groupe_colonnes),
array_values($colonnes_supplementaires));
 
// header
$indice = 0;
foreach ($intitule_champs as &$intitule) {
$worksheet->write(0,$indice,$intitule);
$indice++;
$worksheet->write(0,$indice++,$intitule);
}
 
foreach($data as &$ligne) {
$id_obs = $ligne['id_observation'];
$ligne = $this->filtrerDonneesSensibles($ligne);
$ligne = self::filtrerDonneesSensibles($ligne);
$ligne = FormateurGroupeColonne::getLigneObservation($ligne, $groupe_colonnes, $this);
 
$ligne_etendue_aplatie = self::aplatirChampsEtendus($champs_supplementaires[$id_obs]);
285,8 → 279,7
$ligne_supp = self::traiterLigneEtendue($ligne, $colonnes_supplementaires, $ligne_etendue_aplatie);
$indice = 0;
foreach($ligne as &$champ) {
$worksheet->write($nb_lignes,$indice,$champ);
$indice++;
$worksheet->write($nb_lignes,$indice++,$champ);
}
$nb_lignes++;
}
326,7 → 319,6
}
static function aplatirChampsEtendus(&$ligne_champs_etendus) {
if(!$ligne_champs_etendus) return;
$champs_etendus_fmt = array();
foreach($ligne_champs_etendus as $champ) {
$champs_etendus_fmt[$champ->cle] = $champ->valeur;
334,7 → 326,7
return $champs_etendus_fmt;
}
private function filtrerDonneesSensibles($ligne) {
static function filtrerDonneesSensibles($ligne) {
if(stripos($ligne['mots_cles_texte'], 'sensible') !== false) {
$ligne['latitude'] = '';
$ligne['longitude'] = '';
342,12 → 334,6
return $ligne;
}
private function nettoyerChaine($chaine) {
$chaine = str_replace("\n",' ',$chaine);
$chaine = str_replace("\t",'',$chaine);
return $chaine;
}
private function doitEtPeutExporterObsPrivees($criteres) {
return isset($criteres['ce_utilisateur']) &&
$this->peutExporterObsPrivees($criteres['ce_utilisateur']);