Subversion Repositories eFlore/Applications.cel

Compare Revisions

Ignore whitespace Rev 1661 → Rev 1662

/trunk/jrest/services/CelWidgetExport.php
45,6 → 45,7
'jour' => 'jour',
'recherche' => 'recherche',
'id_mots_cles' => 'id_mots_cles',
'mots_cles' => 'mots_cles',
'debut' => 'debut',
'limite' => 'limite',
'format' => 'format',
162,10 → 163,13
foreach($observations as &$obs) {
$ids[] = $obs['id_observation'];
}
$gestion_champs_etendus = new GestionChampsEtendus($this->config, 'obs');
$champs_supp_par_obs = $gestion_champs_etendus->consulterParLots($ids);
$colonnes_champs_supp_par_obs = $gestion_champs_etendus->consulterClesParLots($ids);
 
if($this->format != 'pdf') {
$gestion_champs_etendus = new GestionChampsEtendus($this->config, 'obs');
$champs_supp_par_obs = $gestion_champs_etendus->consulterParLots($ids);
$colonnes_champs_supp_par_obs = $gestion_champs_etendus->consulterClesParLots($ids);
}
 
// TODO: tous les champs étendus et les paramètres supplémentaires devraient être passés en un seul
// tableau (et chaque formateur csv, xls etc... pourrait également être dans une classe à part)
switch($this->format) {
178,12 → 182,8
$this->envoyerXls($xls);
break;
case 'pdf':
if(count($observations) > 300) die('trop de données');
require_once('GenerateurPDF.php');
$pdf = new GenerateurPDF();
$pdf->export($observations);
$pdf->pdf->Output('etiquettes.pdf', 'I');
die;
$pdf = $this->convertirEnPdf($observations);
$this->envoyerPdf($pdf);
break;
default:
}
212,7 → 212,7
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+');
243,7 → 243,7
return $csv;
}
private function convertirEnXls($data, $colonnes, $colonnes_supplementaires, $champs_supplementaires = array()) {
private function convertirEnXls(&$data, &$colonnes, &$colonnes_supplementaires, &$champs_supplementaires = array()) {
$this->extendSpreadsheetProductor = new SpreadsheetProductor();
$this->extendSpreadsheetProductor->initSpreadsheet();
290,6 → 290,19
return $workbook;
}
private function convertirEnPdf(&$observations) {
if(count($observations) > 300) die('trop de données');
//require_once('GenerateurPDF.php');
$pdf = new GenerateurPDF();
$pdf->export($observations);
return $pdf;
}
private function envoyerPdf(&$pdf) {
$pdf->pdf->Output('etiquettes.pdf', 'I');
exit;;
}
private function traiterLigneEtendue(&$colonnes_etendues, &$ligne_champs_etendus) {
$ligne_etendue_aplatie = $this->aplatirChampsEtendus($ligne_champs_etendus);
$ligne_etendue_fmt = array();