Fix: Some errors on generating delivery and sending receipts

This commit is contained in:
Laurent Destailleur 2008-07-11 06:46:55 +00:00
parent f92c05ec38
commit 22e20cea21
10 changed files with 1281 additions and 1271 deletions

View File

@ -67,10 +67,16 @@ if ($_GET["action"] == 'specimen')
header("Location: ".DOL_URL_ROOT."/document.php?modulepart=expedition&file=SPECIMEN.pdf");
return;
}
else
{
$mesg='<div class="error">'.$obj->error.'</div>';
dolibarr_syslog($obj->error, LOG_ERR);
}
}
else
{
$mesg='<div class="error">'.$langs->trans("ErrorModuleNotFound").'</div>';
dolibarr_syslog($langs->trans("ErrorModuleNotFound"), LOG_ERR);
}
}

View File

@ -74,10 +74,16 @@ if ($_GET["action"] == 'specimen')
header("Location: ".DOL_URL_ROOT."/document.php?modulepart=livraison&file=SPECIMEN.pdf");
return;
}
else
{
$mesg='<div class="error">'.$obj->error.'</div>';
dolibarr_syslog($obj->error, LOG_ERR);
}
}
else
{
$mesg='<div class="error">'.$langs->trans("ErrorModuleNotFound").'</div>';
dolibarr_syslog($langs->trans("ErrorModuleNotFound"), LOG_ERR);
}
}

View File

@ -218,7 +218,7 @@ if ($modulepart)
{
$accessallowed=1;
}
$original_file=$conf->expedition->dir_output.'/'.$original_file;
$original_file=$conf->expedition_bon->dir_output.'/'.$original_file;
//$sqlprotectagainstexternals = "SELECT fk_soc as fk_soc FROM ".MAIN_DB_PREFIX."fichinter WHERE ref='$refname'";
}
@ -230,7 +230,7 @@ if ($modulepart)
{
$accessallowed=1;
}
$original_file=$conf->livraison->dir_output.'/'.$original_file;
$original_file=$conf->livraison_bon->dir_output.'/'.$original_file;
//$sqlprotectagainstexternals = "SELECT fk_soc as fk_soc FROM ".MAIN_DB_PREFIX."fichinter WHERE ref='$refname'";
}

View File

