comlpément génération reçus par personne

FossilOrigin-Name: 22606d9ca4b6aca7bcaac91710f8af0e4a75f47309743ddd1fccdc63f35fc705
This commit is contained in:
engel 2022-02-03 10:05:01 +00:00
parent 59964d0ed3
commit a988c131aa
1 changed files with 66 additions and 0 deletions

View File

@ -0,0 +1,66 @@
<?php
namespace Garradin;
use Garradin\Plugin\RecusFiscaux\RecusPDF;
use Garradin\Plugin\RecusFiscaux\Utils;
use Garradin\Plugin\RecusFiscaux\Personne;
// récupérer les lignes sélectionnées
$lesLignes = f('selected');
// filtrer les versements sélectionnés
$versementsSelectionnes = array();
foreach ($lesLignes as $indice => $ligne) {
$versementsSelectionnes[] = $_SESSION['lesVersementsTotaux'][$ligne];
}
error_log("versements sélectionnés " . print_r($versementsSelectionnes, true));
// générer les reçus
$nomAsso = Utils::getNomAsso();
$adresseAsso = Utils::getAdresseAsso();
// TODO
// - associer le taux de réduction à chaque montant total
$logoCERFA = PLUGIN_ROOT . "/data/logoCerfa.png";
$signature = PLUGIN_ROOT . "/data/default_signature.png";
$listeFichiers = [];
foreach ($versementsSelectionnes as $idPersonne => $personne) {
// générer un fichier par reçu
$pdf = new RecusPDF(
'DejaVu',
'SerifCondensed',
$nomAsso,
$adresseAsso,
$logoCERFA,
$signature
);
// extraire les montants des versements
$pdf->imprimer_recu(
$_SESSION['annee_recu'],
$personne->idUser,
$personne->nom,
array($personne->montant/100),
$personne->adresse,
$personne->ville,
$personne->codePostal
);
// fabriquer le nom du fichier PDF
$nom = str_replace(' ', '_', $personne->nom);
$nom = str_replace("'", "", $nom);
// $nomFichier = Utils::getPDFDirectory() . "/" . 'recu_' . $annee_recu . '_' . $nom . '.pdf';
$nomFichier = PLUGIN_ROOT . '/pdf/recu_' . $_SESSION['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,
$_SESSION['annee_recu'],
PLUGIN_ROOT . "/zip"
);