Subversion Repositories eFlore/Applications.cel

Compare Revisions

Ignore whitespace Rev 1616 → Rev 1617

/trunk/jrest/services/CelWidgetExport.php
20,7 → 20,7
 
set_include_path(get_include_path() . PATH_SEPARATOR . dirname(dirname(realpath(__FILE__))) . '/lib');
// la sortie est binaire (xls), mais OLE n'est pas compatible E_ALL en PHP-5.4
error_reporting(error_reporting() ^ E_STRICT);
//error_reporting(error_reporting() ^ E_STRICT);
require_once("lib/OLE.php");
require_once("lib/Spreadsheet/Excel/Writer.php");
 
27,9 → 27,11
class CelWidgetExport extends Cel {
private $nom_fichier_export = 'cel_export';
private $champs_a_exclure = array('ce_utilisateur' => 'ce_utilisateur',
'courriel_utilisateur' => 'courriel_utilisateur',
'transmission' => 'transmission');
private $champs_a_exclure = array(
'ce_utilisateur' => true,
'courriel_utilisateur' => true,
'transmission' => true,
'code_insee_calcule' => true);
private $correspondance_champs = array(
'id_observation' => 'Identifiant Observation',
'ordre' => 'Ordre Observation',
49,6 → 51,7
'milieu' => 'Milieu',
'latitude' => 'Latitude',
'longitude' => 'Longitude',
'altitude' => 'Altitude',
'geodatum' => 'Référentiel Géographique',
'date_observation' => 'Date Observation',
'mots_cles_texte' => 'Mots Clés',
55,7 → 58,10
'commentaire' => 'Commentaires',
'date_creation' => 'Date Création',
'date_modification' => 'Date Modification',
'date_transmission' => 'Date Transmission'
'date_transmission' => 'Date Transmission',
'abondance' => 'Abondance',
'certitude' => 'Certitude',
'phenologie' => 'Phénologie'
);
private $parametres_autorises = array(
'utilisateur' => 'courriel_utilisateur',
92,7 → 98,6
unset($criteres['debut']);
$observations = $chercheur_observations->rechercherObservations(null, $criteres, $numero_page, $limite);
 
switch($this->format) {
case 'csv':
$csv = $this->convertirEnCsv($observations);
134,7 → 139,7
$chemin_temp = "php://temp";
$outstream = fopen($chemin_temp, 'r+');
$intitule_champs = array();
foreach($data as $ligne) {
foreach($data as &$ligne) {
$ligne = $this->filtrerDonneesSensibles($ligne);
$ligne = array_diff_key($ligne, $this->champs_a_exclure);
if(empty($intitule_champs)) {
161,14 → 166,14
$workbook->send($this->nom_fichier_export.'.xls');
$nb_lignes = 1;
foreach($data as $ligne) {
foreach($data as &$ligne) {
$ligne = $this->filtrerDonneesSensibles($ligne);
$ligne = array_diff_key($ligne, $this->champs_a_exclure);
if(empty($intitule_champs)) {
$intitule_champs = $this->creerEntetesChamps($ligne);
$indice = 0;
foreach ($intitule_champs as $intitule) {
foreach ($intitule_champs as &$intitule) {
$colonne = $intitule_champs[$indice];
$worksheet->write(0,$indice,$colonne);
$indice++;
175,7 → 180,7
}
}
$indice = 0;
foreach($ligne as $champ) {
foreach($ligne as &$champ) {
$worksheet->write($nb_lignes,$indice,$champ);
$indice++;
}