Création d'archive zip avec ZipWriter
FossilOrigin-Name: fdc718ec0f5734bb532742f6da61db7ed55f3373ace6f01aba3629f93c37aa79
This commit is contained in:
parent
36060b71c8
commit
41c93cf556
|
@ -3,6 +3,7 @@
|
|||
namespace Garradin\Plugin\RecusFiscaux;
|
||||
|
||||
use Garradin\DB;
|
||||
use KD2\ZipWriter;
|
||||
|
||||
class Services
|
||||
{
|
||||
|
@ -35,7 +36,7 @@ class Services
|
|||
printf(\"%.2f\", services_fees.amount/100) as montantTarif
|
||||
FROM services_fees
|
||||
WHERE services_fees.id_service = ?",
|
||||
$activite
|
||||
$activite
|
||||
);
|
||||
}
|
||||
|
||||
|
@ -177,4 +178,25 @@ class Services
|
|||
WHERE key = 'adresse_asso'"
|
||||
)[0]->value;
|
||||
}
|
||||
|
||||
// ------------------------------------------------------------------------
|
||||
// zip archive creation
|
||||
// ------------------------------------------------------------------------
|
||||
|
||||
static function makeArchive(
|
||||
$fileList,
|
||||
$year,
|
||||
$archiveDir)
|
||||
{
|
||||
$zipFilename = "recus_dons" . $year . ".zip";
|
||||
header('Content-type: application/zip');
|
||||
header(sprintf('Content-Disposition: attachment; filename="%s"', $zipFilename));
|
||||
$zip = new ZipWriter('php://output');
|
||||
$zip->setCompression(0);
|
||||
foreach ($fileList as $fileName)
|
||||
{
|
||||
$zip->add(basename($fileName), null, $fileName);
|
||||
}
|
||||
$zip->close();
|
||||
} // makeArchive
|
||||
}
|
||||
|
|
|
@ -18,7 +18,7 @@ foreach ($list as $indice => $ligne) {
|
|||
|
||||
// cumuler les versements d'une personne
|
||||
$totalPersonnes = cumulerVersements($versementsSelectionnes);
|
||||
print_r($totalPersonnes);
|
||||
// print_r($totalPersonnes);
|
||||
|
||||
// générer les reçus
|
||||
$nomAsso = Services::getNomAsso();
|
||||
|
@ -26,7 +26,7 @@ $adresseAsso = Services::getAdresseAsso();
|
|||
// TODO
|
||||
// - mémoriser numéro reçu pour pouvoir générer des reçus en plusieurs sessions indépendantes
|
||||
// - paramétrer l'année fiscale
|
||||
$num_recu = 1;
|
||||
// $num_recu = 1;
|
||||
$annee_recu = "2021";
|
||||
// récupérer le logo CERFA (bôf) et la signature
|
||||
// TODO : paramétrer le répertoire des images
|
||||
|
@ -51,36 +51,40 @@ foreach ($totalPersonnes as $idPersonne => $personne) {
|
|||
}
|
||||
$pdf->imprimer_recu(
|
||||
$annee_recu,
|
||||
$num_recu,
|
||||
$personne->id, //$num_recu,
|
||||
$personne->nomPrenom,
|
||||
$lesMontants,
|
||||
$personne->adresse,
|
||||
$personne->ville,
|
||||
$personne->codePostal
|
||||
);
|
||||
++$num_recu;
|
||||
//++$num_recu;
|
||||
// fabriquer le nom du fichier PDF
|
||||
$nom = str_replace(' ', '_', $personne->nomPrenom);
|
||||
$nom = str_replace("'", "", $nom);
|
||||
// $nomFichier = Utils::getPDFDirectory() . "/" . 'recu_' . $annee_recu . '_' . $nom . '.pdf';
|
||||
$nomFichier = PLUGIN_ROOT . '/pdf/recu_' . $annee_recu . '_' . $nom . '.pdf';
|
||||
|
||||
$pdf->Output('F', $nomFichier);
|
||||
// ajouter le nom du fichier à la liste pour mettre dans une archive
|
||||
$listeFichiers[] = $nomFichier;
|
||||
}
|
||||
|
||||
// faire une archive zip
|
||||
/*
|
||||
$fichierZip = Utils::makeArchive($listeFichiers, $annee_recu, Utils::getZipDirectory());
|
||||
$_SESSION['zipfile'] = $fichierZip;
|
||||
$fichierZip = Services::makeArchive(
|
||||
$listeFichiers,
|
||||
$annee_recu,
|
||||
PLUGIN_ROOT . "/zip"
|
||||
);
|
||||
// la copier dans le cache ?
|
||||
|
||||
// afficher la page de téléchargement
|
||||
$action = 'telecharger_archive';
|
||||
require('vue/vueTelechargerArchive.php');
|
||||
*/
|
||||
// afficher la page de téléchargement => n'est plus utile
|
||||
// le téléchargement démarre dès la fin de la création du fichier zip
|
||||
//$_SESSION['zipfile'] = $fichierZip;
|
||||
//$tpl->display(PLUGIN_ROOT . '/templates/telechargement.tpl');
|
||||
|
||||
/**
|
||||
* Cumuler les versements de chaque pesonne par tarif et activité
|
||||
* Cumuler les versements de chaque personne par tarif et activité
|
||||
* @param tableau des versements
|
||||
* @return tableau des versements cumulés
|
||||
*/
|
||||
|
@ -132,4 +136,4 @@ function cumulerVersements($versements)
|
|||
);
|
||||
|
||||
return $totalPersonnes;
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue