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']); |