getConfig('signature')) ? \Garradin\Files\Files::get($plugin->getConfig('signature'))->fullpath() : ""; $objetAsso = $plugin->getConfig('objet_asso'); $nomResponsable = $plugin->getConfig('nom_responsable'); $fonctionResponsable = $plugin->getConfig('fonction_responsable'); // articles du CGI $articlesCGI = array(); foreach ($plugin->getConfig('articlesCGI') as $article) { if ($article->valeur == 1) { $articlesCGI[] = $article->titre; } } /** * insérer une feuille de style */ $tpl->register_function('ajouter_style', function() { $out = ' @page { size: A4 portrait; margin: 1cm; } body { font-family: Serif; font-size: 11pt; background-color: white; } #logoCerfa { line-height: 40px; width: 100px; background-color: rgb(0, 0, 128); border-radius : 50%; text-align : center; margin : 2mm; } .centre { display : inline-block; vertical-align : middle; line-height: 20px; /* moitié de la hauteur du logo */ color : white; font-weight: bold; font-size : 14pt; } #numCerfa { width: 100px; /* largeur du logo */ text-align: center; } #titre { margin : 0 4cm 0 4cm; text-align : center; font-size : 14pt; font-weight: bold; } #articles { margin : 0 4cm 0 4cm; /* idem titre */ text-align : center; } #numRecu { text-align : right; } #final { height : 5cm; } .rubrique { background-color : rgb(200, 200, 250); padding : 2mm; } .cartouche { margin : 2mm auto; padding : 0 2mm; border : 1px solid rgb(0, 0, 128); border-radius : 8px; } .titre, .important { font-weight:bold; } #signature { display: block; max-width : 7cm; max-height : 2cm; margin: 0 auto; padding-bottom : 2mm; } #fonction, #nom { text-align : center; } '; return $out; }); /** * imprimer un montant et le taux de réduction associé * @param montant * @param taux */ $tpl->register_function('imprimer_montant', function ($params) { $montant = $params['montant']; $taux = $params['taux']; $valeur = number_format($montant, 2, ',', ''); $libelle = Utils::getLigneReduction($taux); $out = sprintf('
Le bénéficiaire certifie sur l’honneur que les dons et versements qu’il reçoit ouvrent droit à la réduction d'impôt prévue"; if ($nbArticles == 1) { $out .= sprintf(' à l’article %s du code général des impôts
', articlesCGI[0]); } else if ($nbArticles > 1) { $out .= " aux articles "; for ($i = 0; $i < $nbArticles; ++$i) { $out .= sprintf("%s", $articlesCGI[$i]); if ($i < $nbArticles - 2) { $out .= ", "; } else if ($i == $nbArticles - 2) { $out .= " et "; } } $out .= " du code général des impôts."; } return $out; }); $listeFichiers = array(); // fichiers pdf générés foreach ($versementsSelectionnes as $ligne) { // extraire les montants des versements $lesMontants[$_SESSION['taux_reduction']] = $ligne->versement/100; $personne = $_SESSION['membresDonateurs'][$ligne->idUser]; $tpl->assign(compact('nomAsso', 'adresseAsso', 'objetAsso', 'nomResponsable', 'fonctionResponsable', 'articlesCGI', 'signature' )); $tpl->assign('anneeRecu', $_SESSION['annee_recu']); $tpl->assign('numero', $personne->id); $tpl->assign('nom', $personne->nomPrenom); $tpl->assign('lesMontants', $lesMontants); $tpl->assign('adresse', $personne->adresse); $tpl->assign('codePostal', $personne->codePostal); $tpl->assign('ville', $personne->ville); // $tpl->assign('styleSheet', 'pdf.css'); // $tpl->assign('styleSheet', \Garradin\PLUGIN_URL . 'pdf.css'); // $tpl->assign('plugin_css', ['pdf.css']); ob_start(); $tpl->display(PLUGIN_ROOT . '/templates/recuHTML.tpl'); $html = ob_get_clean(); // fabriquer le fichier PDF $nomPDF = \Garradin\Utils::filePDF($html); // changer le nom du fichier $nom = str_replace(' ', '_', $personne->nomPrenom); $nom = str_replace("'", "", $nom); $nomFichier = "recu_" . $_SESSION['annee_recu'] . "_" . $nom . ".pdf"; rename($nomPDF, $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" );