Compare commits
42 Commits
ece8666881
...
de0ed31ccb
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
de0ed31ccb | ||
|
|
39f7cb6247 | ||
|
|
fd2754c9eb | ||
|
|
69eea552fb | ||
|
|
4db0935d71 | ||
|
|
9f8c3dc8ec | ||
|
|
f2f737d6f8 | ||
|
|
024df6bcd8 | ||
|
|
2b867f27ea | ||
|
|
416f4b030a | ||
|
|
2d3196ffe4 | ||
|
|
fc37e8583d | ||
|
|
db6839451b | ||
|
|
625e81ac30 | ||
|
|
fbce8789c1 | ||
|
|
5396c6ad1b | ||
|
|
01f9176d32 | ||
|
|
f5d1426d12 | ||
|
|
8f13e48206 | ||
|
|
459fda7106 | ||
|
|
45f0f81c03 | ||
|
|
1c4a972222 | ||
|
|
d065671291 | ||
|
|
5512c23004 | ||
|
|
3ea9d4ed52 | ||
|
|
602466d9a9 | ||
|
|
b1fabe9804 | ||
|
|
2bbfe390eb | ||
|
|
12a751c1c3 | ||
|
|
0276655040 | ||
|
|
5ab91d4be7 | ||
|
|
91c67452c2 | ||
|
|
31633b04d9 | ||
|
|
dc3da8d425 | ||
|
|
ea119f5c73 | ||
|
|
4bd86ae762 | ||
|
|
2c1e771472 | ||
|
|
c07c4aaf88 | ||
|
|
95be6e4827 | ||
|
|
e7c51a4d73 | ||
|
|
f509f5e988 | ||
|
|
f8ff4c6b3e |
@ -8,7 +8,7 @@ abstract class BddConstant
|
||||
const DEFAULT_TABLE_PREFIX = "*PREFIX*";
|
||||
const DEFAULT_CLIENT_GROUP_NAME = "Nom du groupe";
|
||||
const DEFAULT_ADMIN_ID_NEXTCLOUD = 'admin';
|
||||
const DEFAULT_ADMIN_APP_ID_NEXTCLOUD = "Johann";
|
||||
const DEFAULT_ADMIN_APP_ID_NEXTCLOUD = "Vanessa";
|
||||
|
||||
const ISLEAVEPROPERTYONVCALENDAR = "ISLEAVE";
|
||||
|
||||
|
||||
@ -603,7 +603,7 @@ class PageController extends Controller {
|
||||
$pdf->SetMargins(0,0,0);
|
||||
|
||||
// logo : 80 de largeur et 55 de hauteur
|
||||
$pdf->Image($this->src_path."logo.png", 10, 10, 75, 25);
|
||||
$pdf->Image($this->src_path."logo.png", 4, 2, 50, 35);
|
||||
// adresse du facture
|
||||
$pdf->SetFont('Arial','B',11); $_x = 122 ; $_y = 40;
|
||||
$pdf->SetXY( $_x, $_y ); $pdf->Cell( 100, 8, utf8_decode('Groupe COGF'), 0, 0, ''); $_y += 8;
|
||||
@ -658,7 +658,7 @@ class PageController extends Controller {
|
||||
$pdf->SetAutoPagebreak(False);
|
||||
$pdf->SetMargins(0,0,0);
|
||||
|
||||
$pdf->Image($this->src_path."logo.png", 10, 10, 75, 25);
|
||||
$pdf->Image($this->src_path."logo.png", 4, 2, 50, 35);
|
||||
|
||||
// n° page en haute à droite
|
||||
if($nb_page>1){
|
||||
@ -865,7 +865,7 @@ class PageController extends Controller {
|
||||
$pdf->SetMargins(0,0,0);
|
||||
|
||||
// logo : 80 de largeur et 55 de hauteur
|
||||
$pdf->Image($this->src_path."logo.png", 10, 10, 75, 25);
|
||||
$pdf->Image($this->src_path."logo.png", 4, 2, 50, 35);
|
||||
// adresse du facture
|
||||
$pdf->SetFont('ComicSans','B',11); $_x = 122 ; $_y = 40;
|
||||
$pdf->SetXY( $_x, $_y ); $pdf->Cell( 100, 8, utf8_decode($current_client), 0, 0, ''); $_y += 8;
|
||||
@ -920,7 +920,7 @@ class PageController extends Controller {
|
||||
$pdf->SetAutoPagebreak(False);
|
||||
$pdf->SetMargins(0,0,0);
|
||||
|
||||
$pdf->Image($this->src_path."logo.png", 10, 10, 75, 25);
|
||||
$pdf->Image($this->src_path."logo.png", 4, 2, 50, 35);
|
||||
|
||||
// n° page en haute à droite
|
||||
if($nb_page>1){
|
||||
@ -1616,9 +1616,7 @@ class PageController extends Controller {
|
||||
$message->attach($content);
|
||||
$message->setSubject($subject);
|
||||
$body_text = $addName ? ($body." de ".$devis['defunt_nom'] ) : $body;
|
||||
|
||||
$signature = $this->mailerService->getFooterContent();
|
||||
|
||||
$signature = $this->mailerService->getFooterContent($this->getUserNameForEmailSignature());
|
||||
$message->setHtmlBody(
|
||||
"<p>Bonjour.</p>".
|
||||
"<p>$body_text</p>".
|
||||
@ -1636,13 +1634,10 @@ class PageController extends Controller {
|
||||
// }
|
||||
}
|
||||
}
|
||||
public function addSignatureEmailLogo (){
|
||||
$signatureImage = $this->getSignature();
|
||||
if (!$signatureImage) {
|
||||
return "";
|
||||
}
|
||||
//Add html img in base 64
|
||||
return "<img style= 'width: 250px;height: 150;' src='data:image/jpeg;base64,".base64_encode($signatureImage)."'>" ;
|
||||
public function getUserNameForEmailSignature (){
|
||||
$configs = json_decode($this->myDb->getConfiguration(self::DEFAULT_NEXTCLOUD_ADMIN));
|
||||
$currentConfig = $configs[0];
|
||||
return $currentConfig->nom . " " . $currentConfig->prenom;
|
||||
}
|
||||
|
||||
/**
|
||||
@ -2186,7 +2181,7 @@ class PageController extends Controller {
|
||||
// logo : 80 de largeur et 55 de hauteur
|
||||
$logo = $this->getLogo();
|
||||
if($logo != 'nothing'){
|
||||
$pdf->Image($this->defaultImagePath."logo.png", 10, 10, 75, 25);
|
||||
$pdf->Image($this->defaultImagePath."logo.png", 4, 2, 50, 35);
|
||||
}
|
||||
$pdf->setXY(15, 15); $pdf->SetFont('ComicSans', '', 10); $pdf->MultiCell(0, 5, utf8_decode(html_entity_decode("N : ".$numFacture)), '', 'R');
|
||||
|
||||
@ -2474,7 +2469,7 @@ class PageController extends Controller {
|
||||
// logo : 80 de largeur et 55 de hauteur
|
||||
$logo = $this->getLogo();
|
||||
if($logo != 'nothing'){
|
||||
$pdf->Image($this->defaultImagePath."logo.png", 10, 10, 75, 25);
|
||||
$pdf->Image($this->defaultImagePath."logo.png", 4, 2, 50, 35);
|
||||
}
|
||||
$pdf->SetY(45); $pdf->SetFont('ComicSans', 'B', 15); $pdf->Cell(0, 10, utf8_decode(html_entity_decode("ATTESTATION BIJOU(X)")), 0, 0, 'C');
|
||||
|
||||
|
||||
@ -42,7 +42,7 @@ class CareCertificatePdfHandler extends FPDF {
|
||||
function Header()
|
||||
{
|
||||
if($this->logo != "nothing"){
|
||||
$this->Image($this->imagePath."logo.png", 10, 10, 75, 25);
|
||||
$this->Image($this->imagePath."logo.png", 4, 2, 50, 35);
|
||||
}
|
||||
else{
|
||||
$this->Cell(55,30,'');
|
||||
|
||||
@ -32,7 +32,8 @@ use OCA\Gestion\Helpers\DateHelpers;
|
||||
use OCA\Gestion\Helpers\FileExportHelpers;
|
||||
use OCA\Gestion\Helpers\PriceHelpers;
|
||||
|
||||
class PacemakerCertificatePdfHandler extends FPDF {
|
||||
class PacemakerCertificatePdfHandler extends FPDF
|
||||
{
|
||||
|
||||
private $devisOfDefunt = [];
|
||||
private $logo = null;
|
||||
@ -41,11 +42,10 @@ class PacemakerCertificatePdfHandler extends FPDF {
|
||||
|
||||
function Header()
|
||||
{
|
||||
if($this->logo != "nothing"){
|
||||
$this->Image($this->imagePath."logo.png", 10, 10, 75, 25);
|
||||
}
|
||||
else{
|
||||
$this->Cell(55,30,'');
|
||||
if ($this->logo != "nothing") {
|
||||
$this->Image($this->imagePath . "logo.png", 4, 2, 50, 35);
|
||||
} else {
|
||||
$this->Cell(55, 30, '');
|
||||
}
|
||||
}
|
||||
function Footer()
|
||||
@ -53,108 +53,120 @@ class PacemakerCertificatePdfHandler extends FPDF {
|
||||
$this->SetY(-18);
|
||||
$this->SetFont('ComicSans', '', 10);
|
||||
$this->MultiCell(0, 5, utf8_decode(html_entity_decode($this->devisOfDefunt['configuration']->legal_one)), 0, 'C');
|
||||
$this->MultiCell(0, 5, utf8_decode(html_entity_decode($this->devisOfDefunt['configuration']->adresse)), 0,'C');
|
||||
$this->MultiCell(0, 5, utf8_decode(html_entity_decode($this->devisOfDefunt['configuration']->adresse)), 0, 'C');
|
||||
}
|
||||
|
||||
public function SetPacemakerCertificateData(array $devisOfDefunt,$logo = null,$signatureImageExist = false){
|
||||
public function SetPacemakerCertificateData(array $devisOfDefunt, $logo = null, $signatureImageExist = false)
|
||||
{
|
||||
$this->devisOfDefunt = $devisOfDefunt;
|
||||
$this->logo = $logo;
|
||||
$this->signatureImageExist = $signatureImageExist;
|
||||
}
|
||||
|
||||
public function SetPacemakerCertificate(){
|
||||
public function SetPacemakerCertificate()
|
||||
{
|
||||
$this->AddPage();
|
||||
$this->SetMargins(left:20,top:0,right:20);
|
||||
$this->SetMargins(left: 20, top: 0, right: 20);
|
||||
$this->SetPacemakerCertificateTitle();
|
||||
$this->SetPacemakerCertificateContent();
|
||||
$this->SetSigning();
|
||||
}
|
||||
|
||||
private function SetSigning(){
|
||||
$this->SetXY(140,$this->GetY() + 15);
|
||||
$this->Cell(0,10,'Cachet et signature');
|
||||
private function SetSigning()
|
||||
{
|
||||
$this->SetXY(140, $this->GetY() + 15);
|
||||
$this->Cell(0, 10, 'Cachet et signature');
|
||||
|
||||
if($this->signatureImageExist){
|
||||
$this->Image($this->imagePath."sign.png", 135, $this->GetY() + 12, 60, 40);
|
||||
if ($this->signatureImageExist) {
|
||||
$this->Image($this->imagePath . "sign.png", 135, $this->GetY() + 12, 60, 40);
|
||||
}
|
||||
}
|
||||
|
||||
private function SetPacemakerCertificateContent(){
|
||||
private function SetPacemakerCertificateContent()
|
||||
{
|
||||
$this->SetFont('ComicSans', '', 14);
|
||||
$this->MultiCell(0,7,FileExportHelpers::FormatTextForExport('La Société '. $this->devisOfDefunt['configuration']->entreprise. ' habilitée sous le numéro ' . $this->devisOfDefunt['thanato_reference'] . ', certifie par la présente que : '));
|
||||
$this->MultiCell(0, 7, FileExportHelpers::FormatTextForExport('La Société ' . $this->devisOfDefunt['configuration']->entreprise . ' habilitée sous le numéro ' . $this->devisOfDefunt['thanato_reference'] . ', certifie par la présente que : '));
|
||||
$this->SetFont('ComicSans', 'B', 14);
|
||||
$this->Cell(0,12, 'Mr/Mme ' . FileExportHelpers::FormatTextForExport($this->devisOfDefunt['thanato_nom'] . ' ' . $this->devisOfDefunt['thanato_prenom']),0,1);
|
||||
$this->Cell(0, 12, 'Mr/Mme ' . FileExportHelpers::FormatTextForExport($this->devisOfDefunt['thanato_nom'] . ' ' . $this->devisOfDefunt['thanato_prenom']), 0, 1);
|
||||
$this->SetFont('ComicSans', '', 14);
|
||||
$this->MultiCell(0,7, FileExportHelpers::FormatTextForExport('Employé(e) au sein de notre société et titulaire du diplôme national de Thanatopracteur, a retiré ce jour, la prothèse fonctionnant à pile implantée sur le corps du défunt :'));
|
||||
$this->MultiCell(0, 7, FileExportHelpers::FormatTextForExport('Employé(e) au sein de notre société et titulaire du diplôme national de Thanatopracteur, a retiré ce jour, la prothèse fonctionnant à pile implantée sur le corps du défunt :'));
|
||||
$this->SetFont('ComicSans', 'B', 14);
|
||||
$this->Cell(0,12, FileExportHelpers::FormatTextForExport($this->devisOfDefunt['defunt_nom']),0,1);
|
||||
$this->Cell(0, 12, FileExportHelpers::FormatTextForExport($this->devisOfDefunt['defunt_nom']), 0, 1);
|
||||
$this->SetFont('ComicSans', '', 14);
|
||||
$this->Cell(0,12, FileExportHelpers::FormatTextForExport("Qui reposait à l'adresse suivante") . ' : ',0,1);
|
||||
$this->Cell(0, 12, FileExportHelpers::FormatTextForExport("Qui reposait à l'adresse suivante") . ' : ', 0, 1);
|
||||
$this->SetFont('ComicSans', 'B', 14);
|
||||
$this->MultiCell(0,6, FileExportHelpers::FormatTextForExport($this->devisOfDefunt['location_of_devis']));
|
||||
$this->MultiCell(0, 6, FileExportHelpers::FormatTextForExport($this->devisOfDefunt['location_of_devis']));
|
||||
$this->Ln(6);
|
||||
$this->SetFont('ComicSans', '', 14);
|
||||
$this->Cell(0,6,
|
||||
FileExportHelpers::FormatTextForExport("Numéro de série : ").
|
||||
FileExportHelpers::FormatTextForExport($this->devisOfDefunt['defunt_reference_pacemaker']),0,1);
|
||||
$this->Cell(0,6,
|
||||
FileExportHelpers::FormatTextForExport("Marque du produit : ").
|
||||
FileExportHelpers::FormatTextForExport($this->devisOfDefunt['defunt_product_brand']),0,1);
|
||||
$this->Cell(0,12, FileExportHelpers::FormatTextForExport("La présente attestation est établie pour faire valoir ce que de droit."),0,5);
|
||||
$this->Cell(
|
||||
0,
|
||||
6,
|
||||
FileExportHelpers::FormatTextForExport("Numéro de série : ") .
|
||||
FileExportHelpers::FormatTextForExport($this->devisOfDefunt['defunt_reference_pacemaker']),
|
||||
0,
|
||||
1
|
||||
);
|
||||
$this->Cell(
|
||||
0,
|
||||
6,
|
||||
FileExportHelpers::FormatTextForExport("Marque du produit : ") .
|
||||
FileExportHelpers::FormatTextForExport($this->devisOfDefunt['defunt_product_brand']),
|
||||
0,
|
||||
1
|
||||
);
|
||||
$this->Cell(0, 12, FileExportHelpers::FormatTextForExport("La présente attestation est établie pour faire valoir ce que de droit."), 0, 5);
|
||||
$this->Ln(5);
|
||||
|
||||
$this->MultiAlignCell(120,7,FileExportHelpers::FormatTextForExport('Fait à '). FileExportHelpers::FormatTextForExport($this->devisOfDefunt['configuration']->adresse),0);
|
||||
$this->MultiAlignCell(120, 7, FileExportHelpers::FormatTextForExport('Fait à ') . FileExportHelpers::FormatTextForExport($this->devisOfDefunt['configuration']->adresse), 0);
|
||||
$this->SetX(140);
|
||||
$this->Cell(0,7,'le '. $this->devisOfDefunt['devis_date']->format('d/m/Y'),0);
|
||||
$this->Cell(0, 7, 'le ' . $this->devisOfDefunt['devis_date']->format('d/m/Y'), 0);
|
||||
}
|
||||
|
||||
private function SetPacemakerCertificateTitle(){
|
||||
private function SetPacemakerCertificateTitle()
|
||||
{
|
||||
$this->SetY(y: 50);
|
||||
$this->SetFont('ComicSans', 'B', 20);
|
||||
$this->Cell(0,10,'ATTESTATION DE RETRAIT DE LA',0,1,'C');
|
||||
$this->Cell(0,10,'PROTHESE FONCTIONNANT A PILE',0,1,'C');
|
||||
$this->Ln(20);
|
||||
$this->Cell(0, 10, 'ATTESTATION DE RETRAIT DE LA', 0, 1, 'C');
|
||||
$this->Cell(0, 10, 'PROTHESE FONCTIONNANT A PILE', 0, 1, 'C');
|
||||
$this->Ln(20);
|
||||
}
|
||||
|
||||
function MultiAlignCell($w,$h,$text,$border=0,$ln=0,$align='L',$fill=false)
|
||||
{
|
||||
// Store reset values for (x,y) positions
|
||||
$x = $this->GetX() + $w;
|
||||
$y = $this->GetY();
|
||||
function MultiAlignCell($w, $h, $text, $border = 0, $ln = 0, $align = 'L', $fill = false)
|
||||
{
|
||||
// Store reset values for (x,y) positions
|
||||
$x = $this->GetX() + $w;
|
||||
$y = $this->GetY();
|
||||
|
||||
// Make a call to FPDF's MultiCell
|
||||
$this->MultiCell($w,$h,$text,$border,$align,$fill);
|
||||
// Make a call to FPDF's MultiCell
|
||||
$this->MultiCell($w, $h, $text, $border, $align, $fill);
|
||||
|
||||
// Reset the line position to the right, like in Cell
|
||||
if( $ln==0 )
|
||||
{
|
||||
$this->SetXY($x,$y);
|
||||
}
|
||||
}
|
||||
// Reset the line position to the right, like in Cell
|
||||
if ($ln == 0) {
|
||||
$this->SetXY($x, $y);
|
||||
}
|
||||
}
|
||||
|
||||
function NbLines($w, $txt)
|
||||
function NbLines($w, $txt)
|
||||
{
|
||||
// Compute the number of lines a MultiCell of width w will take
|
||||
if(!isset($this->CurrentFont))
|
||||
if (!isset($this->CurrentFont))
|
||||
$this->Error('No font has been set');
|
||||
$cw = $this->CurrentFont['cw'];
|
||||
if($w==0)
|
||||
$w = $this->w-$this->rMargin-$this->x;
|
||||
$wmax = ($w-2*$this->cMargin)*1000/$this->FontSize;
|
||||
$s = str_replace("\r",'',(string)$txt);
|
||||
if ($w == 0)
|
||||
$w = $this->w - $this->rMargin - $this->x;
|
||||
$wmax = ($w - 2 * $this->cMargin) * 1000 / $this->FontSize;
|
||||
$s = str_replace("\r", '', (string) $txt);
|
||||
$nb = strlen($s);
|
||||
if($nb>0 && $s[$nb-1]=="\n")
|
||||
if ($nb > 0 && $s[$nb - 1] == "\n")
|
||||
$nb--;
|
||||
$sep = -1;
|
||||
$i = 0;
|
||||
$j = 0;
|
||||
$l = 0;
|
||||
$nl = 1;
|
||||
while($i<$nb)
|
||||
{
|
||||
while ($i < $nb) {
|
||||
$c = $s[$i];
|
||||
if($c=="\n")
|
||||
{
|
||||
if ($c == "\n") {
|
||||
$i++;
|
||||
$sep = -1;
|
||||
$j = $i;
|
||||
@ -162,24 +174,20 @@ class PacemakerCertificatePdfHandler extends FPDF {
|
||||
$nl++;
|
||||
continue;
|
||||
}
|
||||
if($c==' ')
|
||||
if ($c == ' ')
|
||||
$sep = $i;
|
||||
$l += $cw[$c];
|
||||
if($l>$wmax)
|
||||
{
|
||||
if($sep==-1)
|
||||
{
|
||||
if($i==$j)
|
||||
if ($l > $wmax) {
|
||||
if ($sep == -1) {
|
||||
if ($i == $j)
|
||||
$i++;
|
||||
}
|
||||
else
|
||||
$i = $sep+1;
|
||||
} else
|
||||
$i = $sep + 1;
|
||||
$sep = -1;
|
||||
$j = $i;
|
||||
$l = 0;
|
||||
$nl++;
|
||||
}
|
||||
else
|
||||
} else
|
||||
$i++;
|
||||
}
|
||||
return $nl;
|
||||
|
||||
@ -31,7 +31,8 @@ use \FPDF;
|
||||
use OCA\Gestion\Helpers\FileExportHelpers;
|
||||
use OCA\Gestion\Helpers\PriceHelpers;
|
||||
|
||||
class DevisPdfHandler extends FPDF {
|
||||
class DevisPdfHandler extends FPDF
|
||||
{
|
||||
|
||||
private $multipleDevisData = [];
|
||||
private $devisData = [];
|
||||
@ -39,53 +40,57 @@ class DevisPdfHandler extends FPDF {
|
||||
private $logoPath = "/var/www/html/data/admin/files/.gestion/";
|
||||
function Header()
|
||||
{
|
||||
if($this->logo != "nothing"){
|
||||
$this->Image($this->logoPath."logo.png", 2, 2, 50,35);
|
||||
}
|
||||
else{
|
||||
$this->Cell(55,30,'');
|
||||
if ($this->logo != "nothing") {
|
||||
$this->Image($this->logoPath . "logo.png", 4, 2, 50, 35);
|
||||
} else {
|
||||
$this->Cell(55, 30, '');
|
||||
}
|
||||
}
|
||||
function Footer()
|
||||
{
|
||||
$this->SetY(-40);
|
||||
$this->SetFont('ComicSans', '', 7);
|
||||
$this->MultiCell(0,5,utf8_decode(html_entity_decode('Tout retard de paiement entraînera de plein droit une pénalité de retard de 3 fois le taux légal ( Loi 2008-776 du 4 août 2008) et une indemnité forfaitaire de 40 EUR pour frais de recouvrement sera appliquée.')));
|
||||
$this->MultiCell(0, 5, utf8_decode(html_entity_decode('Tout retard de paiement entraînera de plein droit une pénalité de retard de 3 fois le taux légal ( Loi 2008-776 du 4 août 2008) et une indemnité forfaitaire de 40 EUR pour frais de recouvrement sera appliquée.')));
|
||||
$this->Ln(1);
|
||||
$this->MultiCell(0,5,utf8_decode(html_entity_decode('Si les frais de recouvrement sont supérieurs à ce montant forfaitaire, une indemnisation complémentaire sera due sur présentation de justificatifs ( articles L.441-3 et L.441-6 du code de commerce ).
|
||||
')));
|
||||
$this->MultiCell(0, 5, utf8_decode(html_entity_decode('Si les frais de recouvrement sont supérieurs à ce montant forfaitaire, une indemnisation complémentaire sera due sur présentation de justificatifs ( articles L.441-3 et L.441-6 du code de commerce ).
|
||||
')));
|
||||
|
||||
$this->SetY(-15);
|
||||
$this->SetFont('ComicSans', 'B', 8);
|
||||
$this->Cell(0, 10, utf8_decode(html_entity_decode($this->devisData['configuration']->legal_one)), 0, 0, 'C');
|
||||
}
|
||||
|
||||
public function SetDevisPdfData(array $devisData,$logo = null){
|
||||
public function SetDevisPdfData(array $devisData, $logo = null)
|
||||
{
|
||||
$this->devisData = $devisData;
|
||||
$this->logo = $logo;
|
||||
}
|
||||
|
||||
public function SetMultipleDevisPdfData(array $multipleDevisData,$logo = null){
|
||||
public function SetMultipleDevisPdfData(array $multipleDevisData, $logo = null)
|
||||
{
|
||||
$this->multipleDevisData = $multipleDevisData;
|
||||
$this->logo = $logo;
|
||||
}
|
||||
|
||||
private function DrawDevisCompanyAndClientInfo(){
|
||||
private function DrawDevisCompanyAndClientInfo()
|
||||
{
|
||||
$this->SetY(40);
|
||||
$this->SetFont('ComicSans', '', 12);
|
||||
$this->Cell(0, 7, FileExportHelpers::FormatTextForExport($this->devisData['configuration']->entreprise), 0, 0);
|
||||
$this->Cell(0, 7, FileExportHelpers::FormatTextForExport($this->devisData['client_nom']), 0, 1,'R');
|
||||
$this->Cell(0, 7, FileExportHelpers::FormatTextForExport($this->devisData['client_nom']), 0, 1, 'R');
|
||||
$this->Cell(0, 7, FileExportHelpers::FormatTextForExport($this->devisData['configuration_adresse']), 0, 0);
|
||||
$this->Cell(0, 7, trim(FileExportHelpers::FormatTextForExport($this->devisData['client_real_adress'])), 0, 1,'R');
|
||||
$this->Cell(0, 7, FileExportHelpers::FormatTextForExport($this->devisData['configuration_adresse_city']), 0, 0);border:
|
||||
$this->Cell(0, 7, trim(FileExportHelpers::FormatTextForExport($this->devisData['client_adress_city'])), 0, 1,'R');
|
||||
$this->Cell(0, 7, FileExportHelpers::FormatTextForExport('Tél : ') . FileExportHelpers::FormatTextForExport($this->devisData['configuration']->telephone),0,0);
|
||||
$this->Cell(0, 7, 'Siret: ' . $this->devisData['siret'], 0, 1,'R');
|
||||
$this->Cell(0, 7, trim(FileExportHelpers::FormatTextForExport($this->devisData['client_real_adress'])), 0, 1, 'R');
|
||||
$this->Cell(0, 7, FileExportHelpers::FormatTextForExport($this->devisData['configuration_adresse_city']), 0, 0);
|
||||
border:
|
||||
$this->Cell(0, 7, trim(FileExportHelpers::FormatTextForExport($this->devisData['client_adress_city'])), 0, 1, 'R');
|
||||
$this->Cell(0, 7, FileExportHelpers::FormatTextForExport('Tél : ') . FileExportHelpers::FormatTextForExport($this->devisData['configuration']->telephone), 0, 0);
|
||||
$this->Cell(0, 7, 'Siret: ' . $this->devisData['siret'], 0, 1, 'R');
|
||||
$this->Cell(0, 7, 'Mail : ' . $this->devisData['configuration']->mail, 0, 1);
|
||||
$this->Ln(3);
|
||||
}
|
||||
|
||||
private function DrawDevisInfoTable(){
|
||||
private function DrawDevisInfoTable()
|
||||
{
|
||||
$this->SetFont('ComicSans', 'B', 11);
|
||||
$this->Cell(30, 7, 'DATE', 1, 0, 'C');
|
||||
$this->Cell(80, 7, 'CLIENT', 1, 0, 'C');
|
||||
@ -99,91 +104,95 @@ class DevisPdfHandler extends FPDF {
|
||||
$this->Ln(8);
|
||||
}
|
||||
|
||||
private function DrawArticlesTable(){
|
||||
$this->SetLineWidth(0.1);
|
||||
private function DrawArticlesTable()
|
||||
{
|
||||
$this->SetLineWidth(0.1);
|
||||
$this->Rect(10, 105, 190, 100, "D");
|
||||
// cadre titre des colonnes
|
||||
$this->Line(10, 115, 200,115);
|
||||
$this->Line(10, 115, 200, 115);
|
||||
// les traits verticaux colonnes
|
||||
$this->Line(35, 105, 35, 205);
|
||||
$this->Line(135, 105, 135, 205);
|
||||
$this->Line(155, 105, 155, 205);
|
||||
$this->Line(135, 105, 135, 205);
|
||||
$this->Line(155, 105, 155, 205);
|
||||
$this->Line(175, 105, 175, 205);
|
||||
}
|
||||
|
||||
private function DrawArticlesTableHeader(){
|
||||
private function DrawArticlesTableHeader()
|
||||
{
|
||||
$tvaValue = $this->devisData["configuration"]->tva_default;
|
||||
$this->SetFont('ComicSans','',10);
|
||||
$this->SetXY( 10,106 );
|
||||
$this->Cell( 20, 8, "Date", 0, 0, 'C');
|
||||
$this->SetFont('ComicSans', '', 10);
|
||||
$this->SetXY(10, 106);
|
||||
$this->Cell(20, 8, "Date", 0, 0, 'C');
|
||||
|
||||
$this->SetXY( 35,106 );
|
||||
$this->Cell( 100, 8, "Description", 0, 0, 'C');
|
||||
$this->SetXY(35, 106);
|
||||
$this->Cell(100, 8, "Description", 0, 0, 'C');
|
||||
|
||||
$this->SetXY( 135,106 );
|
||||
$this->Cell( 20, 8, "Prix Uni. HT", 0, 0, 'C');
|
||||
$this->SetXY(135, 106);
|
||||
$this->Cell(20, 8, "Prix Uni. HT", 0, 0, 'C');
|
||||
|
||||
$this->SetXY( 155,106 );
|
||||
$this->Cell( 20, 8, 'TVA ' . $tvaValue . '%', 0, 0, 'C');
|
||||
$this->SetXY(155, 106);
|
||||
$this->Cell(20, 8, 'TVA ' . $tvaValue . '%', 0, 0, 'C');
|
||||
|
||||
$this->SetXY( 175,106 );
|
||||
$this->Cell( 25, 8, "Prix Uni. TTC", 0, 0, 'C');
|
||||
$this->SetXY(175, 106);
|
||||
$this->Cell(25, 8, "Prix Uni. TTC", 0, 0, 'C');
|
||||
|
||||
}
|
||||
|
||||
public function DrawArticlesTableValueAndReturnTotalPrice(){
|
||||
$this->SetFont('ComicSans','',10);
|
||||
public function DrawArticlesTableValueAndReturnTotalPrice()
|
||||
{
|
||||
$this->SetFont('ComicSans', '', 10);
|
||||
$tvaValue = $this->devisData["configuration"]->tva_default;
|
||||
$totalHt = 0;
|
||||
$totalTtc = 0;
|
||||
$totalTva = 0;
|
||||
$products = $this->devisData["products"];
|
||||
$yValue = 116;
|
||||
foreach($products as $product){
|
||||
foreach ($products as $product) {
|
||||
$valueHt = $product['produit_price'] * $product['quantite'];
|
||||
$valueTtc = PriceHelpers::calculPriceWithVatValue($valueHt,$tvaValue);
|
||||
$totalHt+=$valueHt;
|
||||
$totalTtc+=$valueTtc;
|
||||
$valueTtc = PriceHelpers::calculPriceWithVatValue($valueHt, $tvaValue);
|
||||
$totalHt += $valueHt;
|
||||
$totalTtc += $valueTtc;
|
||||
$productDescription = $product["produit_description"];
|
||||
$dateValue = "";
|
||||
if($product === end($products)){
|
||||
if ($product === end($products)) {
|
||||
$dateValue = $this->devisData['devis_date'];
|
||||
$productDescription .= " de " . FileExportHelpers::GetSexeLabel($this->devisData['defunt_sexe']) . ' '. $this->devisData["defunt_nom"];
|
||||
$productDescription .= " de " . FileExportHelpers::GetSexeLabel($this->devisData['defunt_sexe']) . ' ' . $this->devisData["defunt_nom"];
|
||||
}
|
||||
$tvaAmount = $valueTtc - $valueHt;
|
||||
$this->SetXY( 10,$yValue );
|
||||
$this->Cell(20, 6, $dateValue, 0,0);
|
||||
$this->SetXY(10, $yValue);
|
||||
$this->Cell(20, 6, $dateValue, 0, 0);
|
||||
|
||||
$this->SetXY( 35,$yValue );
|
||||
$this->MultiAlignCell(100, 6, utf8_decode(html_entity_decode($productDescription)),0,'0',);
|
||||
$this->SetXY(35, $yValue);
|
||||
$this->MultiAlignCell(100, 6, utf8_decode(html_entity_decode($productDescription)), 0, '0', );
|
||||
|
||||
$this->SetXY( 135,$yValue );
|
||||
$this->Cell(20, 6, number_format($valueHt,2,'.','').chr(128), 0, 0, 'C');
|
||||
|
||||
$this->SetXY( 155,$yValue );
|
||||
$this->Cell(20, 6, number_format($tvaAmount,2,'.','').chr(128), 0, 0, 'C');
|
||||
|
||||
$this->SetXY( 175,$yValue );
|
||||
$this->Cell(25, 6, number_format($valueTtc,2,'.','').chr(128), 0, 1, 'C');
|
||||
$this->SetXY(135, $yValue);
|
||||
$this->Cell(20, 6, number_format($valueHt, 2, '.', '') . chr(128), 0, 0, 'C');
|
||||
|
||||
$this->SetXY(155, $yValue);
|
||||
$this->Cell(20, 6, number_format($tvaAmount, 2, '.', '') . chr(128), 0, 0, 'C');
|
||||
|
||||
$this->SetXY(175, $yValue);
|
||||
$this->Cell(25, 6, number_format($valueTtc, 2, '.', '') . chr(128), 0, 1, 'C');
|
||||
$yValue += 12;
|
||||
$totalTva += $tvaAmount;
|
||||
}
|
||||
|
||||
return [
|
||||
"TOTAL HT" => $totalHt,
|
||||
"TVA ".$tvaValue. "%" => $totalTva,
|
||||
"TVA " . $tvaValue . "%" => $totalTva,
|
||||
"TOTAL TTC" => $totalTtc
|
||||
];
|
||||
}
|
||||
|
||||
private function DrawBankAndTotalPriceInfo($totalPriceArray){
|
||||
private function DrawBankAndTotalPriceInfo($totalPriceArray)
|
||||
{
|
||||
$this->SetY(210);
|
||||
$this->SetFont('ComicSans', '', 9);
|
||||
$this->MultiCell(0,5,utf8_decode(html_entity_decode("Paiement à votre convenance par chèque à l'ordre de ". $this->devisData['configuration']->entreprise)));
|
||||
$this->MultiCell(0,5,utf8_decode(html_entity_decode("en indiquant le numéro de facture, ou par virement :")));
|
||||
$this->MultiCell(0, 5, utf8_decode(html_entity_decode("Paiement à votre convenance par chèque à l'ordre de " . $this->devisData['configuration']->entreprise)));
|
||||
$this->MultiCell(0, 5, utf8_decode(html_entity_decode("en indiquant le numéro de facture, ou par virement :")));
|
||||
|
||||
$this->Ln(1);
|
||||
|
||||
|
||||
//Table IBAN
|
||||
$this->SetFont('ComicSans', '', 11);
|
||||
$ibanWidth = 90;
|
||||
@ -193,28 +202,30 @@ class DevisPdfHandler extends FPDF {
|
||||
$this->Cell($ibanWidth, 7, 'Code SWIFT : AGRI FR PP 836', 1, 1, 'C');
|
||||
|
||||
//TABLE HT
|
||||
$ibanLastPositionX = $ibanCursorX+$ibanWidth + 20;
|
||||
$ibanLastPositionX = $ibanCursorX + $ibanWidth + 20;
|
||||
$startOfArrayX = $ibanLastPositionX;
|
||||
$startOfArrayY = $ibanCursorY;
|
||||
foreach($totalPriceArray as $label => $price){
|
||||
$this->SetXY($startOfArrayX,$startOfArrayY);
|
||||
foreach ($totalPriceArray as $label => $price) {
|
||||
$this->SetXY($startOfArrayX, $startOfArrayY);
|
||||
$this->Cell(40, 7, $label, 1, 1, 'C');
|
||||
$this->SetXY($startOfArrayX + 40,$startOfArrayY);
|
||||
$this->Cell(40, 7, number_format($price,2,'.','').chr(128), 1, 1, 'C');
|
||||
$this->SetXY($startOfArrayX + 40, $startOfArrayY);
|
||||
$this->Cell(40, 7, number_format($price, 2, '.', '') . chr(128), 1, 1, 'C');
|
||||
$startOfArrayY += 7;
|
||||
}
|
||||
}
|
||||
|
||||
public function SetMultipleDevisContent(){
|
||||
foreach($this->multipleDevisData as $devisData){
|
||||
public function SetMultipleDevisContent()
|
||||
{
|
||||
foreach ($this->multipleDevisData as $devisData) {
|
||||
$this->devisData = $devisData;
|
||||
$this->SetDevisContent();
|
||||
}
|
||||
}
|
||||
|
||||
public function SetDevisContent(){
|
||||
public function SetDevisContent()
|
||||
{
|
||||
$this->AddPage();
|
||||
$this->SetMargins(10,0,10);
|
||||
$this->SetMargins(10, 0, 10);
|
||||
$this->DrawDevisCompanyAndClientInfo();
|
||||
$this->DrawDevisInfoTable();
|
||||
$this->DrawArticlesTable();
|
||||
@ -223,45 +234,42 @@ class DevisPdfHandler extends FPDF {
|
||||
$this->DrawBankAndTotalPriceInfo($totalPriceValue);
|
||||
}
|
||||
|
||||
function MultiAlignCell($w,$h,$text,$border=0,$ln=0,$align='L',$fill=false)
|
||||
{
|
||||
// Store reset values for (x,y) positions
|
||||
$x = $this->GetX() + $w;
|
||||
$y = $this->GetY();
|
||||
function MultiAlignCell($w, $h, $text, $border = 0, $ln = 0, $align = 'L', $fill = false)
|
||||
{
|
||||
// Store reset values for (x,y) positions
|
||||
$x = $this->GetX() + $w;
|
||||
$y = $this->GetY();
|
||||
|
||||
// Make a call to FPDF's MultiCell
|
||||
$this->MultiCell($w,$h,$text,$border,$align,$fill);
|
||||
// Make a call to FPDF's MultiCell
|
||||
$this->MultiCell($w, $h, $text, $border, $align, $fill);
|
||||
|
||||
// Reset the line position to the right, like in Cell
|
||||
if( $ln==0 )
|
||||
{
|
||||
$this->SetXY($x,$y);
|
||||
}
|
||||
}
|
||||
// Reset the line position to the right, like in Cell
|
||||
if ($ln == 0) {
|
||||
$this->SetXY($x, $y);
|
||||
}
|
||||
}
|
||||
|
||||
function NbLines($w, $txt)
|
||||
function NbLines($w, $txt)
|
||||
{
|
||||
// Compute the number of lines a MultiCell of width w will take
|
||||
if(!isset($this->CurrentFont))
|
||||
if (!isset($this->CurrentFont))
|
||||
$this->Error('No font has been set');
|
||||
$cw = $this->CurrentFont['cw'];
|
||||
if($w==0)
|
||||
$w = $this->w-$this->rMargin-$this->x;
|
||||
$wmax = ($w-2*$this->cMargin)*1000/$this->FontSize;
|
||||
$s = str_replace("\r",'',(string)$txt);
|
||||
if ($w == 0)
|
||||
$w = $this->w - $this->rMargin - $this->x;
|
||||
$wmax = ($w - 2 * $this->cMargin) * 1000 / $this->FontSize;
|
||||
$s = str_replace("\r", '', (string) $txt);
|
||||
$nb = strlen($s);
|
||||
if($nb>0 && $s[$nb-1]=="\n")
|
||||
if ($nb > 0 && $s[$nb - 1] == "\n")
|
||||
$nb--;
|
||||
$sep = -1;
|
||||
$i = 0;
|
||||
$j = 0;
|
||||
$l = 0;
|
||||
$nl = 1;
|
||||
while($i<$nb)
|
||||
{
|
||||
while ($i < $nb) {
|
||||
$c = $s[$i];
|
||||
if($c=="\n")
|
||||
{
|
||||
if ($c == "\n") {
|
||||
$i++;
|
||||
$sep = -1;
|
||||
$j = $i;
|
||||
@ -269,24 +277,20 @@ class DevisPdfHandler extends FPDF {
|
||||
$nl++;
|
||||
continue;
|
||||
}
|
||||
if($c==' ')
|
||||
if ($c == ' ')
|
||||
$sep = $i;
|
||||
$l += $cw[$c];
|
||||
if($l>$wmax)
|
||||
{
|
||||
if($sep==-1)
|
||||
{
|
||||
if($i==$j)
|
||||
if ($l > $wmax) {
|
||||
if ($sep == -1) {
|
||||
if ($i == $j)
|
||||
$i++;
|
||||
}
|
||||
else
|
||||
$i = $sep+1;
|
||||
} else
|
||||
$i = $sep + 1;
|
||||
$sep = -1;
|
||||
$j = $i;
|
||||
$l = 0;
|
||||
$nl++;
|
||||
}
|
||||
else
|
||||
} else
|
||||
$i++;
|
||||
}
|
||||
return $nl;
|
||||
|
||||
@ -57,7 +57,7 @@ class InvoiceGroupPdfHandler extends FPDF
|
||||
function Header()
|
||||
{
|
||||
if ($this->logo != "nothing") {
|
||||
$this->Image($this->logoPath . "logo.png", 2, 10, 75, 25);
|
||||
$this->Image($this->logoPath . "logo.png", 4, 2, 50, 35);
|
||||
$this->AddWatermark();
|
||||
} else {
|
||||
$this->Cell(55, 30, '');
|
||||
|
||||
@ -48,11 +48,11 @@ class InvoicePdfHandler extends FPDF
|
||||
|
||||
private $articleTablesHeight = 130;
|
||||
|
||||
public $interLigneHeader = 5;
|
||||
public $interLigneHeader = 5;
|
||||
function Header()
|
||||
{
|
||||
if ($this->logo != "nothing") {
|
||||
$this->Image($this->logoPath . "logo.png", 2, 10, 75, 25);
|
||||
$this->Image($this->logoPath . "logo.png", 4, 2, 50, 35);
|
||||
$this->AddWatermark();
|
||||
} else {
|
||||
$this->Cell(55, 30, '');
|
||||
@ -68,16 +68,16 @@ class InvoicePdfHandler extends FPDF
|
||||
|
||||
// Convertir les dimensions de pixels à mm (1 pixel = 0.264583 mm)
|
||||
// Convertir les dimensions de pixels à mm (1 pixel = 0.264583 mm)
|
||||
$originalWidth = $originalWidth * 0.264583;
|
||||
$originalHeight = $originalHeight * 0.264583;
|
||||
$originalWidth = $originalWidth * 0.264583;
|
||||
$originalHeight = $originalHeight * 0.264583;
|
||||
|
||||
// Augmenter l'échelle, par exemple, 1.5 pour 150% de la taille d'origine
|
||||
$scale = 1.7;
|
||||
$width = $originalWidth * $scale;
|
||||
$height = $originalHeight * $scale;
|
||||
$scale = 1.7;
|
||||
$width = $originalWidth * $scale;
|
||||
$height = $originalHeight * $scale;
|
||||
// Calculer la position pour centrer l'image
|
||||
$x = (210 - $width) / 2 + 15; // Décalage à droite de 15 mm
|
||||
$y = ((297 - $height) / 2 ) + 21; // 297 mm est la hauteur d'une page A4
|
||||
$y = ((297 - $height) / 2) + 21; // 297 mm est la hauteur d'une page A4
|
||||
|
||||
// Ajouter l'image en filigrane
|
||||
$this->Image($imagePath, $x, $y, $width, $height); // Chemin, position x, position y, largeur, hauteur
|
||||
@ -88,7 +88,7 @@ class InvoicePdfHandler extends FPDF
|
||||
{
|
||||
// Appliquer la transparence au document
|
||||
$this->SetFillColor(255, 255, 255, $alpha * 255);
|
||||
$this->SetTextColor(0, 0, 0, $alpha * 255);
|
||||
$this->SetTextColor(0, 0, 0, $alpha * 255);
|
||||
$this->SetDrawColor(0, 0, 0, $alpha * 255);
|
||||
}
|
||||
|
||||
@ -96,13 +96,13 @@ class InvoicePdfHandler extends FPDF
|
||||
function Footer()
|
||||
{
|
||||
$this->SetY(-34);
|
||||
$this->SetFont('ComicSans', '', 7);
|
||||
$this->SetFont('ComicSans', '', 7);
|
||||
|
||||
$this->MultiCell(0,4,utf8_decode(html_entity_decode('Tout retard de paiement entraînera de plein droit une pénalité de retard de 3 fois le taux légal ')));
|
||||
$this->MultiCell(0,4,utf8_decode(html_entity_decode('(Loi 2008-776 du 4 août 2008) et une indemnité forfaitaire de 40 EUR pour frais de recouvrement sera appliquée.')));
|
||||
$this->MultiCell(0, 4, utf8_decode(html_entity_decode('Tout retard de paiement entraînera de plein droit une pénalité de retard de 3 fois le taux légal ')));
|
||||
$this->MultiCell(0, 4, utf8_decode(html_entity_decode('(Loi 2008-776 du 4 août 2008) et une indemnité forfaitaire de 40 EUR pour frais de recouvrement sera appliquée.')));
|
||||
$this->Ln(1);
|
||||
$this->MultiCell(0,4,utf8_decode(html_entity_decode('Si les frais de recouvrement sont supérieurs à ce montant forfaitaire, une indemnisation complémentaire')));
|
||||
$this->MultiCell(0,4,utf8_decode(html_entity_decode('sera due sur présentation de justificatifs (articles L.441-3 et L.441-6 du code de commerce).')));
|
||||
$this->MultiCell(0, 4, utf8_decode(html_entity_decode('Si les frais de recouvrement sont supérieurs à ce montant forfaitaire, une indemnisation complémentaire')));
|
||||
$this->MultiCell(0, 4, utf8_decode(html_entity_decode('sera due sur présentation de justificatifs (articles L.441-3 et L.441-6 du code de commerce).')));
|
||||
|
||||
$this->SetY(-10);
|
||||
$this->SetFont('ComicSans', '', 7);
|
||||
@ -172,13 +172,13 @@ class InvoicePdfHandler extends FPDF
|
||||
$addressWidth = $this->GetStringWidth($address);
|
||||
$addressWidthGreaterThanMaxWidth = $addressWidth > $availableWidhtForClientInfo;
|
||||
$addressIsMoreThanTwoLines = ($addressWidth / $availableWidhtForClientInfo) > 2;
|
||||
|
||||
|
||||
$clientInfoYAxis = $addressIsMoreThanTwoLines ? 35 : 35;// the old is ? 35 : 39 but not working
|
||||
$this->SetXY($clientInfoXAxis, $clientInfoYAxis);
|
||||
$this->Cell(0, $this->interLigneHeader, FileExportHelpers::FormatTextForExport($clientName));
|
||||
$clientInfoYAxis += $this->interLigneHeader;
|
||||
$clientAddresses = explode(",", $clientAddress);
|
||||
foreach ($clientAddresses as $address) {
|
||||
foreach ($clientAddresses as $address) {
|
||||
$address = FileExportHelpers::FormatTextForExport(trim($address));
|
||||
$addressWidth = $this->GetStringWidth($address);
|
||||
$addressWidthGreaterThanMaxWidth = $addressWidth > $availableWidhtForClientInfo;
|
||||
@ -204,7 +204,7 @@ class InvoicePdfHandler extends FPDF
|
||||
$this->Cell(0, $this->interLigneHeader, trim(FileExportHelpers::FormatTextForExport($this->factureData['client_adress_city'])));
|
||||
$clientInfoYAxis += $this->interLigneHeader;
|
||||
$this->SetXY($clientInfoXAxis, $clientInfoYAxis);
|
||||
$this->Cell(0, $this->interLigneHeader,'Siret: ' . $this->factureData['siret']);
|
||||
$this->Cell(0, $this->interLigneHeader, 'Siret: ' . $this->factureData['siret']);
|
||||
$clientInfoYAxis += $this->interLigneHeader;
|
||||
$this->SetXY($clientInfoXAxis, $clientInfoYAxis);
|
||||
$this->Cell(0, $this->interLigneHeader, FileExportHelpers::FormatTextForExport('Mail : ') . $this->factureData['client_mail']);
|
||||
@ -234,7 +234,7 @@ class InvoicePdfHandler extends FPDF
|
||||
$this->Cell(39, 7, 'FACTURE', 1, 0, 'C');
|
||||
$this->Cell(36, 7, 'ECHEANCE', 1, 1, 'C');
|
||||
|
||||
|
||||
|
||||
$this->SetFont('ComicSans', '', 10);
|
||||
$this->Cell(25, 7, $factureDatePaiement, 1, 0, 'C');
|
||||
$this->Cell(104, 7, utf8_decode(html_entity_decode($this->factureData['client_nom'])), 1, 0, 'C');
|
||||
@ -268,16 +268,16 @@ class InvoicePdfHandler extends FPDF
|
||||
$this->SetLineWidth(0.2);
|
||||
$gapBetweenStartingOfArticlesTableAndColumnName = 8;
|
||||
$tableHeight = $this->thereIsOrderOrCaseNumber ? $this->articleTablesHeight : $this->articleTablesHeight + 9;
|
||||
$this->Rect(3, $this->startingYOfArticlesTable , 204, $tableHeight, "D");
|
||||
$this->Rect(3, $this->startingYOfArticlesTable, 204, $tableHeight, "D");
|
||||
// cadre titre des colonnes
|
||||
$this->Line(3, $this->startingYOfArticlesTable + $gapBetweenStartingOfArticlesTableAndColumnName, 207, $this->startingYOfArticlesTable + $gapBetweenStartingOfArticlesTableAndColumnName);
|
||||
// les traits verticaux colonnes
|
||||
$additionalMargRight = 1;
|
||||
$endingLine = $this->thereIsOrderOrCaseNumber ? 231 : 230; // mois +1 pour le groupe
|
||||
$this->Line(27 + $additionalMargRight, $this->startingYOfArticlesTable, 27+ $additionalMargRight , $endingLine);
|
||||
$this->Line(142 + $additionalMargRight, $this->startingYOfArticlesTable, 142+ $additionalMargRight , $endingLine);
|
||||
$this->Line(164 + $additionalMargRight, $this->startingYOfArticlesTable, 164+ $additionalMargRight , $endingLine);
|
||||
$this->Line(182 + $additionalMargRight, $this->startingYOfArticlesTable, 182+ $additionalMargRight , $endingLine);
|
||||
$endingLine = $this->thereIsOrderOrCaseNumber ? 231 : 230; // mois +1 pour le groupe
|
||||
$this->Line(27 + $additionalMargRight, $this->startingYOfArticlesTable, 27 + $additionalMargRight, $endingLine);
|
||||
$this->Line(142 + $additionalMargRight, $this->startingYOfArticlesTable, 142 + $additionalMargRight, $endingLine);
|
||||
$this->Line(164 + $additionalMargRight, $this->startingYOfArticlesTable, 164 + $additionalMargRight, $endingLine);
|
||||
$this->Line(182 + $additionalMargRight, $this->startingYOfArticlesTable, 182 + $additionalMargRight, $endingLine);
|
||||
}
|
||||
|
||||
private function DrawArticlesTableHeader()
|
||||
@ -332,10 +332,10 @@ class InvoicePdfHandler extends FPDF
|
||||
$this->Cell(5, 6, $dateValue, 0, 0);
|
||||
|
||||
$this->SetXY(30, $yValue);
|
||||
$this->MultiAlignCell($maxDescriptionWidth , 6, utf8_decode(html_entity_decode($productDescription)), 0, '0',);
|
||||
$this->MultiAlignCell($maxDescriptionWidth, 6, utf8_decode(html_entity_decode($productDescription)), 0, '0', );
|
||||
|
||||
|
||||
|
||||
|
||||
$this->SetXY(144, $yValue);
|
||||
$this->Cell(20, 6, number_format($valueHt, 2, '.', '') . chr(128), 0, 0, 'C');
|
||||
|
||||
@ -358,13 +358,13 @@ class InvoicePdfHandler extends FPDF
|
||||
private function DrawBankAndTotalPriceInfo($totalPriceArray)
|
||||
{
|
||||
$startOfYAfterMainTable = 236;
|
||||
$this->SetY( $startOfYAfterMainTable);
|
||||
$this->SetY($startOfYAfterMainTable);
|
||||
$this->SetFont('ComicSans', '', 8);
|
||||
$this->MultiCell(0,4,utf8_decode(html_entity_decode("Paiement à votre convenance par chèque à l'ordre de ". $this->factureData['configuration']->entreprise)));
|
||||
$this->MultiCell(0,4,utf8_decode(html_entity_decode("en indiquant le numéro de facture, ou par virement :")));
|
||||
$this->MultiCell(0, 4, utf8_decode(html_entity_decode("Paiement à votre convenance par chèque à l'ordre de " . $this->factureData['configuration']->entreprise)));
|
||||
$this->MultiCell(0, 4, utf8_decode(html_entity_decode("en indiquant le numéro de facture, ou par virement :")));
|
||||
|
||||
$this->Ln(1);
|
||||
$startOftable = 3 ;
|
||||
$startOftable = 3;
|
||||
$this->SetX($startOftable);
|
||||
// Table IBAN
|
||||
$this->SetFont('ComicSans', '', 8);
|
||||
@ -372,7 +372,7 @@ class InvoicePdfHandler extends FPDF
|
||||
$this->Cell($ibanWidth, 6.5, 'IBAN : FR76 1360 6000 1436 5418 1800 038', 1, 1, 'C');
|
||||
$this->SetX($startOftable);
|
||||
$this->Cell($ibanWidth, 6.5, 'Code SWIFT : AGRI FR PP 836', 1, 1, 'C');
|
||||
|
||||
|
||||
//TABLE HT
|
||||
$tableWidth = 48; // Largeur totale de la 2e table (20+20)
|
||||
$marginRight = 3; // Marge par rapport au bord droit
|
||||
@ -380,15 +380,15 @@ class InvoicePdfHandler extends FPDF
|
||||
|
||||
// Position correcte de la 2e table
|
||||
$startOfArrayX = $pageWidth - $tableWidth - $marginRight;
|
||||
$startOfArrayY = $startOfYAfterMainTable + 0.5;
|
||||
$startOfArrayY = $startOfYAfterMainTable + 0.5;
|
||||
|
||||
$this->SetFont('ComicSans', '', 10);
|
||||
|
||||
foreach($totalPriceArray as $label => $price){
|
||||
$this->SetXY($startOfArrayX,$startOfArrayY);
|
||||
foreach ($totalPriceArray as $label => $price) {
|
||||
$this->SetXY($startOfArrayX, $startOfArrayY);
|
||||
$this->Cell(24, 6.5, $label, 1, 1, 'C');
|
||||
$this->SetXY($startOfArrayX + 24,$startOfArrayY);
|
||||
$this->Cell(24, 6.5, number_format($price,2,'.','').chr(128), 1, 1, 'C');
|
||||
$this->SetXY($startOfArrayX + 24, $startOfArrayY);
|
||||
$this->Cell(24, 6.5, number_format($price, 2, '.', '') . chr(128), 1, 1, 'C');
|
||||
$startOfArrayY += 6.5;
|
||||
}
|
||||
}
|
||||
@ -437,7 +437,7 @@ class InvoicePdfHandler extends FPDF
|
||||
if ($w == 0)
|
||||
$w = $this->w - $this->rMargin - $this->x;
|
||||
$wmax = ($w - 2 * $this->cMargin) * 1000 / $this->FontSize;
|
||||
$s = str_replace("\r", '', (string)$txt);
|
||||
$s = str_replace("\r", '', (string) $txt);
|
||||
$nb = strlen($s);
|
||||
if ($nb > 0 && $s[$nb - 1] == "\n")
|
||||
$nb--;
|
||||
|
||||
@ -171,7 +171,7 @@ class InvoiceRecapService {
|
||||
|
||||
// logo : 80 de largeur et 55 de hauteur
|
||||
if($doesLogoExist){
|
||||
$pdf->Image($this->defaultImagePath."logo.png", 2, 2, 50,35);
|
||||
$pdf->Image($this->defaultImagePath."logo.png", 10, 10, 75, 25);
|
||||
}
|
||||
|
||||
//adresse de mon entreprise
|
||||
@ -276,7 +276,7 @@ class InvoiceRecapService {
|
||||
$pdf->SetMargins(0,0,10);
|
||||
|
||||
if($doesLogoExist){
|
||||
$pdf->Image($this->defaultImagePath."logo.png", 2, 2, 50,35);
|
||||
$pdf->Image($this->defaultImagePath."logo.png", 10, 10, 75, 25);
|
||||
}
|
||||
|
||||
//adresse de mon entreprise
|
||||
@ -589,7 +589,7 @@ class InvoiceRecapService {
|
||||
|
||||
// logo : 80 de largeur et 55 de hauteur
|
||||
if($doesLogoExist){
|
||||
$pdf->Image($this->defaultImagePath."logo.png", 2, 2, 50,35);
|
||||
$pdf->Image($this->defaultImagePath."logo.png", 10, 10, 75, 25);
|
||||
}
|
||||
|
||||
//adresse de mon entreprise
|
||||
@ -692,7 +692,7 @@ class InvoiceRecapService {
|
||||
$pdf->SetAutoPagebreak(False);
|
||||
$pdf->SetMargins(0,0,10);
|
||||
if($doesLogoExist){
|
||||
$pdf->Image($this->defaultImagePath."logo.png", 2, 2, 50,35);
|
||||
$pdf->Image($this->defaultImagePath."logo.png", 10, 10, 75, 25);
|
||||
}
|
||||
|
||||
//adresse de mon entreprise
|
||||
|
||||
@ -51,7 +51,7 @@ class MailerService {
|
||||
if (!$signatureImage) {
|
||||
return "";
|
||||
}
|
||||
return "<img style= 'width: 250px;height: 150px;' src='data:image/jpeg;base64,".base64_encode($signatureImage)."'>" ;
|
||||
return "<img width='170' height='80' style= 'width: 170;height: 80px;display:block;' src='data:image/jpeg;base64,".base64_encode($signatureImage)."'>" ;
|
||||
}
|
||||
|
||||
private function getSignatureContent(){
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user