recusfiscaux/lib/RecusHTML.php
engel 5d439d25af amélioration génération pdf depuis html
FossilOrigin-Name: 996c3a9ad1c56e94c83b77c74aa804ccc3ff2eb7e0f4ea90f885882a801a6a32
2022-02-22 09:47:54 +00:00

154 lines
4.5 KiB
PHP
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?php
namespace Garradin\Plugin\RecusFiscaux;
// génération du formulaire
class RecusHTML
{
private $nomAsso;
private $adresseAsso;
private $objetAsso;
private $signature;
/**
* initialize global data
*/
function __construct($nomAsso,
$adresseAsso,
$objetAsso,
$signature)
{
$this->nomAsso = $nomAsso;
$this->adresseAsso = $adresseAsso;
$this->objetAsso = $objetAsso;
$this->signature = $signature;
$this->html = $this->entete();
}
function get()
{
//echo $this->html;
return $this->html;
}
protected function entete()
{
$styleSheet = \Garradin\PLUGIN_ROOT . "/lib/pdf.css";
ob_start();
echo <<<FDD
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>{$this->nomAsso}</title>
<link rel="stylesheet" type="text/css" href="{$styleSheet}" />
</head>
<body>
<div class="cartouche" id="entete">
<div id="logoCerfa">
<span class="centre">Cerfa</span>
</div>
<div id="numCerfa">
<span>N° 11580*4</span>
</div>
<p id="titre">Reçu au titre des dons à certains organismes d'intérêt général</p>
<p id="articles">Article 200, 238 bis et 885-0 V bis A du code général des impôts</p>
FDD;
return ob_get_clean();
}
// imprimer le reçu
function imprimer_recu($annee_recu,
$numero,
$nom,
$lesMontants,
$adresse,
$code_postal,
$ville)
{
ob_start();
echo <<<FDD
<div id="numRecu">
<p class="important">Reçu numéro {$annee_recu}/{$numero}</p>
</div>
</div>
<div class="cartouche" id="beneficiaire">
<h3 class="rubrique">Bénéficiaire des versements</h3>
<p class="important">Association « {$this->nomAsso} »</p>
<p class="important" >{$this->adresseAsso}</p>
<p><span class="titre">Objet : </span><span class="libelle">{$this->objetAsso}</span></p>
</div>
<div class="cartouche" id="donateur">
<h3 class="rubrique">Donateur</h3>
<p>{$nom}</p>
<p>{$adresse}</p>
<p>{$code_postal} {$ville}</p>
</div>
<div class="cartouche" id="versements">
<p>Le bénéficiaire reconnaît avoir reçu au titre des dons et versements ouvrant droit à réduction d'impôt :</p>
<ul>
FDD;
foreach ($lesMontants as $taux => $montant)
{
$this->imprimer_montant("la somme de ",
$montant,
Utils::getLigneReduction($taux));
}
echo "</ul>\n";
$this->imprimer_description("Date des versements :",
"année {$annee_recu}");
echo <<<FDD
<p>Le bénéficiaire certifie sur lhonneur que les dons et versements quil reçoit ouvrent droit à la réduction d'impôt prévue à larticle 200 du CGI</p>
FDD;
$this->imprimer_description("Forme du don : ",
"Autre");
$this->imprimer_description("Nature du don : ",
"Numéraire");
$this->imprimer_description("Mode de versement : ",
"chèque et/ou virement");
echo "</div>\n";
// cartouche final
$date = date("j/m/Y");
echo <<<FDD
<div class="cartouche" id="final">
<p>Rennes le {$date}</p>
<img id="signature" src="$this->signature" />
<p id="fonction">Président</p>
</div>
</body>
</html>
FDD;
$this->html .= ob_get_clean();
}
// imprimer un libellé précédé de son titre en gras
function imprimer_description($titre, $libelle)
{
echo <<<FDD
<p><span class="titre">{$titre}</span><span class="libelle"> {$libelle}</span></p>
FDD;
}
// imprimer le montant de la réduction et un libellé
function imprimer_montant($texte, $montant, $libelle = "")
{
$valeur = number_format($montant, 2, ',', '');
echo "<li>{$texte} {$valeur} euros";
if ($libelle != "") {
echo " : {$libelle}";
}
echo "</li>\n";
}
}