Compare commits

...

42 Commits

Author SHA1 Message Date
narindraezway
de0ed31ccb Merge branch 'staging' into production-dv-thanato 2025-07-11 11:03:04 +03:00
narindraezway
39f7cb6247 Refactor email signature handling to include user name in footer content 2025-07-09 16:44:45 +03:00
narindraezway
fd2754c9eb Update admin app ID 2025-07-09 16:44:09 +03:00
narindraezway
69eea552fb Fix signature image dimensions email 2025-07-09 16:43:13 +03:00
narindraezway
4db0935d71 Merge branch 'staging' into production-dv-thanato 2025-07-09 13:52:25 +03:00
Tiavina
9f8c3dc8ec log production dv thanato 2025-06-24 12:03:06 +03:00
Tiavina
f2f737d6f8 Merge branch 'staging' into production 2025-06-10 17:01:09 +03:00
Tiavina
024df6bcd8 Merge branch 'staging' into production 2025-06-10 15:30:32 +03:00
narindraezway
2b867f27ea Merge branch 'staging' into production 2025-06-05 10:56:58 +03:00
Tiavina
416f4b030a Merge branch 'staging' into production 2025-06-02 15:08:10 +03:00
Tiavina
2d3196ffe4 Merge branch 'staging' into production 2025-05-20 10:21:57 +03:00
narindraezway
fc37e8583d Merge branch 'staging' into production 2025-05-07 15:04:42 +03:00
Tiavina
db6839451b Merge branch 'staging' into production 2025-05-06 16:21:58 +03:00
narindraezway
625e81ac30 Merge branch 'staging' into production 2025-05-05 13:45:31 +03:00
Tiavina
fbce8789c1 Merge branch 'staging' into production 2025-04-30 18:10:30 +03:00
Tiavina
5396c6ad1b Merge branch 'staging' into production 2025-04-30 18:05:52 +03:00
Tiavina
01f9176d32 Merge branch 'staging' into production 2025-04-30 17:51:15 +03:00
Tiavina
f5d1426d12 Merge remote-tracking branch 'origin/staging' into production 2025-04-25 17:30:53 +03:00
Tiavina
8f13e48206 Merge branch 'staging' into production 2025-04-25 15:06:17 +03:00
Tiavina Handrianina
459fda7106 Merge branch 'staging' into 'production'
HOTFIXESdevis list group facturation redirect

See merge request sottye/hytha35!6
2025-04-15 12:27:05 +00:00
Tiavina Handrianina
45f0f81c03 Merge branch 'staging' into 'production'
HOTFIXES OVERRIDE TEMPLATE TYPE CODE

See merge request sottye/hytha35!5
2025-04-15 11:16:07 +00:00
Tiavina Handrianina
1c4a972222 Merge branch 'staging' into 'production'
Deploying facturation at any date for HYTHA 35

See merge request sottye/hytha35!4
2025-04-15 10:16:44 +00:00
Tiavina Handrianina
d065671291 Merge branch 'staging' into 'production'
Deploying compte comptable into production

See merge request sottye/hytha35!3
2025-04-14 13:07:56 +00:00
Tiavina Handrianina
5512c23004 Merge branch 'staging' into 'production'
Merge staging into production

See merge request sottye/hytha35!2
2025-04-10 15:23:52 +00:00
Tiavina
3ea9d4ed52 Merge remote-tracking branch 'origin/staging' into releases/release-hytha-prod 2025-04-07 16:53:43 +03:00
Tiavina
602466d9a9 Merge branch 'staging' into releases/release-hytha-prod 2025-04-04 19:43:40 +03:00
Tiavina
b1fabe9804 Merge branch 'staging' into releases/release-hytha-prod 2025-03-27 08:51:59 +03:00
Tiavina
2bbfe390eb Merge branch 'staging' into releases/release-hytha-prod 2025-03-26 19:55:15 +03:00
Tiavina
12a751c1c3 Merge branch 'staging' into releases/release-hytha-prod 2025-03-26 19:43:51 +03:00
Tiavina
0276655040 Merge branch 'features/feature-devis-group' into releases/release-hytha-prod 2025-03-26 13:06:50 +03:00
Tiavina
5ab91d4be7 Merge branch 'staging' into releases/release-hytha-prod 2025-03-25 13:34:15 +03:00
Tiavina
91c67452c2 Merge branch 'staging' into releases/release-hytha-prod 2025-03-21 09:29:13 +03:00
Tiavina
31633b04d9 Merge branch 'hotfixes/hotfix-update-client' into releases/release-hytha-prod 2025-03-19 11:38:00 +03:00
Tiavina
dc3da8d425 Merge branch 'hotfixes/hotfix-update-client' into releases/release-hytha-prod 2025-03-19 10:50:02 +03:00
Tiavina
ea119f5c73 Merge branch 'hotfixes/hotfix-update-client' into releases/release-hytha-prod 2025-03-19 10:43:24 +03:00
Tiavina
4bd86ae762 Merge branch 'hotfixes/hotfix-update-client' into releases/release-hytha-prod 2025-03-19 10:30:55 +03:00
Tiavina
2c1e771472 Merge branch 'hotfixes/hotfix-update-client' into releases/release-hytha-prod 2025-03-19 10:13:45 +03:00
Tiavina
c07c4aaf88 Merge branch 'staging' into releases/release-hytha-prod 2025-03-18 10:19:21 +03:00
Tiavina
95be6e4827 Merge branch 'staging' into releases/release-hytha-prod 2025-03-17 16:16:16 +03:00
Tiavina
e7c51a4d73 Merge branch 'fixes/fix-rapport-bijoux-text' into releases/release-hytha-prod 2025-03-13 12:06:47 +03:00
Tiavina
f509f5e988 Merge branch 'staging' into releases/release-hytha-prod 2025-03-13 10:53:37 +03:00
Tiavina
f8ff4c6b3e Merge branch 'hotfixes/hotfixe-show-facture-case-and-order-number' into releases/release-hytha-prod 2025-03-07 13:17:00 +03:00
9 changed files with 243 additions and 236 deletions

View File

@ -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";

View File

@ -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');

View File

@ -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,'');

View File

@ -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;

View File

@ -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;

View File

@ -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, '');

View File

@ -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--;

View File

@ -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

View File

@ -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(){