From 1f7153e542fa7e6ba9e9ed08d20f6c708c915603 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Tue, 6 Apr 2010 18:40:08 +0000 Subject: [PATCH] Mutualize a lot of code on recipient address forging. This will allow to add features on address fields to show according to country. --- .../modules/commande/pdf_edison.modules.php | 35 +++++++----------- .../modules/commande/pdf_einstein.modules.php | 20 ++++------- .../pdf/pdf_expedition_merou.modules.php | 24 +++++-------- .../modules/facture/pdf_crabe.modules.php | 14 ++------ .../modules/facture/pdf_oursin.modules.php | 20 ++++------- .../modules/fichinter/pdf_soleil.modules.php | 20 +++++++++-- .../livraison/pdf/pdf_sirocco.modules.php | 18 ++++------ .../livraison/pdf/pdf_typhon.modules.php | 20 ++++------- .../project/pdf/pdf_baleine.modules.php | 21 ++++++----- .../propale/pdf_propale_azur.modules.php | 14 ++------ .../propale/pdf_propale_jaune.modules.php | 32 ++++++++--------- .../pdf/pdf_muscadet.modules.php | 24 ++++++++----- htdocs/lib/pdf.lib.php | 36 ++++++++++++++++--- 13 files changed, 145 insertions(+), 153 deletions(-) diff --git a/htdocs/includes/modules/commande/pdf_edison.modules.php b/htdocs/includes/modules/commande/pdf_edison.modules.php index c6fe67e9026..880fc04918b 100644 --- a/htdocs/includes/modules/commande/pdf_edison.modules.php +++ b/htdocs/includes/modules/commande/pdf_edison.modules.php @@ -567,40 +567,29 @@ class pdf_edison extends ModelePDFCommandes $result=$object->fetch_contact($arrayidcontact[0]); } - if ($usecontact) + // Recipient name + if (! empty($usecontact)) { - // Recipient name - $carac_client_name=$outputlangs->convToOutputCharset($object->client->nom); - - // Customer name - $carac_client = "\n".$outputlangs->convToOutputCharset($object->contact->getFullName($outputlangs,1,1)); - - // Customer properties - $carac_client.="\n".$outputlangs->convToOutputCharset($object->contact->address); - $carac_client.="\n".$outputlangs->convToOutputCharset($object->contact->cp) . " " . $outputlangs->convToOutputCharset($object->contact->ville)."\n"; - if ($object->contact->pays_code && $object->contact->pays_code != $this->emetteur->pays_code) $carac_client.=$outputlangs->convToOutputCharset($outputlangs->transnoentitiesnoconv("Country".$object->contact->pays_code))."\n"; + // On peut utiliser le nom de la societe du contact + if ($conf->global->MAIN_USE_COMPANY_NAME_OF_CONTACT) $socname = $object->contact->socname; + else $socname = $object->client->nom; + $carac_client_name=$outputlangs->convToOutputCharset($socname); } else { - // Recipient name $carac_client_name=$outputlangs->convToOutputCharset($object->client->nom); - - // Recipient properties - $carac_client.="\n".$outputlangs->convToOutputCharset($object->client->address); - $carac_client.="\n".$outputlangs->convToOutputCharset($object->client->cp) . " " . $outputlangs->convToOutputCharset($object->client->ville)."\n"; - if ($object->client->pays_code && $object->client->pays_code != $this->emetteur->pays_code) $carac_client.=$outputlangs->convToOutputCharset($outputlangs->transnoentitiesnoconv("Country".$object->client->pays_code))."\n"; } - // Numero TVA intracom - if ($object->client->tva_intra) $carac_client.="\n".$outputlangs->transnoentities("VATIntraShort").': '.$outputlangs->convToOutputCharset($object->client->tva_intra); + + $carac_client=pdf_build_address($outputlangs,$this->emetteur,$object->client,$object->contact,$usecontact,'target'); // Show customer/recipient $pdf->SetTextColor(0,0,0); - $pdf->SetFont('Arial','B',12); + $pdf->SetFont('Arial','B',11); $pdf->SetXY(102,42); - $pdf->MultiCell(96, 5, $carac_client_name); - $pdf->SetFont('Arial','',11); + $pdf->MultiCell(96, 4, $carac_client_name); + $pdf->SetFont('Arial','',9); $pdf->SetXY(102,$pdf->GetY()); - $pdf->MultiCell(96, 5, $carac_client); + $pdf->MultiCell(96, 4, $carac_client); $pdf->rect(100, 40, 100, 40); diff --git a/htdocs/includes/modules/commande/pdf_einstein.modules.php b/htdocs/includes/modules/commande/pdf_einstein.modules.php index c86dee96601..3a18f369ca9 100644 --- a/htdocs/includes/modules/commande/pdf_einstein.modules.php +++ b/htdocs/includes/modules/commande/pdf_einstein.modules.php @@ -827,26 +827,20 @@ class pdf_einstein extends ModelePDFCommandes $result=$object->fetch_contact($arrayidcontact[0]); } - if ($usecontact) + // Recipient name + if (! empty($usecontact)) { - // Recipient name - $carac_client_name=$outputlangs->convToOutputCharset($object->client->nom); + // On peut utiliser le nom de la societe du contact + if ($conf->global->MAIN_USE_COMPANY_NAME_OF_CONTACT) $socname = $object->contact->socname; + else $socname = $object->client->nom; + $carac_client_name=$outputlangs->convToOutputCharset($socname); } else { - // Recipient name $carac_client_name=$outputlangs->convToOutputCharset($object->client->nom); } - $carac_client=''; - // Recipient name - if ($usecontact) $carac_client.="\n".$outputlangs->convToOutputCharset($object->contact->getFullName($outputlangs,1,1)); - // Recipient properties - $carac_client.="\n".$outputlangs->convToOutputCharset($object->contact->address); - $carac_client.="\n".$outputlangs->convToOutputCharset($object->contact->cp) . " " . $outputlangs->convToOutputCharset($object->contact->ville)."\n"; - if ($object->contact->pays_code && $object->contact->pays_code != $this->emetteur->pays_code) $carac_client.=$outputlangs->convToOutputCharset($outputlangs->transnoentitiesnoconv("Country".$object->contact->pays_code))."\n"; - // Intra VAT - if ($object->client->tva_intra) $carac_client.="\n".$outputlangs->transnoentities("VATIntraShort").': '.$outputlangs->convToOutputCharset($object->client->tva_intra); + $carac_client=pdf_build_address($outputlangs,$this->emetteur,$object->client,$object->contact,$usecontact,'target'); // Show customer/recipient $pdf->SetXY(102,$posy+3); diff --git a/htdocs/includes/modules/expedition/pdf/pdf_expedition_merou.modules.php b/htdocs/includes/modules/expedition/pdf/pdf_expedition_merou.modules.php index 4b61bfc67a0..3a8d160328f 100644 --- a/htdocs/includes/modules/expedition/pdf/pdf_expedition_merou.modules.php +++ b/htdocs/includes/modules/expedition/pdf/pdf_expedition_merou.modules.php @@ -437,7 +437,7 @@ Class pdf_expedition_merou extends ModelePdfExpedition $carac_emetteur = pdf_build_address($outputlangs,$this->emetteur); $pdf->SetFont('Arial','',7); - $pdf->SetXY($blSocX,$blSocY+4); + $pdf->SetXY($blSocX,$blSocY+3); $pdf->MultiCell(80, 2, $carac_emetteur); //Date Expedition @@ -504,26 +504,20 @@ Class pdf_expedition_merou extends ModelePdfExpedition $result=$object->fetch_contact($arrayidcontact[0]); } - if ($usecontact) + // Recipient name + if (! empty($usecontact)) { - $socname = $object->client->nom; + // On peut utiliser le nom de la societe du contact + if ($conf->global->MAIN_USE_COMPANY_NAME_OF_CONTACT) $socname = $object->contact->socname; + else $socname = $object->client->nom; $carac_client_name=$outputlangs->convToOutputCharset($socname); } else { - // Recipient name $carac_client_name=$outputlangs->convToOutputCharset($object->client->nom); } - $carac_client=''; - // Recipient name - if ($usecontact) $carac_client.="\n".$outputlangs->convToOutputCharset($object->contact->getFullName($outputlangs,1,1)); - // Recipient properties - $carac_client.="\n".$outputlangs->convToOutputCharset($object->contact->address); - $carac_client.="\n".$outputlangs->convToOutputCharset($object->contact->cp) . " " . $outputlangs->convToOutputCharset($object->contact->ville)."\n"; - if ($object->contact->pays_code && $object->contact->pays_code != $this->emetteur->pays_code) $carac_client.=$outputlangs->convToOutputCharset($outputlangs->transnoentitiesnoconv("Country".$object->contact->pays_code))."\n"; - // Intra VAT - if ($object->client->tva_intra) $carac_client.="\n".$outputlangs->transnoentities("VATIntraShort").': '.$outputlangs->convToOutputCharset($object->client->tva_intra); + $carac_client=pdf_build_address($outputlangs,$this->emetteur,$object->client,$object->contact,$usecontact,'target'); $blDestX=$blExpX+55; @@ -544,8 +538,8 @@ Class pdf_expedition_merou extends ModelePdfExpedition $pdf->SetFont('Arial','',7); //$posy=$pdf->GetY(); //Auto Y coord readjust for multiline name - $pdf->SetXY($blDestX,$Yoff+3); - $pdf->MultiCell($blW,3, $carac_client); + $pdf->SetXY($blDestX,$pdf->GetY()); + $pdf->MultiCell($blW,2, $carac_client); } } ?> diff --git a/htdocs/includes/modules/facture/pdf_crabe.modules.php b/htdocs/includes/modules/facture/pdf_crabe.modules.php index b8ee750a808..24ea39ab072 100644 --- a/htdocs/includes/modules/facture/pdf_crabe.modules.php +++ b/htdocs/includes/modules/facture/pdf_crabe.modules.php @@ -1095,7 +1095,8 @@ class pdf_crabe extends ModelePDFFactures $result=$object->fetch_contact($arrayidcontact[0]); } - if ($usecontact) + // Recipient name + if (! empty($usecontact)) { // On peut utiliser le nom de la societe du contact if ($conf->global->MAIN_USE_COMPANY_NAME_OF_CONTACT) $socname = $object->contact->socname; @@ -1104,19 +1105,10 @@ class pdf_crabe extends ModelePDFFactures } else { - // Recipient name $carac_client_name=$outputlangs->convToOutputCharset($object->client->nom); } - $carac_client=''; - // Recipient name - if ($usecontact) $carac_client.="\n".$outputlangs->convToOutputCharset($object->contact->getFullName($outputlangs,1,1)); - // Recipient properties - $carac_client.="\n".$outputlangs->convToOutputCharset($object->contact->address); - $carac_client.="\n".$outputlangs->convToOutputCharset($object->contact->cp) . " " . $outputlangs->convToOutputCharset($object->contact->ville)."\n"; - if ($object->contact->pays_code && $object->contact->pays_code != $this->emetteur->pays_code) $carac_client.=$outputlangs->convToOutputCharset($outputlangs->transnoentitiesnoconv("Country".$object->contact->pays_code))."\n"; - // Intra VAT - if ($object->client->tva_intra) $carac_client.="\n".$outputlangs->transnoentities("VATIntraShort").': '.$outputlangs->convToOutputCharset($object->client->tva_intra); + $carac_client=pdf_build_address($outputlangs,$this->emetteur,$object->client,$object->contact,$usecontact,'target'); // Show recipient $posy=42; diff --git a/htdocs/includes/modules/facture/pdf_oursin.modules.php b/htdocs/includes/modules/facture/pdf_oursin.modules.php index c9afc864c2f..b97d189620c 100644 --- a/htdocs/includes/modules/facture/pdf_oursin.modules.php +++ b/htdocs/includes/modules/facture/pdf_oursin.modules.php @@ -882,34 +882,28 @@ class pdf_oursin extends ModelePDFFactures $result=$object->fetch_contact($arrayidcontact[0]); } - if ($usecontact) + // Recipient name + if (! empty($usecontact)) { - // On peut utiliser le nom de la societe du contact facturation + // On peut utiliser le nom de la societe du contact if ($conf->global->MAIN_USE_COMPANY_NAME_OF_CONTACT) $socname = $object->contact->socname; else $socname = $object->client->nom; $carac_client_name=$outputlangs->convToOutputCharset($socname); } else { - // Recipient name $carac_client_name=$outputlangs->convToOutputCharset($object->client->nom); } - $carac_client=''; - // Recipient name - if ($usecontact) $carac_client.="\n".$outputlangs->convToOutputCharset($object->contact->getFullName($outputlangs,1,1)); - // Recipient properties - $carac_client.="\n".$outputlangs->convToOutputCharset($object->contact->address); - $carac_client.="\n".$outputlangs->convToOutputCharset($object->contact->cp) . " " . $outputlangs->convToOutputCharset($object->contact->ville)."\n"; - if ($object->contact->pays_code && $object->contact->pays_code != $this->emetteur->pays_code) $carac_client.=$outputlangs->convToOutputCharset($outputlangs->transnoentitiesnoconv("Country".$object->contact->pays_code))."\n"; - // Intra VAT - if ($object->client->tva_intra) $carac_client.="\n".$outputlangs->transnoentities("VATIntraShort").': '.$outputlangs->convToOutputCharset($object->client->tva_intra); + + $carac_client=pdf_build_address($outputlangs,$this->emetteur,$object->client,$object->contact,$usecontact,'target'); // Show customer/recipient $pdf->SetFont('Arial','B',11); $pdf->SetXY($this->marges['g']+100,$posy+4); $pdf->MultiCell(86,4, $carac_client_name, 0, 'L'); + $pdf->SetFont('Arial','B',10); - $pdf->SetXY($this->marges['g']+100,$posy+12); + $pdf->SetXY($this->marges['g']+100,$posy+10); $pdf->MultiCell(86,4, $carac_client); /* diff --git a/htdocs/includes/modules/fichinter/pdf_soleil.modules.php b/htdocs/includes/modules/fichinter/pdf_soleil.modules.php index 255bcb72d10..9702f444787 100644 --- a/htdocs/includes/modules/fichinter/pdf_soleil.modules.php +++ b/htdocs/includes/modules/fichinter/pdf_soleil.modules.php @@ -218,16 +218,32 @@ class pdf_soleil extends ModelePDFFicheinter $pdf->SetXY($this->marge_gauche+2,$posy+9); $pdf->MultiCell(80, 4, $carac_emetteur); + $object=$fichinter; + + // Recipient name + if (! empty($usecontact)) + { + // On peut utiliser le nom de la societe du contact + if ($conf->global->MAIN_USE_COMPANY_NAME_OF_CONTACT) $socname = $object->contact->socname; + else $socname = $object->client->nom; + $carac_client_name=$outputlangs->convToOutputCharset($socname); + } + else + { + $carac_client_name=$outputlangs->convToOutputCharset($object->client->nom); + } + + $carac_client=pdf_build_address($outputlangs,$this->emetteur,$object->client,$object->contact,$usecontact,'target'); // Client destinataire $pdf->SetTextColor(0,0,0); $pdf->SetFont('Arial','B',12); $fichinter->fetch_client(); $pdf->SetXY(102,42); - $pdf->MultiCell(86,5, $outputlangs->convToOutputCharset($fichinter->client->nom)); + $pdf->MultiCell(86,5, $outputlangs->convToOutputCharset($carac_client_name)); $pdf->SetFont('Arial','B',11); $pdf->SetXY(102,$pdf->GetY()); - $pdf->MultiCell(66,5, $outputlangs->convToOutputCharset($fichinter->client->address) . "\n" . $outputlangs->convToOutputCharset($fichinter->client->cp) . " " . $outputlangs->convToOutputCharset($fichinter->client->ville)); + $pdf->MultiCell(66,5, $outputlangs->convToOutputCharset($carac_client)); $pdf->rect(100, 40, 100, 40); diff --git a/htdocs/includes/modules/livraison/pdf/pdf_sirocco.modules.php b/htdocs/includes/modules/livraison/pdf/pdf_sirocco.modules.php index a413c3002a4..9e54ff685ad 100644 --- a/htdocs/includes/modules/livraison/pdf/pdf_sirocco.modules.php +++ b/htdocs/includes/modules/livraison/pdf/pdf_sirocco.modules.php @@ -391,26 +391,20 @@ class pdf_sirocco extends ModelePDFDeliveryOrder $result=$object->fetch_contact($arrayidcontact[0]); } - if ($usecontact) + // Recipient name + if (! empty($usecontact)) { - $socname = $object->client->nom; + // On peut utiliser le nom de la societe du contact + if ($conf->global->MAIN_USE_COMPANY_NAME_OF_CONTACT) $socname = $object->contact->socname; + else $socname = $object->client->nom; $carac_client_name=$outputlangs->convToOutputCharset($socname); } else { - // Recipient name $carac_client_name=$outputlangs->convToOutputCharset($object->client->nom); } - $carac_client=''; - // Recipient name - if ($usecontact) $carac_client.="\n".$outputlangs->convToOutputCharset($object->contact->getFullName($outputlangs,1,1)); - // Recipient properties - $carac_client.="\n".$outputlangs->convToOutputCharset($object->contact->address); - $carac_client.="\n".$outputlangs->convToOutputCharset($object->contact->cp) . " " . $outputlangs->convToOutputCharset($object->contact->ville)."\n"; - if ($object->contact->pays_code && $object->contact->pays_code != $this->emetteur->pays_code) $carac_client.=$outputlangs->convToOutputCharset($outputlangs->transnoentitiesnoconv("Country".$object->contact->pays_code))."\n"; - // Intra VAT - if ($object->client->tva_intra) $carac_client.="\n".$outputlangs->transnoentities("VATIntraShort").': '.$outputlangs->convToOutputCharset($object->client->tva_intra); + $carac_client=pdf_build_address($outputlangs,$this->emetteur,$object->client,$object->contact,$usecontact,'target'); $pdf->SetTextColor(0,0,0); $pdf->SetFont('Arial','B',12); diff --git a/htdocs/includes/modules/livraison/pdf/pdf_typhon.modules.php b/htdocs/includes/modules/livraison/pdf/pdf_typhon.modules.php index 9e6384d24bf..6363623e29a 100644 --- a/htdocs/includes/modules/livraison/pdf/pdf_typhon.modules.php +++ b/htdocs/includes/modules/livraison/pdf/pdf_typhon.modules.php @@ -618,26 +618,20 @@ class pdf_typhon extends ModelePDFDeliveryOrder $result=$object->fetch_contact($arrayidcontact[0]); } - if ($usecontact) + // Recipient name + if (! empty($usecontact)) { - $socname = $object->client->nom; + // On peut utiliser le nom de la societe du contact + if ($conf->global->MAIN_USE_COMPANY_NAME_OF_CONTACT) $socname = $object->contact->socname; + else $socname = $object->client->nom; $carac_client_name=$outputlangs->convToOutputCharset($socname); } else { - // Recipient name $carac_client_name=$outputlangs->convToOutputCharset($object->client->nom); } - $carac_client=''; - // Recipient name - if ($usecontact) $carac_client.="\n".$outputlangs->convToOutputCharset($object->contact->getFullName($outputlangs,1,1)); - // Recipient properties - $carac_client.="\n".$outputlangs->convToOutputCharset($object->contact->address); - $carac_client.="\n".$outputlangs->convToOutputCharset($object->contact->cp) . " " . $outputlangs->convToOutputCharset($object->contact->ville)."\n"; - if ($object->contact->pays_code && $object->contact->pays_code != $this->emetteur->pays_code) $carac_client.=$outputlangs->convToOutputCharset($outputlangs->transnoentitiesnoconv("Country".$object->contact->pays_code))."\n"; - // Intra VAT - if ($object->client->tva_intra) $carac_client.="\n".$outputlangs->transnoentities("VATIntraShort").': '.$outputlangs->convToOutputCharset($object->client->tva_intra); + $carac_client=pdf_build_address($outputlangs,$this->emetteur,$object->client,$object->contact,$usecontact,'target'); // Show customer/recipient $pdf->SetXY(102,$posy+3); @@ -645,7 +639,7 @@ class pdf_typhon extends ModelePDFDeliveryOrder $pdf->MultiCell(106,4, $carac_client_name, 0, 'L'); $pdf->SetFont('Arial','',9); - $pdf->SetXY(102,$posy+8); + $pdf->SetXY(102,$posy+7); $pdf->MultiCell(86,4, $carac_client); } diff --git a/htdocs/includes/modules/project/pdf/pdf_baleine.modules.php b/htdocs/includes/modules/project/pdf/pdf_baleine.modules.php index 60a5e4d5c14..4b97b1a23d3 100644 --- a/htdocs/includes/modules/project/pdf/pdf_baleine.modules.php +++ b/htdocs/includes/modules/project/pdf/pdf_baleine.modules.php @@ -436,16 +436,19 @@ class pdf_baleine extends ModelePDFProjects $object->fetch_client(); // Recipient name - $carac_client_name=$outputlangs->convToOutputCharset($object->client->nom); - - // Recipient properties - $carac_client.="\n".$outputlangs->convToOutputCharset($object->client->address); - $carac_client.="\n".$outputlangs->convToOutputCharset($object->client->cp) . " " . $outputlangs->convToOutputCharset($object->client->ville)."\n"; - if ($object->client->pays_code && $object->client->pays_code != $this->emetteur->pays_code) $carac_client.=$outputlangs->convToOutputCharset($outputlangs->transnoentitiesnoconv("Country".$object->client->pays_code))."\n"; - - // Numero TVA intracom - if ($object->client->tva_intra) $carac_client.="\n".$outputlangs->transnoentities("VATIntraShort").': '.$outputlangs->convToOutputCharset($object->client->tva_intra); + if (! empty($usecontact)) + { + // On peut utiliser le nom de la societe du contact + if ($conf->global->MAIN_USE_COMPANY_NAME_OF_CONTACT) $socname = $object->contact->socname; + else $socname = $object->client->nom; + $carac_client_name=$outputlangs->convToOutputCharset($socname); + } + else + { + $carac_client_name=$outputlangs->convToOutputCharset($object->client->nom); + } + $carac_client=pdf_build_address($outputlangs,$this->emetteur,$object->client,$object->contact,$usecontact,'target'); // Show customer/recipient $pdf->SetXY(102,$posy+3); diff --git a/htdocs/includes/modules/propale/pdf_propale_azur.modules.php b/htdocs/includes/modules/propale/pdf_propale_azur.modules.php index 4b3c808ef80..8d9acfd65bc 100644 --- a/htdocs/includes/modules/propale/pdf_propale_azur.modules.php +++ b/htdocs/includes/modules/propale/pdf_propale_azur.modules.php @@ -897,7 +897,8 @@ class pdf_propale_azur extends ModelePDFPropales $result=$object->fetch_contact($arrayidcontact[0]); } - if ($usecontact) + // Recipient name + if (! empty($usecontact)) { // On peut utiliser le nom de la societe du contact if ($conf->global->MAIN_USE_COMPANY_NAME_OF_CONTACT) $socname = $object->contact->socname; @@ -906,19 +907,10 @@ class pdf_propale_azur extends ModelePDFPropales } else { - // Recipient name $carac_client_name=$outputlangs->convToOutputCharset($object->client->nom); } - $carac_client=''; - // Recipient name - if ($usecontact) $carac_client.="\n".$outputlangs->convToOutputCharset($object->contact->getFullName($outputlangs,1,1)); - // Recipient properties - $carac_client.="\n".$outputlangs->convToOutputCharset($object->contact->address); - $carac_client.="\n".$outputlangs->convToOutputCharset($object->contact->cp) . " " . $outputlangs->convToOutputCharset($object->contact->ville)."\n"; - if ($object->contact->pays_code && $object->contact->pays_code != $this->emetteur->pays_code) $carac_client.=$outputlangs->convToOutputCharset($outputlangs->transnoentitiesnoconv("Country".$object->contact->pays_code))."\n"; - // Intra VAT - if ($object->client->tva_intra) $carac_client.="\n".$outputlangs->transnoentities("VATIntraShort").': '.$outputlangs->convToOutputCharset($object->client->tva_intra); + $carac_client=pdf_build_address($outputlangs,$this->emetteur,$object->client,$object->contact,$usecontact,'target'); // Show recipient $posy=42; diff --git a/htdocs/includes/modules/propale/pdf_propale_jaune.modules.php b/htdocs/includes/modules/propale/pdf_propale_jaune.modules.php index ffcc800a46a..46c3f3476f8 100644 --- a/htdocs/includes/modules/propale/pdf_propale_jaune.modules.php +++ b/htdocs/includes/modules/propale/pdf_propale_jaune.modules.php @@ -592,31 +592,27 @@ class pdf_propale_jaune extends ModelePDFPropales $result=$object->fetch_contact($arrayidcontact[0]); } - if ($usecontact) + // Recipient name + if (! empty($usecontact)) { - // Nom societe - $pdf->SetXY(102,$posy+3); - $pdf->SetFont('Arial','B',11); - $pdf->MultiCell(96,4, $outputlangs->convToOutputCharset($object->client->nom), 0, 'L'); + // On peut utiliser le nom de la societe du contact + if ($conf->global->MAIN_USE_COMPANY_NAME_OF_CONTACT) $socname = $object->contact->socname; + else $socname = $object->client->nom; + $carac_client_name=$outputlangs->convToOutputCharset($socname); } else { - // Recipient name - $pdf->SetXY(102,$posy+3); - $pdf->SetFont('Arial','B',11); - $pdf->MultiCell(96,4, $outputlangs->convToOutputCharset($object->client->nom), 0, 'L'); + $carac_client_name=$outputlangs->convToOutputCharset($object->client->nom); } - $carac_client=''; - // Recipient name - if ($usecontact) $carac_client.="\n".$outputlangs->convToOutputCharset($object->contact->getFullName($outputlangs,1,1)); - // Recipient properties - $carac_client.="\n".$outputlangs->convToOutputCharset($object->contact->address); - $carac_client.="\n".$outputlangs->convToOutputCharset($object->contact->cp) . " " . $outputlangs->convToOutputCharset($object->contact->ville)."\n"; - if ($object->contact->pays_code && $object->contact->pays_code != $this->emetteur->pays_code) $carac_client.=$outputlangs->convToOutputCharset($outputlangs->transnoentitiesnoconv("Country".$object->contact->pays_code))."\n"; - // Intra VAT - if ($object->client->tva_intra) $carac_client.="\n".$outputlangs->transnoentities("VATIntraShort").': '.$outputlangs->convToOutputCharset($object->client->tva_intra); + $carac_client=pdf_build_address($outputlangs,$this->emetteur,$object->client,$object->contact,$usecontact,'target'); + // Show recipient + $pdf->SetXY(102,$posy+3); + $pdf->SetFont('Arial','B',11); + $pdf->MultiCell(96,4, $outputlangs->convToOutputCharset($carac_client_name), 0, 'L'); + + // Show address $pdf->SetFont('Arial','',9); $posy=$pdf->GetY()-9; //Auto Y coord readjust for multiline name $pdf->SetXY(102,$posy+6); diff --git a/htdocs/includes/modules/supplier_order/pdf/pdf_muscadet.modules.php b/htdocs/includes/modules/supplier_order/pdf/pdf_muscadet.modules.php index c13058995e9..165e67589fc 100644 --- a/htdocs/includes/modules/supplier_order/pdf/pdf_muscadet.modules.php +++ b/htdocs/includes/modules/supplier_order/pdf/pdf_muscadet.modules.php @@ -628,13 +628,13 @@ class pdf_muscadet extends ModelePDFSuppliersOrders if ($showadress) { - // Emetteur + // Receive email $posy=42; $hautcadre=40; $pdf->SetTextColor(0,0,0); $pdf->SetFont('Arial','',8); $pdf->SetXY($this->marge_gauche,$posy-5); - $pdf->MultiCell(66,5, $outputlangs->transnoentities("BillFrom").":"); + $pdf->MultiCell(66,5, $outputlangs->transnoentities("BillTo").":"); $pdf->SetXY($this->marge_gauche,$posy); @@ -672,14 +672,20 @@ class pdf_muscadet extends ModelePDFSuppliersOrders // Cadre client destinataire $pdf->rect(100, $posy, 100, $hautcadre); - $carac_client_name = $outputlangs->convToOutputCharset($object->client->nom); + // Recipient name + if (! empty($usecontact)) + { + // On peut utiliser le nom de la societe du contact + if ($conf->global->MAIN_USE_COMPANY_NAME_OF_CONTACT) $socname = $object->contact->socname; + else $socname = $object->client->nom; + $carac_client_name=$outputlangs->convToOutputCharset($socname); + } + else + { + $carac_client_name=$outputlangs->convToOutputCharset($object->client->nom); + } - $carac_client=$outputlangs->convToOutputCharset($object->client->address); - $carac_client.="\n".$outputlangs->convToOutputCharset($object->client->cp) . " " . $outputlangs->convToOutputCharset($object->client->ville)."\n"; - if ($object->client->pays_code && $object->client->pays_code != $this->emetteur->pays_code) $carac_client.=$outputlangs->convToOutputCharset($outputlangs->transnoentitiesnoconv("Country".$object->client->pays_code))."\n"; - - // Numero TVA intracom - if ($object->client->tva_intra) $carac_client.="\n".$outputlangs->transnoentities("VATIntraShort").': '.$outputlangs->convToOutputCharset($object->client->tva_intra); + $carac_client=pdf_build_address($outputlangs,$this->emetteur,$object->client,$object->contact,$usecontact,'target'); // Show customer/recipient $pdf->SetXY(102,$posy+3); diff --git a/htdocs/lib/pdf.lib.php b/htdocs/lib/pdf.lib.php index 9836558050a..1fa45d6cfe2 100644 --- a/htdocs/lib/pdf.lib.php +++ b/htdocs/lib/pdf.lib.php @@ -31,15 +31,21 @@ * \brief Mutualize code to build address for PDF generation * \param outputlangs Output langs object * \param sourcecompany Source company object - * \param targetcompany Target company object (not used yet) - * \param targetcontact Target contact object (not used yet) + * \param targetcompany Target company object + * \param targetcontact Target contact object + * \param usecontact Use contact instead of company * \return string Source of file */ -function pdf_build_address($outputlangs,$sourcecompany,$targetcompany='',$targetcontact='') +function pdf_build_address($outputlangs,$sourcecompany,$targetcompany='',$targetcontact='',$usecontact=0,$mode='source') { + global $conf; + $stringaddress = ''; - if (is_object($sourcecompany)) + if ($mode == 'source' && ! is_object($sourcecompany)) return -1; + if ($mode == 'target' && ! is_object($targetcompany)) return -1; + + if ($mode == 'source') { $stringaddress .= ($stringaddress ? "\n" : '' ).$outputlangs->convToOutputCharset($sourcecompany->address); $stringaddress .= ($stringaddress ? "\n" : '' ).$outputlangs->convToOutputCharset($sourcecompany->cp).' '.$outputlangs->convToOutputCharset($sourcecompany->ville); @@ -54,6 +60,28 @@ function pdf_build_address($outputlangs,$sourcecompany,$targetcompany='',$target if ($sourcecompany->url) $stringaddress .= ($stringaddress ? "\n" : '' ).$outputlangs->transnoentities("Web").": ".$outputlangs->convToOutputCharset($sourcecompany->url); } + if ($mode == 'target') + { + if ($usecontact) + { + $stringaddress.="\n".$outputlangs->convToOutputCharset($targetcontact->getFullName($outputlangs,1,1)); + // Recipient properties + $stringaddress.="\n".$outputlangs->convToOutputCharset($targetcontact->address); + $stringaddress.="\n".$outputlangs->convToOutputCharset($targetcontact->cp) . " " . $outputlangs->convToOutputCharset($targetcontact->ville)."\n"; + if ($targetcontact->pays_code && $targetcontact->pays_code != $sourcecompany->pays_code) $stringaddress.=$outputlangs->convToOutputCharset($outputlangs->transnoentitiesnoconv("Country".$targetcontact->pays_code))."\n"; + // Intra VAT + if ($targetcompany->tva_intra) $stringaddress.="\n".$outputlangs->transnoentities("VATIntraShort").': '.$outputlangs->convToOutputCharset($targetcompany->tva_intra); + } + else + { + // Recipient properties + $stringaddress.="\n".$outputlangs->convToOutputCharset($targetcompany->address); + $stringaddress.="\n".$outputlangs->convToOutputCharset($targetcompany->cp) . " " . $outputlangs->convToOutputCharset($targetcompany->ville)."\n"; + if ($targetcompany->pays_code && $targetcompany->pays_code != $sourcecompany->pays_code) $stringaddress.=$outputlangs->convToOutputCharset($outputlangs->transnoentitiesnoconv("Country".$targetcompany->pays_code))."\n"; + // Intra VAT + if ($targetcompany->tva_intra) $stringaddress.="\n".$outputlangs->transnoentities("VATIntraShort").': '.$outputlangs->convToOutputCharset($targetcompany->tva_intra); + } + } return $stringaddress; }