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;
|
namespace Garradin\Plugin\RecusFiscaux;
|
||||||
|
|
||||||
use Garradin\DB;
|
use Garradin\DB;
|
||||||
|
use KD2\ZipWriter;
|
||||||
|
|
||||||
class Services
|
class Services
|
||||||
{
|
{
|
||||||
@ -35,7 +36,7 @@ class Services
|
|||||||
printf(\"%.2f\", services_fees.amount/100) as montantTarif
|
printf(\"%.2f\", services_fees.amount/100) as montantTarif
|
||||||
FROM services_fees
|
FROM services_fees
|
||||||
WHERE services_fees.id_service = ?",
|
WHERE services_fees.id_service = ?",
|
||||||
$activite
|
$activite
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -177,4 +178,25 @@ class Services
|
|||||||
WHERE key = 'adresse_asso'"
|
WHERE key = 'adresse_asso'"
|
||||||
)[0]->value;
|
)[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
|
// cumuler les versements d'une personne
|
||||||
$totalPersonnes = cumulerVersements($versementsSelectionnes);
|
$totalPersonnes = cumulerVersements($versementsSelectionnes);
|
||||||
print_r($totalPersonnes);
|
// print_r($totalPersonnes);
|
||||||
|
|
||||||
// générer les reçus
|
// générer les reçus
|
||||||
$nomAsso = Services::getNomAsso();
|
$nomAsso = Services::getNomAsso();
|
||||||
@ -26,7 +26,7 @@ $adresseAsso = Services::getAdresseAsso();
|
|||||||
// TODO
|
// TODO
|
||||||
// - mémoriser numéro reçu pour pouvoir générer des reçus en plusieurs sessions indépendantes
|
// - 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
|
// - paramétrer l'année fiscale
|
||||||
$num_recu = 1;
|
// $num_recu = 1;
|
||||||
$annee_recu = "2021";
|
$annee_recu = "2021";
|
||||||
// récupérer le logo CERFA (bôf) et la signature
|
// récupérer le logo CERFA (bôf) et la signature
|
||||||
// TODO : paramétrer le répertoire des images
|
// TODO : paramétrer le répertoire des images
|
||||||
@ -51,36 +51,40 @@ foreach ($totalPersonnes as $idPersonne => $personne) {
|
|||||||
}
|
}
|
||||||
$pdf->imprimer_recu(
|
$pdf->imprimer_recu(
|
||||||
$annee_recu,
|
$annee_recu,
|
||||||
$num_recu,
|
$personne->id, //$num_recu,
|
||||||
$personne->nomPrenom,
|
$personne->nomPrenom,
|
||||||
$lesMontants,
|
$lesMontants,
|
||||||
$personne->adresse,
|
$personne->adresse,
|
||||||
$personne->ville,
|
$personne->ville,
|
||||||
$personne->codePostal
|
$personne->codePostal
|
||||||
);
|
);
|
||||||
++$num_recu;
|
//++$num_recu;
|
||||||
// fabriquer le nom du fichier PDF
|
// fabriquer le nom du fichier PDF
|
||||||
$nom = str_replace(' ', '_', $personne->nomPrenom);
|
$nom = str_replace(' ', '_', $personne->nomPrenom);
|
||||||
$nom = str_replace("'", "", $nom);
|
$nom = str_replace("'", "", $nom);
|
||||||
// $nomFichier = Utils::getPDFDirectory() . "/" . 'recu_' . $annee_recu . '_' . $nom . '.pdf';
|
// $nomFichier = Utils::getPDFDirectory() . "/" . 'recu_' . $annee_recu . '_' . $nom . '.pdf';
|
||||||
$nomFichier = PLUGIN_ROOT . '/pdf/recu_' . $annee_recu . '_' . $nom . '.pdf';
|
$nomFichier = PLUGIN_ROOT . '/pdf/recu_' . $annee_recu . '_' . $nom . '.pdf';
|
||||||
|
|
||||||
$pdf->Output('F', $nomFichier);
|
$pdf->Output('F', $nomFichier);
|
||||||
// ajouter le nom du fichier à la liste pour mettre dans une archive
|
// ajouter le nom du fichier à la liste pour mettre dans une archive
|
||||||
$listeFichiers[] = $nomFichier;
|
$listeFichiers[] = $nomFichier;
|
||||||
}
|
}
|
||||||
|
|
||||||
// faire une archive zip
|
// faire une archive zip
|
||||||
/*
|
$fichierZip = Services::makeArchive(
|
||||||
$fichierZip = Utils::makeArchive($listeFichiers, $annee_recu, Utils::getZipDirectory());
|
$listeFichiers,
|
||||||
$_SESSION['zipfile'] = $fichierZip;
|
$annee_recu,
|
||||||
|
PLUGIN_ROOT . "/zip"
|
||||||
|
);
|
||||||
|
// la copier dans le cache ?
|
||||||
|
|
||||||
// afficher la page de téléchargement
|
// afficher la page de téléchargement => n'est plus utile
|
||||||
$action = 'telecharger_archive';
|
// le téléchargement démarre dès la fin de la création du fichier zip
|
||||||
require('vue/vueTelechargerArchive.php');
|
//$_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
|
* @param tableau des versements
|
||||||
* @return tableau des versements cumulés
|
* @return tableau des versements cumulés
|
||||||
*/
|
*/
|
||||||
|
Loading…
Reference in New Issue
Block a user