@ -662,6 +662,8 @@ class Expedition extends CommonObject
{
global $user,$langs;
dolibarr_syslog("Expedition::initAsSpecimen");
// Charge tableau des id de société socids
$socids = array();
$sql = "SELECT rowid FROM ".MAIN_DB_PREFIX."societe WHERE client=1 LIMIT 10";

View File

@ -684,7 +684,7 @@ else
if ($conf->expedition_bon->enabled)
{
$expeditionref = sanitize_string($expedition->ref);
$filedir = $conf->expedition->dir_output . "/" .$expeditionref;
$filedir = $conf->expedition_bon->dir_output . "/" .$expeditionref;
$urlsource = $_SERVER["PHP_SELF"]."?id=".$expedition->id;

View File

@ -1,6 +1,6 @@
<?php
/* Copyright (C) 2005 Rodolphe Quiedeville <rodolphe@quiedeville.org>
* Copyright (C) 2005-2006 Laurent Destailleur <eldy@users.sourceforge.net>
* Copyright (C) 2005-2008 Laurent Destailleur <eldy@users.sourceforge.net>
* Copyright (C) 2005 Regis Houssin <regis@dolibarr.fr>
*
* This program is free software; you can redistribute it and/or modify
@ -20,32 +20,32 @@
*/
/**
\file htdocs/expedition/mods/pdf/pdf_expedition_dorade.modules.php
\ingroup expedition
\brief Fichier de la classe permettant de générer les bordereaux envoi au modèle Merou
\version $Id$
*/
\file htdocs/expedition/mods/pdf/pdf_expedition_merou.modules.php
\ingroup expedition
\brief Fichier de la classe permettant de générer les bordereaux envoi au modèle Merou
\version $Id$
*/
require_once DOL_DOCUMENT_ROOT."/expedition/mods/pdf/ModelePdfExpedition.class.php";
require_once DOL_DOCUMENT_ROOT."/contact.class.php";
/**
\class pdf_expedition_dorade
\brief Classe permettant de générer les borderaux envoi au modèle Merou
*/
\class pdf_expedition_dorade
\brief Classe permettant de générer les borderaux envoi au modèle Merou
*/
Class pdf_expedition_merou extends ModelePdfExpedition
{
var $emetteur; // Objet societe qui emet
/**
\brief Constructeur
\param db Handler accès base de donnée
*/
/**
\brief Constructeur
\param db Handler accès base de donnée
*/
function pdf_expedition_merou($db=0)
{
global $conf,$langs,$mysoc;
{
global $conf,$langs,$mysoc;
$this->db = $db;
$this->name = "Merou";
@ -57,35 +57,35 @@ Class pdf_expedition_merou extends ModelePdfExpedition
|element->commande,source->external,code->DESTINATAIRE \n
";
$this->type = 'pdf';
$this->page_largeur = 148.5;
$this->page_hauteur = 210;
$this->format = array($this->page_largeur,$this->page_hauteur);
$this->option_logo = 1; // Affiche logo
// Recupere emmetteur
$this->emetteur=$mysoc;
if (! $this->emetteur->pays_code) $this->emetteur->pays_code=substr($langs->defaultlang,-2); // Par defaut, si n'était pas défini
$this->type = 'pdf';
$this->page_largeur = 148.5;
$this->page_hauteur = 210;
$this->format = array($this->page_largeur,$this->page_hauteur);
$this->option_logo = 1; // Affiche logo
// Recupere emmetteur
$this->emetteur=$mysoc;
if (! $this->emetteur->pays_code) $this->emetteur->pays_code=substr($langs->defaultlang,-2); // Par defaut, si n'était pas défini
}
/**
* \brief Fonction générant le document sur le disque
* \param obj Objet expedition à générer (ou id si ancienne methode)
* \return int 1=ok, 0=ko
*/
/**
* \brief Fonction générant le document sur le disque
* \param obj Objet expedition à générer (ou id si ancienne methode)
* \return int 1=ok, 0=ko
*/
function write_file(&$obj, $outputlangs='')
{
global $user,$conf,$langs;
if (! is_object($outputlangs)) $outputlangs=$langs;
$outputlangs->load("main");
$outputlangs->load("companies");
$outputlangs->load("bills");
$outputlangs->load("propal");
$outputlangs->load("products");
$outputlangs->load("sendings");
$outputlangs->load("companies");
$outputlangs->load("bills");
$outputlangs->load("propal");
$outputlangs->load("products");
$outputlangs->load("sendings");
$outputlangs->setPhpLang();
@ -93,40 +93,40 @@ Class pdf_expedition_merou extends ModelePdfExpedition
$this->expe = $obj;
//Verification de la configuration
if ($conf->expedition->dir_output)
{
if ($conf->expedition_bon->dir_output)
{
//Creation du Client
$soc = new Societe($this->db);
$soc->fetch($this->expe->commande->socid);
//Creation de l expediteur
$this->expediteur = $soc;
//Creation du destinataire
$this->destinataire = new Contact($this->db);
// $pdf->expe->commande->fetch($pdf->commande->id);
//print_r($pdf->expe);
// $pdf->expe->commande->fetch($pdf->commande->id);
//print_r($pdf->expe);
$idcontact = $this->expe->commande->getIdContact('external','DESTINATAIRE');
$this->destinataire->fetch($idcontact[0]);
//Creation du livreur
$idcontact = $this->expe->commande->getIdContact('internal','LIVREUR');
$this->livreur = new User($this->db,$idcontact[0]);
if ($idcontact[0]) $this->livreur->fetch();
// Définition de $dir et $file
if ($this->expe->specimen)
{
$dir = $conf->expedition->dir_output;
$dir = $conf->expedition_bon->dir_output;
$file = $dir . "/SPECIMEN.pdf";
}
else
{
$expref = sanitize_string($this->expe->ref);
$dir = $conf->expedition->dir_output . "/" . $expref;
$dir = $conf->expedition_bon->dir_output . "/" . $expref;
$file = $dir . "/" . $expref . ".pdf";
}
if (! file_exists($dir))
{
if (create_exdir($dir) < 0)
@ -135,21 +135,21 @@ Class pdf_expedition_merou extends ModelePdfExpedition
return 0;
}
}
//Si le dossier existe
if (file_exists($dir))
{
// Initialisation Bon vierge
// Initialisation Bon vierge
$pdf = new FPDI_Protection('l','mm',$this->format);
// Protection et encryption du pdf
if ($conf->global->PDF_SECURITY_ENCRYPTION)
{
$pdfrights = array('print'); // Ne permet que l'impression du document
$pdfuserpass = ''; // Mot de passe pour l'utilisateur final
$pdfownerpass = NULL; // Mot de passe du propriétaire, créé aléatoirement si pas défini
$pdf->SetProtection($pdfrights,$pdfuserpass,$pdfownerpass);
}
// Protection et encryption du pdf
if ($conf->global->PDF_SECURITY_ENCRYPTION)
{
$pdfrights = array('print'); // Ne permet que l'impression du document
$pdfuserpass = ''; // Mot de passe pour l'utilisateur final
$pdfownerpass = NULL; // Mot de passe du propriétaire, créé aléatoirement si pas défini
$pdf->SetProtection($pdfrights,$pdfuserpass,$pdfownerpass);
}
$pdf->Open();
$pdf->AddPage();
@ -191,19 +191,19 @@ Class pdf_expedition_merou extends ModelePdfExpedition
$pdf->rect(20+3, $curY+1, 3, 3);
//Insertion de la reference du produit
$pdf->SetXY (30, $curY );
$pdf->SetFont('Arial','B', 7);
$pdf->SetFont('Arial','B', 7);
$pdf->MultiCell(20, 5, $Prod->ref, 0, 'L', 0);
//Insertion du libelle
$pdf->SetFont('Arial','', 7);
$pdf->SetFont('Arial','', 7);
$pdf->SetXY (50, $curY );
$pdf->MultiCell(130, 5, $Prod->libelle, 0, 'L', 0);
//Insertion de la quantite
$pdf->SetFont('Arial','', 7);
$pdf->SetFont('Arial','', 7);
$pdf->SetXY (180, $curY );
$pdf->MultiCell(20, 5, $Produits[$i]->qty, 0, 'L', 0);
//Generation de la page 2
$curY += 4;
$nexY = $curY;
$nexY = $curY;
if ($nexY > ($tab_top+$tab_height-10) && $i < $nblignes - 1){
$this->_tableau($pdf, $tab_top, $tab_height, $nexY);
$this->_pagefoot($pdf);
@ -223,26 +223,26 @@ Class pdf_expedition_merou extends ModelePdfExpedition
$pdf->Close();
$pdf->Output($file);
$langs->setPhpLang(); // On restaure langue session
return 1;
}
else
{
$this->error=$outputlangs->transnoentities("ErrorCanNotCreateDir",$dir);
else
{
$this->error=$outputlangs->transnoentities("ErrorCanNotCreateDir",$dir);
$langs->setPhpLang(); // On restaure langue session
return 0;
}
return 0;
}
}
else
{
$this->error=$outputlangs->transnoentities("ErrorConstantNotDefined","EXP_OUTPUTDIR");
else
{
$this->error=$outputlangs->transnoentities("ErrorConstantNotDefined","EXP_OUTPUTDIR");
$langs->setPhpLang(); // On restaure langue session
return 0;
}
$this->error=$outputlangs->transnoentities("ErrorUnknown");
return 0;
}
$this->error=$outputlangs->transnoentities("ErrorUnknown");
$langs->setPhpLang(); // On restaure langue session
return 0; // Erreur par defaut
return 0; // Erreur par defaut
}
@ -252,10 +252,10 @@ Class pdf_expedition_merou extends ModelePdfExpedition
function _tableau(&$pdf, $tab_top, $tab_height, $nexY)
{
global $langs;
$langs->load("main");
$langs->load("bills");
$pdf->SetFont('Arial','B',8);
$pdf->SetXY(10,$tab_top);
$pdf->MultiCell(10,5,"LS",0,'C',1);
@ -295,32 +295,32 @@ Class pdf_expedition_merou extends ModelePdfExpedition
function _pagehead(&$pdf, $exp)
{
global $conf, $langs;
$tab4_top = 60;
$tab4_hl = 6;
$tab4_sl = 4;
$ligne = 2;
//*********************LOGO****************************
$logo=$conf->societe->dir_logos.'/'.$this->emetteur->logo;
if ($this->emetteur->logo)
{
if (is_readable($logo))
{
$pdf->Image($logo,10, 5, 0, 24);
}
else
{
$pdf->SetTextColor(200,0,0);
$pdf->SetFont('Arial','B',8);
$pdf->MultiCell(100, 3, $langs->transnoentities("ErrorLogoFileNotFound",$logo), 0, 'L');
$pdf->MultiCell(100, 3, $langs->transnoentities("ErrorGoToModuleSetup"), 0, 'L');
}
}
else if(defined("MAIN_INFO_SOCIETE_NOM") && FAC_PDF_SOCIETE_NOM)
{
$pdf->MultiCell(100, 4, MAIN_INFO_SOCIETE_NOM, 0, 'L');
}
$logo=$conf->societe->dir_logos.'/'.$this->emetteur->logo;
if ($this->emetteur->logo)
{
if (is_readable($logo))
{
$pdf->Image($logo,10, 5, 0, 24);
}
else
{
$pdf->SetTextColor(200,0,0);
$pdf->SetFont('Arial','B',8);
$pdf->MultiCell(100, 3, $langs->transnoentities("ErrorLogoFileNotFound",$logo), 0, 'L');
$pdf->MultiCell(100, 3, $langs->transnoentities("ErrorGoToModuleSetup"), 0, 'L');
}
}
else if(defined("MAIN_INFO_SOCIETE_NOM") && FAC_PDF_SOCIETE_NOM)
{
$pdf->MultiCell(100, 4, MAIN_INFO_SOCIETE_NOM, 0, 'L');
}
//*********************Entete****************************
//Nom du Document
@ -332,7 +332,7 @@ Class pdf_expedition_merou extends ModelePdfExpedition
//Num Expedition
$Yoff = $Yoff+7;
$Xoff = 140;
// $pdf->rect($Xoff, $Yoff, 85, 8);
// $pdf->rect($Xoff, $Yoff, 85, 8);
$pdf->SetXY($Xoff,$Yoff);
$pdf->SetFont('Arial','',8);
$pdf->SetTextColor(0,0,0);
@ -340,7 +340,7 @@ Class pdf_expedition_merou extends ModelePdfExpedition
//$this->Code39($Xoff+43, $Yoff+1, $this->expe->ref,$ext = true, $cks = false, $w = 0.4, $h = 4, $wide = true);
//Num Commande
$Yoff = $Yoff+4;
// $pdf->rect($Xoff, $Yoff, 85, 8);
// $pdf->rect($Xoff, $Yoff, 85, 8);
$pdf->SetXY($Xoff,$Yoff);
$pdf->SetFont('Arial','',8);
$pdf->SetTextColor(0,0,0);
@ -365,49 +365,49 @@ Class pdf_expedition_merou extends ModelePdfExpedition
$pdf->SetXY($blSocX,$blSocY+3);
$pdf->MultiCell($blSocW, 3, FAC_PDF_ADRESSE, '' , 'L');
}
if (defined("FAC_PDF_ADRESSE2")){
$pdf->SetFont('Arial','',7);
$pdf->SetXY($blSocX,$blSocY+6);
$pdf->MultiCell($blSocW, 3, FAC_PDF_ADRESSE2, '' , 'L');
}
if (defined("FAC_PDF_TEL")){
$pdf->SetFont('Arial','',7);
$pdf->SetXY($blSocX,$blSocY+10);
$pdf->MultiCell($blSocW, 3, "Tel : " . FAC_PDF_TEL, '' , 'L');
}
if (defined("FAC_PDF_MEL")){
$pdf->SetFont('Arial','',7);
$pdf->SetXY($blSocX,$blSocY+13);
$pdf->MultiCell(40, 3, "Email : " . FAC_PDF_MEL, '' , 'L');
}
if (defined("FAC_PDF_FAX")){
$pdf->SetFont('Arial','',7);
$pdf->SetXY($blSocX,$blSocY+16);
$pdf->MultiCell(40, 3, "Fax : " . FAC_PDF_FAX, '' , 'L');
}
if (defined("MAIN_INFO_SIRET")){
$pdf->SetFont('Arial','',7);
$pdf->SetXY($blSocX2,$blSocY+10);
$pdf->MultiCell($blSocW, 3, "SIRET : " . MAIN_INFO_SIRET, '' , 'L');
}
if (defined("MAIN_INFO_APE")){
$pdf->SetFont('Arial','',7);
$pdf->SetXY($blSocX2,$blSocY+13);
$pdf->MultiCell($blSocW, 3, "APE : " . MAIN_INFO_APE, '' , 'L');
}
if (defined("MAIN_INFO_TVAINTRA")){
$pdf->SetFont('Arial','',7);
$pdf->SetXY($blSocX2,$blSocY+16);
$pdf->MultiCell($blSocW, 3, "ICOMM : " . MAIN_INFO_TVAINTRA, '' , 'L');
}
//Date Expedition
$Yoff = $Yoff+7;
$pdf->SetXY($blSocX,$blSocY+20);
@ -455,7 +455,7 @@ Class pdf_expedition_merou extends ModelePdfExpedition
$pdf->SetXY($blExpX,$Yoff+$blSocY);
$pdf->SetFont('Arial','',7);
$pdf->MultiCell($blW,3, "Tel : ".$this->expediteur->tel, 0, 'L');
/**********************************/
//Emplacement Informations Destinataire (Contact livraison)
/**********************************/

View File

@ -1,6 +1,6 @@
<?php
/* Copyright (C) 2005 Rodolphe Quiedeville <rodolphe@quiedeville.org>
* Copyright (C) 2005-2007 Laurent Destailleur <eldy@users.sourceforge.net>
* Copyright (C) 2005-2008 Laurent Destailleur <eldy@users.sourceforge.net>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@ -19,63 +19,63 @@
*/
/**
\file htdocs/expedition/mods/pdf/pdf_expedition_rouget.modules.php
\ingroup expedition
\brief Fichier de la classe permettant de générer les bordereaux envoi au modèle Rouget
\version $Id$
*/
\file htdocs/expedition/mods/pdf/pdf_expedition_rouget.modules.php
\ingroup expedition
\brief Fichier de la classe permettant de générer les bordereaux envoi au modèle Rouget
\version $Id$
*/
require_once DOL_DOCUMENT_ROOT."/expedition/mods/pdf/ModelePdfExpedition.class.php";
/**
\class pdf_expedition_dorade
\brief Classe permettant de générer les borderaux envoi au modèle Rouget
*/
\class pdf_expedition_dorade
\brief Classe permettant de générer les borderaux envoi au modèle Rouget
*/
Class pdf_expedition_rouget extends ModelePdfExpedition
{
var $emetteur; // Objet societe qui emet
/**
\brief Constructeur
\param db Handler accès base de donnée
*/
/**
\brief Constructeur
\param db Handler accès base de donnée
*/
function pdf_expedition_rouget($db=0)
{
global $conf,$langs,$mysoc;
global $conf,$langs,$mysoc;
$this->db = $db;
$this->name = "rouget";
$this->description = "Modèle simple.";
$this->type = 'pdf';
$this->page_largeur = 210;
$this->page_hauteur = 297;
$this->format = array($this->page_largeur,$this->page_hauteur);
$this->marge_gauche=10;
$this->marge_droite=10;
$this->marge_haute=10;
$this->marge_basse=10;
$this->option_logo = 0;
$this->type = 'pdf';
$this->page_largeur = 210;
$this->page_hauteur = 297;
$this->format = array($this->page_largeur,$this->page_hauteur);
$this->marge_gauche=10;
$this->marge_droite=10;
$this->marge_haute=10;
$this->marge_basse=10;
// Recupere emmetteur
$this->emetteur=$mysoc;
if (! $this->emetteur->pays_code) $this->emetteur->pays_code=substr($langs->defaultlang,-2); // Par defaut, si n'était pas défini
$this->option_logo = 0;
// Recupere emmetteur
$this->emetteur=$mysoc;
if (! $this->emetteur->pays_code) $this->emetteur->pays_code=substr($langs->defaultlang,-2); // Par defaut, si n'était pas défini
}
/*
* \param pdf Objet PDF
* \param exp Objet expedition
* \param showadress 0=non, 1=oui
* \param outputlang Objet lang cible
*/
function _pagehead(&$pdf, $exp, $showadress=1, $outputlangs)
* \param pdf Objet PDF
* \param exp Objet expedition
* \param showadress 0=non, 1=oui
* \param outputlang Objet lang cible
*/
function _pagehead(&$pdf, $exp, $showadress=1, $outputlangs)
{
global $conf;
if ($conf->barcode->enabled)
{
$posx=105;
@ -84,69 +84,69 @@ Class pdf_expedition_rouget extends ModelePdfExpedition
{
$posx=$this->marge_gauche+3;
}
$pdf->Rect($this->marge_gauche, $this->marge_haute, $this->page_largeur-$this->marge_gauche-$this->marge_droite, 30);
if ($this->barcode->enabled)
{
$pdf->Code39($this->marge_gauche+3, $this->marge_haute+3, $this->expe->ref);
}
$pdf->SetDrawColor(128,128,128);
$pdf->SetDrawColor(128,128,128);
$pdf->SetFont('Arial','', 14);
$pdf->Text($posx, 16, $outputlangs->transnoentities("SendingSheet")); // Bordereau expedition
$pdf->Text($posx, 22, $outputlangs->transnoentities("Ref") ." : ".$this->expe->ref);
$pdf->Text($posx, 28, $outputlangs->transnoentities("Date")." : ".dolibarr_print_date($this->expe->date,"%d %b %Y"));
$pdf->Text($posx, 34, $outputlangs->transnoentities("Page")." : ".$pdf->PageNo() ."/{nb}", 0);
if ($this->barcode->enabled)
{
$pdf->Code39($this->marge_gauche+3, 44, $this->expe->commande->ref);
}
$pdf->SetFont('Arial','', 14);
$pdf->Text($posx, 48, $outputlangs->transnoentities("Order"));
$pdf->Text($posx, 54, $outputlangs->transnoentities("Ref") ." : ".$this->expe->commande->ref);
$pdf->Text($posx, 60, $outputlangs->transnoentities("Date")." : ".dolibarr_print_date($this->expe->commande->date,"%d %b %Y"));
}
/**
* \brief Fonction générant le document sur le disque
* \param obj Objet expedition à générer (ou id si ancienne methode)
* \return int 1=ok, 0=ko
*/
/**
* \brief Fonction générant le document sur le disque
* \param obj Objet expedition à générer (ou id si ancienne methode)
* \return int 1=ok, 0=ko
*/
function write_file(&$obj, $outputlangs='')
{
global $user,$conf,$langs;
if (! is_object($outputlangs)) $outputlangs=$langs;
$outputlangs->load("main");
$outputlangs->load("companies");
$outputlangs->load("bills");
$outputlangs->load("propal");
$outputlangs->load("products");
$outputlangs->load("companies");
$outputlangs->load("bills");
$outputlangs->load("propal");
$outputlangs->load("products");
$outputlangs->setPhpLang();
if ($conf->expedition->dir_output)
if ($conf->expedition_bon->dir_output)
{
$this->expe = $obj;
// Définition de $dir et $file
if ($this->expe->specimen)
{
$dir = $conf->expedition->dir_output;
$dir = $conf->expedition_bon->dir_output;
$file = $dir . "/SPECIMEN.pdf";
}
else
{
$expref = sanitize_string($this->expe->ref);
$dir = $conf->expedition->dir_output . "/" . $expref;
$dir = $conf->expedition_bon->dir_output . "/" . $expref;
$file = $dir . "/" . $expref . ".pdf";
}
if (! file_exists($dir))
{
if (create_exdir($dir) < 0)
@ -155,41 +155,41 @@ Class pdf_expedition_rouget extends ModelePdfExpedition
return 0;
}
}
if (file_exists($dir))
{
$pdf=new ModelePdfExpedition();
if (file_exists($dir))
{
$pdf=new ModelePdfExpedition();
//$this = new ModelePdfExpedition();
//$this->expe = &$this->expe;
$pdf->Open();
$pdf->AliasNbPages();
$pdf->AddPage();
$pdf->SetTitle($this->expe->ref);
$pdf->SetSubject($langs->transnoentities("Sending"));
$pdf->SetCreator("Dolibarr ".DOL_VERSION);
//$this->pdf->SetAuthor($user->fullname);
$pdf->SetMargins($this->marge_gauche, $this->marge_haute, $this->marge_droite); // Left, Top, Right
$pdf->SetAutoPageBreak(1,0);
$pdf->SetMargins($this->marge_gauche, $this->marge_haute, $this->marge_droite); // Left, Top, Right
$pdf->SetAutoPageBreak(1,0);
$this->_pagehead($pdf,$this->exp,0,$outputlangs);
$pdf->SetFont('Arial','', 14);
$pdf->SetTextColor(0,0,0);
$tab_top = 90;
$tab_top = 90;
$height_note = 200;
$pdf->Rect($this->marge_gauche, 80, $this->page_largeur-$this->marge_gauche-$this->marge_droite, 210);
$pdf->Rect($this->marge_gauche, $tab_top, $this->page_largeur-$this->marge_gauche-$this->marge_droite, $height_note);
$pdf->Rect($this->marge_gauche, $tab_top, $this->page_largeur-$this->marge_gauche-$this->marge_droite, $height_note);
if ($this->barcode->enabled)
{
$this->posxdesc=$this->marge_gauche+35;
$this->posxdesc=$this->marge_gauche+35;
}
else
{
$this->posxdesc=$this->marge_gauche+1;
$this->posxdesc=$this->marge_gauche+1;
}
$this->tableau_top = 80;
@ -205,74 +205,74 @@ Class pdf_expedition_rouget extends ModelePdfExpedition
for ($i = 0 ; $i < sizeof($this->expe->lignes) ; $i++)
{
$curY = $this->tableau_top + 14 + ($i * 7);
if ($this->barcode->enabled)
{
$pdf->i25($this->marge_gauche+3, ($curY - 2), "000000".$this->expe->lignes[$i]->fk_product, 1, 8);
}
// Description de la ligne produit
$libelleproduitservice=dol_htmlentitiesbr($this->expe->lignes[$i]->description,1);
if ($this->expe->lignes[$i]->description&&$this->expe->lignes[$i]->description!=$com->lignes[$i]->libelle)
{
if ($libelleproduitservice) $libelleproduitservice.="<br>";
$libelleproduitservice.=dol_htmlentitiesbr($this->expe->lignes[$i]->description,1);
}
// Si ligne associée à un code produit
if ($this->expe->lignes[$i]->fk_product)
{
$prodser = new Product($this->db);
$prodser->fetch($this->expe->lignes[$i]->fk_product);
// Description de la ligne produit
$libelleproduitservice=dol_htmlentitiesbr($this->expe->lignes[$i]->description,1);
if ($this->expe->lignes[$i]->description&&$this->expe->lignes[$i]->description!=$com->lignes[$i]->libelle)
{
if ($libelleproduitservice) $libelleproduitservice.="<br>";
$libelleproduitservice.=dol_htmlentitiesbr($this->expe->lignes[$i]->description,1);
}
// Si ligne associée à un code produit
if ($this->expe->lignes[$i]->fk_product)
{
$prodser = new Product($this->db);
$prodser->fetch($this->expe->lignes[$i]->fk_product);
// On ajoute la ref
if ($prodser->ref)
if ($prodser->ref)
{
$prefix_prodserv = "";
if($prodser->isservice())
$prefix_prodserv = $outputlangs->transnoentities("Service")." ";
else
$prefix_prodserv = $outputlangs->transnoentities("Product")." ";
if($prodser->isservice())
$prefix_prodserv = $outputlangs->transnoentities("Service")." ";
else
$prefix_prodserv = $outputlangs->transnoentities("Product")." ";
$libelleproduitservice=$prefix_prodserv.$prodser->ref." - ".$libelleproduitservice;
}
$libelleproduitservice=$prefix_prodserv.$prodser->ref." - ".$libelleproduitservice;
}
}
}
$pdf->SetFont('Arial','', 9); // Dans boucle pour gérer multi-page
$pdf->SetFont('Arial','', 9); // Dans boucle pour gérer multi-page
$pdf->writeHTMLCell(150, 3, $this->posxdesc, $curY, $libelleproduitservice, 0, 1);
$pdf->writeHTMLCell(150, 3, $this->posxdesc, $curY, $libelleproduitservice, 0, 1);
$pdf->SetXY (160, $curY);
$pdf->SetXY (160, $curY);
$pdf->MultiCell(30, 3, $this->expe->lignes[$i]->qty_asked);
$pdf->SetXY (186, $curY);
$pdf->SetXY (186, $curY);
$pdf->MultiCell(30, 3, $this->expe->lignes[$i]->qty_shipped);
}
$pdf->AliasNbPages();
$pdf->AliasNbPages();
$pdf->Close();
$pdf->Close();
$pdf->Output($file);
$langs->setPhpLang(); // On restaure langue session
return 1;
}
else
{
$this->error=$outputlangs->transnoentities("ErrorCanNotCreateDir",$dir);
else
{
$this->error=$outputlangs->transnoentities("ErrorCanNotCreateDir",$dir);
$langs->setPhpLang(); // On restaure langue session
return 0;
}
return 0;
}
}
else
{
$this->error=$outputlangs->transnoentities("ErrorConstantNotDefined","EXP_OUTPUTDIR");
else
{
$this->error=$outputlangs->transnoentities("ErrorConstantNotDefined","EXP_OUTPUTDIR");
$langs->setPhpLang(); // On restaure langue session
return 0;
}
$this->error=$outputlangs->transnoentities("ErrorUnknown");
return 0;
}
$this->error=$outputlangs->transnoentities("ErrorUnknown");
$langs->setPhpLang(); // On restaure langue session
return 0; // Erreur par defaut
return 0; // Erreur par defaut
}
}

View File

@ -552,7 +552,7 @@ else
*/
$livraisonref = sanitize_string($livraison->ref);
$filedir = $conf->livraison->dir_output . '/' . $livraisonref;
$filedir = $conf->livraison_bon->dir_output . '/' . $livraisonref;
$urlsource = $_SERVER["PHP_SELF"]."?id=".$livraison->id;
$genallowed=$user->rights->expedition->livraison->creer;

View File

@ -20,65 +20,66 @@
* or see http://www.gnu.org/
*/
/**
\file htdocs/livraison/mods/pdf/pdf_sirocco.modules.php
\ingroup livraison
\brief Fichier de la classe permettant de générer les bons de livraison au modèle Sirocco
\version $Id$
*/
/**
\file htdocs/livraison/mods/pdf/pdf_sirocco.modules.php
\ingroup livraison
\brief Fichier de la classe permettant de générer les bons de livraison au modèle Sirocco
\version $Id$
*/
require_once(DOL_DOCUMENT_ROOT."/livraison/mods/modules_livraison.php");
/**
\class pdf_sirocco
\brief Classe permettant de générer les bons de livraison au modèle Sirocco
*/
\class pdf_sirocco
\brief Classe permettant de générer les bons de livraison au modèle Sirocco
*/
class pdf_sirocco extends ModelePDFDeliveryOrder
{
/** \brief Constructeur
\param db handler accès base de donnée
*/
function pdf_sirocco($db=0)
{
$this->db = $db;
$this->name = "sirocco";
$this->description = "Modèle de bon de livraison simple";
/** \brief Constructeur
\param db handler accès base de donnée
*/
function pdf_sirocco($db=0)
{
$this->db = $db;
$this->name = "sirocco";
$this->description = "Modèle de bon de livraison simple";
// Dimension page pour format A4
$this->type = 'pdf';
$this->page_largeur = 210;
$this->page_hauteur = 297;
$this->format = array($this->page_largeur,$this->page_hauteur);
// Dimension page pour format A4
$this->type = 'pdf';
$this->page_largeur = 210;
$this->page_hauteur = 297;
$this->format = array($this->page_largeur,$this->page_hauteur);
$this->error = "";
}
$this->error = "";
}
/** \brief Renvoi dernière erreur
\return string Dernière erreur
*/
function pdferror()
{
return $this->error;
}
/**
\brief Fonction générant le bon de livraison sur le disque
\param delivery Object livraison à générer
\return int 1=ok, 0=ko
*/
function write_file($delivery)
{
/** \brief Renvoi dernière erreur
* \return string Dernière erreur
*/
function pdferror()
{
return $this->error;
}
/**
\brief Fonction générant le bon de livraison sur le disque
\param delivery Object livraison à générer
\param outputlangs Output language
\return int 1 if OK, <=0 if KO
*/
function write_file($delivery,$outputlangs='')
{
global $user,$conf,$langs;
$langs->load("main");
$langs->load("bills");
$langs->load("products");
$langs->load("deliveries");
$langs->load("main");
$langs->load("bills");
$langs->load("products");
$langs->load("deliveries");
if ($conf->livraison_bon->dir_output)
{
@ -93,287 +94,285 @@ class pdf_sirocco extends ModelePDFDeliveryOrder
{
dolibarr_print_error($db,$delivery->error);
}
}
}
$deliveryref = sanitize_string($delivery->ref);
$dir = $conf->livraison->dir_output;
$dir = $conf->livraison_bon->dir_output;
if (! eregi('specimen',$deliveryref)) $dir.= "/" . $deliveryref;
$file = $dir . "/" . $deliveryref . ".pdf";
if (! file_exists($dir))
{
if (create_exdir($dir) < 0)
{
$this->error=$langs->transnoentities("ErrorCanNotCreateDir",$dir);
return 0;
}
}
if (! file_exists($dir))
{
if (create_exdir($dir) < 0)
{
$this->error=$langs->transnoentities("ErrorCanNotCreateDir",$dir);
return 0;
}
}
if (file_exists($dir))
{
// Protection et encryption du pdf
if ($conf->global->PDF_SECURITY_ENCRYPTION)
{
$pdf=new FPDI_Protection('P','mm',$this->format);
$pdfrights = array('print'); // Ne permet que l'impression du document
$pdfuserpass = ''; // Mot de passe pour l'utilisateur final
$pdfownerpass = NULL; // Mot de passe du propriétaire, créé aléatoirement si pas défini
$pdf->SetProtection($pdfrights,$pdfuserpass,$pdfownerpass);
}
else
{
$pdf=new FPDI('P','mm',$this->format);
}
$pdf->Open();
$pdf->AddPage();
$pdf->SetTitle($delivery->ref);
$pdf->SetSubject($langs->transnoentities("DeliveryOrder"));
$pdf->SetCreator("Dolibarr ".DOL_VERSION);
$pdf->SetAuthor($user->fullname);
$this->_pagehead($pdf, $delivery);
/*
*/
$tab_top = 100;
$tab_height = 140;
/*
*
*/
$pdf->SetFillColor(220,220,220);
$pdf->SetTextColor(0,0,0);
$pdf->SetFont('Arial','', 10);
$pdf->SetXY (10, $tab_top + 10 );
$iniY = $pdf->GetY();
$curY = $pdf->GetY();
$nexY = $pdf->GetY();
$nblignes = sizeof($delivery->lignes);
for ($i = 0 ; $i < $nblignes ; $i++)
{
$curY = $nexY;
$pdf->SetXY (30, $curY );
$pdf->MultiCell(100, 5, $delivery->lignes[$i]->desc, 0, 'J', 0);
$nexY = $pdf->GetY();
$pdf->SetXY (10, $curY );
$pdf->MultiCell(20, 5, $delivery->lignes[$i]->ref, 0, 'C');
$pdf->SetXY (133, $curY );
$pdf->MultiCell(10, 5, $delivery->lignes[$i]->tva_tx, 0, 'C');
$pdf->SetXY (145, $curY );
$pdf->MultiCell(10, 5, $delivery->lignes[$i]->qty, 0, 'C');
$pdf->SetXY (156, $curY );
$pdf->MultiCell(18, 5, price($delivery->lignes[$i]->price), 0, 'R', 0);
$pdf->SetXY (174, $curY );
$total = price($delivery->lignes[$i]->price * $delivery->lignes[$i]->qty);
$pdf->MultiCell(26, 5, $total, 0, 'R', 0);
$pdf->line(10, $curY, 200, $curY );
if ($nexY > 240 && $i < $nblignes - 1)
{
$this->_tableau($pdf, $tab_top, $tab_height, $nexY);
$pdf->AddPage();
$nexY = $iniY;
$this->_pagehead($pdf, $delivery);
$pdf->SetTextColor(0,0,0);
$pdf->SetFont('Arial','', 10);
}
}
$this->_tableau($pdf, $tab_top, $tab_height, $nexY);
/*
*
*/
$tab2_top = 241;
$tab2_lh = 7;
$tab2_height = $tab2_lh * 4;
$pdf->SetFont('Arial','', 11);
$pdf->Rect(132, $tab2_top, 68, $tab2_height);
$pdf->line(132, $tab2_top + $tab2_height - ($tab2_lh*3), 200, $tab2_top + $tab2_height - ($tab2_lh*3) );
$pdf->line(132, $tab2_top + $tab2_height - ($tab2_lh*2), 200, $tab2_top + $tab2_height - ($tab2_lh*2) );
$pdf->line(132, $tab2_top + $tab2_height - $tab2_lh, 200, $tab2_top + $tab2_height - $tab2_lh );
$pdf->line(174, $tab2_top, 174, $tab2_top + $tab2_height);
$pdf->SetXY (132, $tab2_top + 0);
$pdf->MultiCell(42, $tab2_lh, $langs->transnoentities("TotalHT"), 0, 'R', 0);
$pdf->SetXY (132, $tab2_top + $tab2_lh);
$pdf->MultiCell(42, $tab2_lh, $langs->transnoentities("Discount"), 0, 'R', 0);
$pdf->SetXY (132, $tab2_top + $tab2_lh*2);
$pdf->MultiCell(42, $tab2_lh, "Total HT après remise", 0, 'R', 0);
$pdf->SetXY (132, $tab2_top + $tab2_lh*3);
$pdf->MultiCell(42, $tab2_lh, $langs->transnoentities("TotalVAT"), 0, 'R', 0);
$pdf->SetXY (132, $tab2_top + ($tab2_lh*4));
$pdf->MultiCell(42, $tab2_lh, $langs->transnoentities("TotalTTC"), 1, 'R', 1);
$pdf->SetXY (174, $tab2_top + 0);
$pdf->MultiCell(26, $tab2_lh, price($delivery->total_ht + $delivery->remise), 0, 'R', 0);
$pdf->SetXY (174, $tab2_top + $tab2_lh);
$pdf->MultiCell(26, $tab2_lh, price($delivery->remise), 0, 'R', 0);
$pdf->SetXY (174, $tab2_top + $tab2_lh*2);
$pdf->MultiCell(26, $tab2_lh, price($delivery->total_ht), 0, 'R', 0);
$pdf->SetXY (174, $tab2_top + $tab2_lh*3);
$pdf->MultiCell(26, $tab2_lh, price($delivery->total_tva), 0, 'R', 0);
$pdf->SetXY (174, $tab2_top + ($tab2_lh*4));
$pdf->MultiCell(26, $tab2_lh, price($delivery->total_ttc), 1, 'R', 1);
$pdf->Output($file);
return 1;
}
}
else
{
$this->error=$langs->transnoentities("ErrorConstantNotDefined","LIVRAISON_OUTPUTDIR");
return 0;
return 0;
}
}
$file = $dir . "/" . $deliveryref . ".pdf";
if (file_exists($dir))
{
// Protection et encryption du pdf
if ($conf->global->PDF_SECURITY_ENCRYPTION)
{
$pdf=new FPDI_Protection('P','mm',$this->format);
$pdfrights = array('print'); // Ne permet que l'impression du document
$pdfuserpass = ''; // Mot de passe pour l'utilisateur final
$pdfownerpass = NULL; // Mot de passe du propriétaire, créé aléatoirement si pas défini
$pdf->SetProtection($pdfrights,$pdfuserpass,$pdfownerpass);
}
else
{
$pdf=new FPDI('P','mm',$this->format);
}
$pdf->Open();
$pdf->AddPage();
$pdf->SetTitle($delivery->ref);
$pdf->SetSubject($langs->transnoentities("DeliveryOrder"));
$pdf->SetCreator("Dolibarr ".DOL_VERSION);
$pdf->SetAuthor($user->fullname);
$this->_pagehead($pdf, $delivery);
/*
*/
$tab_top = 100;
$tab_height = 140;
/*
*
*/
$pdf->SetFillColor(220,220,220);
$pdf->SetTextColor(0,0,0);
$pdf->SetFont('Arial','', 10);
$pdf->SetXY (10, $tab_top + 10 );
$iniY = $pdf->GetY();
$curY = $pdf->GetY();
$nexY = $pdf->GetY();
$nblignes = sizeof($delivery->lignes);
for ($i = 0 ; $i < $nblignes ; $i++)
{
$curY = $nexY;
$pdf->SetXY (30, $curY );
$pdf->MultiCell(100, 5, $delivery->lignes[$i]->desc, 0, 'J', 0);
$nexY = $pdf->GetY();
$pdf->SetXY (10, $curY );
$pdf->MultiCell(20, 5, $delivery->lignes[$i]->ref, 0, 'C');
$pdf->SetXY (133, $curY );
$pdf->MultiCell(10, 5, $delivery->lignes[$i]->tva_tx, 0, 'C');
$pdf->SetXY (145, $curY );
$pdf->MultiCell(10, 5, $delivery->lignes[$i]->qty, 0, 'C');
$pdf->SetXY (156, $curY );
$pdf->MultiCell(18, 5, price($delivery->lignes[$i]->price), 0, 'R', 0);
$pdf->SetXY (174, $curY );
$total = price($delivery->lignes[$i]->price * $delivery->lignes[$i]->qty);
$pdf->MultiCell(26, 5, $total, 0, 'R', 0);
$pdf->line(10, $curY, 200, $curY );
if ($nexY > 240 && $i < $nblignes - 1)
{
$this->_tableau($pdf, $tab_top, $tab_height, $nexY);
$pdf->AddPage();
$nexY = $iniY;
$this->_pagehead($pdf, $delivery);
$pdf->SetTextColor(0,0,0);
$pdf->SetFont('Arial','', 10);
}
}
$this->_tableau($pdf, $tab_top, $tab_height, $nexY);
/*
*
*/
$tab2_top = 241;
$tab2_lh = 7;
$tab2_height = $tab2_lh * 4;
$pdf->SetFont('Arial','', 11);
$pdf->Rect(132, $tab2_top, 68, $tab2_height);
$pdf->line(132, $tab2_top + $tab2_height - ($tab2_lh*3), 200, $tab2_top + $tab2_height - ($tab2_lh*3) );
$pdf->line(132, $tab2_top + $tab2_height - ($tab2_lh*2), 200, $tab2_top + $tab2_height - ($tab2_lh*2) );
$pdf->line(132, $tab2_top + $tab2_height - $tab2_lh, 200, $tab2_top + $tab2_height - $tab2_lh );
$pdf->line(174, $tab2_top, 174, $tab2_top + $tab2_height);
$pdf->SetXY (132, $tab2_top + 0);
$pdf->MultiCell(42, $tab2_lh, $langs->transnoentities("TotalHT"), 0, 'R', 0);
$pdf->SetXY (132, $tab2_top + $tab2_lh);
$pdf->MultiCell(42, $tab2_lh, $langs->transnoentities("Discount"), 0, 'R', 0);
$pdf->SetXY (132, $tab2_top + $tab2_lh*2);
$pdf->MultiCell(42, $tab2_lh, "Total HT après remise", 0, 'R', 0);
$pdf->SetXY (132, $tab2_top + $tab2_lh*3);
$pdf->MultiCell(42, $tab2_lh, $langs->transnoentities("TotalVAT"), 0, 'R', 0);
$pdf->SetXY (132, $tab2_top + ($tab2_lh*4));
$pdf->MultiCell(42, $tab2_lh, $langs->transnoentities("TotalTTC"), 1, 'R', 1);
$pdf->SetXY (174, $tab2_top + 0);
$pdf->MultiCell(26, $tab2_lh, price($delivery->total_ht + $delivery->remise), 0, 'R', 0);
$pdf->SetXY (174, $tab2_top + $tab2_lh);
$pdf->MultiCell(26, $tab2_lh, price($delivery->remise), 0, 'R', 0);
$pdf->SetXY (174, $tab2_top + $tab2_lh*2);
$pdf->MultiCell(26, $tab2_lh, price($delivery->total_ht), 0, 'R', 0);
$pdf->SetXY (174, $tab2_top + $tab2_lh*3);
$pdf->MultiCell(26, $tab2_lh, price($delivery->total_tva), 0, 'R', 0);
$pdf->SetXY (174, $tab2_top + ($tab2_lh*4));
$pdf->MultiCell(26, $tab2_lh, price($delivery->total_ttc), 1, 'R', 1);
$pdf->Output($file);
return 1;
}
}
/*
* \brief Affiche la grille des lignes de propales
* \param pdf objet PDF
*/
/**
* \brief Affiche la grille des lignes de propales
* \param pdf objet PDF
*/
function _tableau(&$pdf, $tab_top, $tab_height, $nexY)
{
global $langs,$conf;
$langs->load("main");
$langs->load("bills");
{
global $langs,$conf;
$langs->load("main");
$langs->load("bills");
$pdf->SetFont('Arial','',11);
$pdf->Text(30,$tab_top + 5,$langs->transnoentities("Designation"));
$pdf->line(132, $tab_top, 132, $tab_top + $tab_height);
$pdf->Text(134,$tab_top + 5,$langs->transnoentities("VAT"));
$pdf->line(144, $tab_top, 144, $tab_top + $tab_height);
$pdf->Text(147,$tab_top + 5,$langs->transnoentities("Qty"));
$pdf->line(156, $tab_top, 156, $tab_top + $tab_height);
$pdf->Text(160,$tab_top + 5,$langs->transnoentities("PriceU"));
$pdf->line(174, $tab_top, 174, $tab_top + $tab_height);
$pdf->Text(187,$tab_top + 5,$langs->transnoentities("Total"));
// $pdf->Rect(10, $tab_top, 190, $nexY - $tab_top);
$pdf->Rect(10, $tab_top, 190, $tab_height);
$pdf->SetFont('Arial','',11);
$pdf->Text(30,$tab_top + 5,$langs->transnoentities("Designation"));
$pdf->line(132, $tab_top, 132, $tab_top + $tab_height);
$pdf->Text(134,$tab_top + 5,$langs->transnoentities("VAT"));
$pdf->line(144, $tab_top, 144, $tab_top + $tab_height);
$pdf->Text(147,$tab_top + 5,$langs->transnoentities("Qty"));
$pdf->line(156, $tab_top, 156, $tab_top + $tab_height);
$pdf->Text(160,$tab_top + 5,$langs->transnoentities("PriceU"));
$pdf->line(174, $tab_top, 174, $tab_top + $tab_height);
$pdf->Text(187,$tab_top + 5,$langs->transnoentities("Total"));
// $pdf->Rect(10, $tab_top, 190, $nexY - $tab_top);
$pdf->Rect(10, $tab_top, 190, $tab_height);
$pdf->SetTextColor(0,0,0);
$pdf->SetFont('Arial','',10);
$titre = $langs->transnoentities("AmountInCurrency",$langs->transnoentities("Currency".$conf->monnaie));
$pdf->Text(200 - $pdf->GetStringWidth($titre), 98, $titre);
$pdf->SetTextColor(0,0,0);
$pdf->SetFont('Arial','',10);
$titre = $langs->transnoentities("AmountInCurrency",$langs->transnoentities("Currency".$conf->monnaie));
$pdf->Text(200 - $pdf->GetStringWidth($titre), 98, $titre);
}
}
/*
* \brief Affiche en-tête propale
* \param pdf objet PDF
* \param fac objet propale
* \param showadress 0=non, 1=oui
*/
/*
* \brief Affiche en-tête propale
* \param pdf objet PDF
* \param fac objet propale
* \param showadress 0=non, 1=oui
*/
function _pagehead(&$pdf, $delivery)
{
{
global $langs;
$langs->load("deliveries");
$pdf->SetXY(10,5);
if (defined("MAIN_INFO_SOCIETE_NOM"))
{
$pdf->SetXY(10,5);
if (defined("MAIN_INFO_SOCIETE_NOM"))
{
$pdf->SetTextColor(0,0,200);
$pdf->SetFont('Arial','B',14);
$pdf->MultiCell(76, 8, MAIN_INFO_SOCIETE_NOM, 0, 'L');
}
$pdf->SetTextColor(70,70,170);
if (defined("FAC_PDF_ADRESSE"))
{
}
$pdf->SetTextColor(70,70,170);
if (defined("FAC_PDF_ADRESSE"))
{
$pdf->SetFont('Arial','',12);
$pdf->MultiCell(76, 5, FAC_PDF_ADRESSE);
}
if (defined("FAC_PDF_TEL"))
{
}
if (defined("FAC_PDF_TEL"))
{
$pdf->SetFont('Arial','',10);
$pdf->MultiCell(76, 5, "Tél : ".FAC_PDF_TEL);
}
if (defined("MAIN_INFO_SIREN"))
{
}
if (defined("MAIN_INFO_SIREN"))
{
$pdf->SetFont('Arial','',10);
$pdf->MultiCell(76, 5, "SIREN : ".MAIN_INFO_SIREN);
}
if (defined("FAC_PDF_INTITULE2"))
{
}
if (defined("FAC_PDF_INTITULE2"))
{
$pdf->SetXY(100,5);
$pdf->SetFont('Arial','B',14);
$pdf->SetTextColor(0,0,200);
$pdf->MultiCell(100, 10, FAC_PDF_INTITULE2, '' , 'R');
}
/*
* Adresse Client
*/
$pdf->SetTextColor(0,0,0);
$pdf->SetFont('Arial','B',12);
$client = new Societe($this->db);
/*
* if a delivery address is used, use that, else use the client address
*/
if ($commande->adresse_livraison_id>0) {
$client->fetch_adresse_livraison($commande->adresse_livraison_id);
} else {
$client->fetch($delivery->socid);
}
$delivery->client = $client;
$pdf->SetXY(102,42);
$pdf->MultiCell(96,5, $delivery->client->nom);
$pdf->SetFont('Arial','B',11);
$pdf->SetXY(102,47);
$pdf->MultiCell(96,5, $delivery->client->adresse . "\n" . $delivery->client->cp . " " . $delivery->client->ville);
$pdf->rect(100, 40, 100, 40);
$pdf->SetTextColor(200,0,0);
$pdf->SetFont('Arial','B',12);
$pdf->Text(11, 88, $langs->transnoentities("Date")." : " . dolibarr_print_date($delivery->date_valid,"day"));
$pdf->Text(11, 94, $langs->transnoentities("DeliveryOrder")." ".$delivery->ref);
$pdf->SetFont('Arial','B',9);
$commande = new Commande ($this->db);
if ($commande->fetch($delivery->commande_id) >0) {
$pdf->Text(11, 98, $langs->transnoentities("RefOrder")." ".$commande->ref);
}
}
/*
* Adresse Client
*/
$pdf->SetTextColor(0,0,0);
$pdf->SetFont('Arial','B',12);
$client = new Societe($this->db);
/*
* if a delivery address is used, use that, else use the client address
*/
if ($commande->adresse_livraison_id>0) {
$client->fetch_adresse_livraison($commande->adresse_livraison_id);
} else {
$client->fetch($delivery->socid);
}
$delivery->client = $client;
$pdf->SetXY(102,42);
$pdf->MultiCell(96,5, $delivery->client->nom);
$pdf->SetFont('Arial','B',11);
$pdf->SetXY(102,47);
$pdf->MultiCell(96,5, $delivery->client->adresse . "\n" . $delivery->client->cp . " " . $delivery->client->ville);
$pdf->rect(100, 40, 100, 40);
$pdf->SetTextColor(200,0,0);
$pdf->SetFont('Arial','B',12);
$pdf->Text(11, 88, $langs->transnoentities("Date")." : " . dolibarr_print_date($delivery->date_valid,"day"));
$pdf->Text(11, 94, $langs->transnoentities("DeliveryOrder")." ".$delivery->ref);
$pdf->SetFont('Arial','B',9);
$commande = new Commande ($this->db);
if ($commande->fetch($delivery->commande_id) >0) {
$pdf->Text(11, 98, $langs->transnoentities("RefOrder")." ".$commande->ref);
}
}
}

File diff suppressed because it is too large Load Diff