diff --git a/lib/HtmlPDF.php b/lib/HtmlPDF.php new file mode 100644 index 0000000..ffdf87c --- /dev/null +++ b/lib/HtmlPDF.php @@ -0,0 +1,217 @@ +nomAsso = $nomAsso; + $this->adresseAsso = $adresseAsso; + $this->objetAsso = $objetAsso; + $this->logoCerfa = $logo; + $this->signature = $signature; + $this->html = $this->debut(); + } + + function get() + { + return $this->html; + } + + // Header + function Header() + { + // Logo + $this->Image($this->logoCerfa, 10, 6, 30); + + // document title + $this->SetTextColor(0, 0, 0); + $this->SetFont('DejaVu','B',12); + $titre = "Reçu au titre des dons à certains organismes d'intérêt général"; + $this->SetXY(50, 10); + // Titre + $this->MultiCell(100, + 6, + $titre, + 0, + 'C'); + + // numéro de Cerfa + $cerfa = "N° 11580*3"; + $this->SetFont('DejaVu', 'B', 10); + $this->SetXY(10, 25); + $this->Cell(100, 0, $cerfa); + + // Articles + $this->SetFont('DejaVu', '', 9); + $this->SetXY(50, 25); + $this->Cell(100, 0, 'Article 200, 238 bis et 885-0 V bis A du code général des impôts'); + } + + // imprimer le reçu + function imprimer_recu($annee_recu, + $numero, + $nom, + $lesMontants, + $adresse, + $code_postal, + $ville) + { + // Numéro de reçu + $this->html .= " +
{$nom}
+{$adresse}
+{$code_postal} {$ville}
+Le bénéficiaire reconnaît avoir reçu au titre des dons et versements ouvrant droit à réduction d'impôt :
+Date des versements : année {$annee_recu}
+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 à l’article 200 du CGI
+Forme du don : Autre
+Nature du don : Numéraire
+Mode de versement : chèque et/ou virement
+Rennes le {$date}
+Association « {$this->nomAsso} »
+{$this->adresseAsso}
+Objet : {$this->objetAsso}
+FDD; + return ob_get_clean(); + } + + protected function fin() + { + $this->html .= +' + + +'; + } +} // class RecusPDF diff --git a/www/admin/generer_activites.php b/www/admin/generer_activites.php index 5249958..72c5b03 100644 --- a/www/admin/generer_activites.php +++ b/www/admin/generer_activites.php @@ -2,7 +2,7 @@ namespace Garradin; -use Garradin\Plugin\RecusFiscaux\RecusPDF; +use Garradin\Plugin\RecusFiscaux\HtmlPDF; use Garradin\Plugin\RecusFiscaux\Utils; use Garradin\Plugin\RecusFiscaux\Personne; @@ -31,11 +31,10 @@ $listeFichiers = []; foreach ($totalPersonnes as $idPersonne => $personne) { // générer un fichier par reçu - $pdf = new RecusPDF( - 'DejaVu', - 'SerifCondensed', + $pdf = new HtmlPDF( $nomAsso, $adresseAsso, + $plugin->getConfig('objet_asso'), $logoCERFA, $signature ); @@ -59,13 +58,8 @@ foreach ($totalPersonnes as $idPersonne => $personne) { $personne->codePostal, $personne->ville ); - // 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_' . $_SESSION['annee_recu'] . '_' . $nom . '.pdf'; - - $pdf->Output('F', $nomFichier); + // fabriquer le fichier PDF + $nomFichier = \Garradin\Utils::filePDF($pdf->get()); // ajouter le nom du fichier à la liste pour mettre dans une archive $listeFichiers[] = $nomFichier; } diff --git a/www/admin/generer_personnes.php b/www/admin/generer_personnes.php index 696410d..424ab08 100644 --- a/www/admin/generer_personnes.php +++ b/www/admin/generer_personnes.php @@ -2,7 +2,7 @@ namespace Garradin; -use Garradin\Plugin\RecusFiscaux\RecusPDF; +use Garradin\Plugin\RecusFiscaux\HtmlPDF; use Garradin\Plugin\RecusFiscaux\Utils; use Garradin\Plugin\RecusFiscaux\Personne; @@ -23,16 +23,17 @@ $logoCERFA = PLUGIN_ROOT . "/data/logoCerfa.png"; $signature = PLUGIN_ROOT . "/data/default_signature.png"; $listeFichiers = []; -foreach ($versementsSelectionnes as $ligne) { +foreach ($versementsSelectionnes as $ligne) +{ // générer un fichier par reçu - $pdf = new RecusPDF( - 'DejaVu', - 'SerifCondensed', + $pdf = new HtmlPDF( $nomAsso, $adresseAsso, + $plugin->getConfig('objet_asso'), $logoCERFA, $signature ); + // extraire les montants des versements $lesMontants[$_SESSION['taux_reduction']] = $ligne->versement/100; $pdf->imprimer_recu( @@ -44,19 +45,16 @@ foreach ($versementsSelectionnes as $ligne) { $_SESSION['membresDonateurs'][$ligne->idUser]->codePostal, $_SESSION['membresDonateurs'][$ligne->idUser]->ville ); - // fabriquer le nom du fichier PDF - $nom = str_replace(' ', '_', $_SESSION['membresDonateurs'][$ligne->idUser]->nomPrenom); - $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); + // fabriquer le fichier PDF + $nomFichier = \Garradin\Utils::filePDF($pdf->get()); // 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" ); +