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"); header("Location: ".DOL_URL_ROOT."/document.php?modulepart=expedition&file=SPECIMEN.pdf");
return; return;
} }
else
{
$mesg='<div class="error">'.$obj->error.'</div>';
dolibarr_syslog($obj->error, LOG_ERR);
}
} }
else else
{ {
$mesg='<div class="error">'.$langs->trans("ErrorModuleNotFound").'</div>'; $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"); header("Location: ".DOL_URL_ROOT."/document.php?modulepart=livraison&file=SPECIMEN.pdf");
return; return;
} }
else
{
$mesg='<div class="error">'.$obj->error.'</div>';
dolibarr_syslog($obj->error, LOG_ERR);
}
} }
else else
{ {
$mesg='<div class="error">'.$langs->trans("ErrorModuleNotFound").'</div>'; $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; $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'"; //$sqlprotectagainstexternals = "SELECT fk_soc as fk_soc FROM ".MAIN_DB_PREFIX."fichinter WHERE ref='$refname'";
} }
@ -230,7 +230,7 @@ if ($modulepart)
{ {
$accessallowed=1; $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'"; //$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; global $user,$langs;
dolibarr_syslog("Expedition::initAsSpecimen");
// Charge tableau des id de société socids // Charge tableau des id de société socids
$socids = array(); $socids = array();
$sql = "SELECT rowid FROM ".MAIN_DB_PREFIX."societe WHERE client=1 LIMIT 10"; $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) if ($conf->expedition_bon->enabled)
{ {
$expeditionref = sanitize_string($expedition->ref); $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; $urlsource = $_SERVER["PHP_SELF"]."?id=".$expedition->id;

View File

@ -1,6 +1,6 @@
<?php <?php
/* Copyright (C) 2005 Rodolphe Quiedeville <rodolphe@quiedeville.org> /* 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> * Copyright (C) 2005 Regis Houssin <regis@dolibarr.fr>
* *
* This program is free software; you can redistribute it and/or modify * 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 \file htdocs/expedition/mods/pdf/pdf_expedition_merou.modules.php
\ingroup expedition \ingroup expedition
\brief Fichier de la classe permettant de générer les bordereaux envoi au modèle Merou \brief Fichier de la classe permettant de générer les bordereaux envoi au modèle Merou
\version $Id$ \version $Id$
*/ */
require_once DOL_DOCUMENT_ROOT."/expedition/mods/pdf/ModelePdfExpedition.class.php"; require_once DOL_DOCUMENT_ROOT."/expedition/mods/pdf/ModelePdfExpedition.class.php";
require_once DOL_DOCUMENT_ROOT."/contact.class.php"; require_once DOL_DOCUMENT_ROOT."/contact.class.php";
/** /**
\class pdf_expedition_dorade \class pdf_expedition_dorade
\brief Classe permettant de générer les borderaux envoi au modèle Merou \brief Classe permettant de générer les borderaux envoi au modèle Merou
*/ */
Class pdf_expedition_merou extends ModelePdfExpedition Class pdf_expedition_merou extends ModelePdfExpedition
{ {
var $emetteur; // Objet societe qui emet var $emetteur; // Objet societe qui emet
/** /**
\brief Constructeur \brief Constructeur
\param db Handler accès base de donnée \param db Handler accès base de donnée
*/ */
function pdf_expedition_merou($db=0) function pdf_expedition_merou($db=0)
{ {
global $conf,$langs,$mysoc; global $conf,$langs,$mysoc;
$this->db = $db; $this->db = $db;
$this->name = "Merou"; $this->name = "Merou";
@ -57,35 +57,35 @@ Class pdf_expedition_merou extends ModelePdfExpedition
|element->commande,source->external,code->DESTINATAIRE \n |element->commande,source->external,code->DESTINATAIRE \n
"; ";
$this->type = 'pdf'; $this->type = 'pdf';
$this->page_largeur = 148.5; $this->page_largeur = 148.5;
$this->page_hauteur = 210; $this->page_hauteur = 210;
$this->format = array($this->page_largeur,$this->page_hauteur); $this->format = array($this->page_largeur,$this->page_hauteur);
$this->option_logo = 1; // Affiche logo $this->option_logo = 1; // Affiche logo
// Recupere emmetteur // Recupere emmetteur
$this->emetteur=$mysoc; $this->emetteur=$mysoc;
if (! $this->emetteur->pays_code) $this->emetteur->pays_code=substr($langs->defaultlang,-2); // Par defaut, si n'était pas défini 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 * \brief Fonction générant le document sur le disque
* \param obj Objet expedition à générer (ou id si ancienne methode) * \param obj Objet expedition à générer (ou id si ancienne methode)
* \return int 1=ok, 0=ko * \return int 1=ok, 0=ko
*/ */
function write_file(&$obj, $outputlangs='') function write_file(&$obj, $outputlangs='')
{ {
global $user,$conf,$langs; global $user,$conf,$langs;
if (! is_object($outputlangs)) $outputlangs=$langs; if (! is_object($outputlangs)) $outputlangs=$langs;
$outputlangs->load("main"); $outputlangs->load("main");
$outputlangs->load("companies"); $outputlangs->load("companies");
$outputlangs->load("bills"); $outputlangs->load("bills");
$outputlangs->load("propal"); $outputlangs->load("propal");
$outputlangs->load("products"); $outputlangs->load("products");
$outputlangs->load("sendings"); $outputlangs->load("sendings");
$outputlangs->setPhpLang(); $outputlangs->setPhpLang();
@ -93,8 +93,8 @@ Class pdf_expedition_merou extends ModelePdfExpedition
$this->expe = $obj; $this->expe = $obj;
//Verification de la configuration //Verification de la configuration
if ($conf->expedition->dir_output) if ($conf->expedition_bon->dir_output)
{ {
//Creation du Client //Creation du Client
$soc = new Societe($this->db); $soc = new Societe($this->db);
$soc->fetch($this->expe->commande->socid); $soc->fetch($this->expe->commande->socid);
@ -103,8 +103,8 @@ Class pdf_expedition_merou extends ModelePdfExpedition
$this->expediteur = $soc; $this->expediteur = $soc;
//Creation du destinataire //Creation du destinataire
$this->destinataire = new Contact($this->db); $this->destinataire = new Contact($this->db);
// $pdf->expe->commande->fetch($pdf->commande->id); // $pdf->expe->commande->fetch($pdf->commande->id);
//print_r($pdf->expe); //print_r($pdf->expe);
$idcontact = $this->expe->commande->getIdContact('external','DESTINATAIRE'); $idcontact = $this->expe->commande->getIdContact('external','DESTINATAIRE');
$this->destinataire->fetch($idcontact[0]); $this->destinataire->fetch($idcontact[0]);
@ -117,13 +117,13 @@ Class pdf_expedition_merou extends ModelePdfExpedition
// Définition de $dir et $file // Définition de $dir et $file
if ($this->expe->specimen) if ($this->expe->specimen)
{ {
$dir = $conf->expedition->dir_output; $dir = $conf->expedition_bon->dir_output;
$file = $dir . "/SPECIMEN.pdf"; $file = $dir . "/SPECIMEN.pdf";
} }
else else
{ {
$expref = sanitize_string($this->expe->ref); $expref = sanitize_string($this->expe->ref);
$dir = $conf->expedition->dir_output . "/" . $expref; $dir = $conf->expedition_bon->dir_output . "/" . $expref;
$file = $dir . "/" . $expref . ".pdf"; $file = $dir . "/" . $expref . ".pdf";
} }
@ -139,17 +139,17 @@ Class pdf_expedition_merou extends ModelePdfExpedition
//Si le dossier existe //Si le dossier existe
if (file_exists($dir)) if (file_exists($dir))
{ {
// Initialisation Bon vierge // Initialisation Bon vierge
$pdf = new FPDI_Protection('l','mm',$this->format); $pdf = new FPDI_Protection('l','mm',$this->format);
// Protection et encryption du pdf // Protection et encryption du pdf
if ($conf->global->PDF_SECURITY_ENCRYPTION) if ($conf->global->PDF_SECURITY_ENCRYPTION)
{ {
$pdfrights = array('print'); // Ne permet que l'impression du document $pdfrights = array('print'); // Ne permet que l'impression du document
$pdfuserpass = ''; // Mot de passe pour l'utilisateur final $pdfuserpass = ''; // Mot de passe pour l'utilisateur final
$pdfownerpass = NULL; // Mot de passe du propriétaire, créé aléatoirement si pas défini $pdfownerpass = NULL; // Mot de passe du propriétaire, créé aléatoirement si pas défini
$pdf->SetProtection($pdfrights,$pdfuserpass,$pdfownerpass); $pdf->SetProtection($pdfrights,$pdfuserpass,$pdfownerpass);
} }
$pdf->Open(); $pdf->Open();
$pdf->AddPage(); $pdf->AddPage();
@ -227,22 +227,22 @@ Class pdf_expedition_merou extends ModelePdfExpedition
$langs->setPhpLang(); // On restaure langue session $langs->setPhpLang(); // On restaure langue session
return 1; return 1;
} }
else else
{ {
$this->error=$outputlangs->transnoentities("ErrorCanNotCreateDir",$dir); $this->error=$outputlangs->transnoentities("ErrorCanNotCreateDir",$dir);
$langs->setPhpLang(); // On restaure langue session $langs->setPhpLang(); // On restaure langue session
return 0; return 0;
} }
} }
else else
{ {
$this->error=$outputlangs->transnoentities("ErrorConstantNotDefined","EXP_OUTPUTDIR"); $this->error=$outputlangs->transnoentities("ErrorConstantNotDefined","EXP_OUTPUTDIR");
$langs->setPhpLang(); // On restaure langue session $langs->setPhpLang(); // On restaure langue session
return 0; return 0;
} }
$this->error=$outputlangs->transnoentities("ErrorUnknown"); $this->error=$outputlangs->transnoentities("ErrorUnknown");
$langs->setPhpLang(); // On restaure langue session $langs->setPhpLang(); // On restaure langue session
return 0; // Erreur par defaut return 0; // Erreur par defaut
} }
@ -302,25 +302,25 @@ Class pdf_expedition_merou extends ModelePdfExpedition
$ligne = 2; $ligne = 2;
//*********************LOGO**************************** //*********************LOGO****************************
$logo=$conf->societe->dir_logos.'/'.$this->emetteur->logo; $logo=$conf->societe->dir_logos.'/'.$this->emetteur->logo;
if ($this->emetteur->logo) if ($this->emetteur->logo)
{ {
if (is_readable($logo)) if (is_readable($logo))
{ {
$pdf->Image($logo,10, 5, 0, 24); $pdf->Image($logo,10, 5, 0, 24);
} }
else else
{ {
$pdf->SetTextColor(200,0,0); $pdf->SetTextColor(200,0,0);
$pdf->SetFont('Arial','B',8); $pdf->SetFont('Arial','B',8);
$pdf->MultiCell(100, 3, $langs->transnoentities("ErrorLogoFileNotFound",$logo), 0, 'L'); $pdf->MultiCell(100, 3, $langs->transnoentities("ErrorLogoFileNotFound",$logo), 0, 'L');
$pdf->MultiCell(100, 3, $langs->transnoentities("ErrorGoToModuleSetup"), 0, 'L'); $pdf->MultiCell(100, 3, $langs->transnoentities("ErrorGoToModuleSetup"), 0, 'L');
} }
} }
else if(defined("MAIN_INFO_SOCIETE_NOM") && FAC_PDF_SOCIETE_NOM) else if(defined("MAIN_INFO_SOCIETE_NOM") && FAC_PDF_SOCIETE_NOM)
{ {
$pdf->MultiCell(100, 4, MAIN_INFO_SOCIETE_NOM, 0, 'L'); $pdf->MultiCell(100, 4, MAIN_INFO_SOCIETE_NOM, 0, 'L');
} }
//*********************Entete**************************** //*********************Entete****************************
//Nom du Document //Nom du Document
@ -332,7 +332,7 @@ Class pdf_expedition_merou extends ModelePdfExpedition
//Num Expedition //Num Expedition
$Yoff = $Yoff+7; $Yoff = $Yoff+7;
$Xoff = 140; $Xoff = 140;
// $pdf->rect($Xoff, $Yoff, 85, 8); // $pdf->rect($Xoff, $Yoff, 85, 8);
$pdf->SetXY($Xoff,$Yoff); $pdf->SetXY($Xoff,$Yoff);
$pdf->SetFont('Arial','',8); $pdf->SetFont('Arial','',8);
$pdf->SetTextColor(0,0,0); $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); //$this->Code39($Xoff+43, $Yoff+1, $this->expe->ref,$ext = true, $cks = false, $w = 0.4, $h = 4, $wide = true);
//Num Commande //Num Commande
$Yoff = $Yoff+4; $Yoff = $Yoff+4;
// $pdf->rect($Xoff, $Yoff, 85, 8); // $pdf->rect($Xoff, $Yoff, 85, 8);
$pdf->SetXY($Xoff,$Yoff); $pdf->SetXY($Xoff,$Yoff);
$pdf->SetFont('Arial','',8); $pdf->SetFont('Arial','',8);
$pdf->SetTextColor(0,0,0); $pdf->SetTextColor(0,0,0);

View File

@ -1,6 +1,6 @@
<?php <?php
/* Copyright (C) 2005 Rodolphe Quiedeville <rodolphe@quiedeville.org> /* 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 * 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 * it under the terms of the GNU General Public License as published by
@ -19,60 +19,60 @@
*/ */
/** /**
\file htdocs/expedition/mods/pdf/pdf_expedition_rouget.modules.php \file htdocs/expedition/mods/pdf/pdf_expedition_rouget.modules.php
\ingroup expedition \ingroup expedition
\brief Fichier de la classe permettant de générer les bordereaux envoi au modèle Rouget \brief Fichier de la classe permettant de générer les bordereaux envoi au modèle Rouget
\version $Id$ \version $Id$
*/ */
require_once DOL_DOCUMENT_ROOT."/expedition/mods/pdf/ModelePdfExpedition.class.php"; require_once DOL_DOCUMENT_ROOT."/expedition/mods/pdf/ModelePdfExpedition.class.php";
/** /**
\class pdf_expedition_dorade \class pdf_expedition_dorade
\brief Classe permettant de générer les borderaux envoi au modèle Rouget \brief Classe permettant de générer les borderaux envoi au modèle Rouget
*/ */
Class pdf_expedition_rouget extends ModelePdfExpedition Class pdf_expedition_rouget extends ModelePdfExpedition
{ {
var $emetteur; // Objet societe qui emet var $emetteur; // Objet societe qui emet
/** /**
\brief Constructeur \brief Constructeur
\param db Handler accès base de donnée \param db Handler accès base de donnée
*/ */
function pdf_expedition_rouget($db=0) function pdf_expedition_rouget($db=0)
{ {
global $conf,$langs,$mysoc; global $conf,$langs,$mysoc;
$this->db = $db; $this->db = $db;
$this->name = "rouget"; $this->name = "rouget";
$this->description = "Modèle simple."; $this->description = "Modèle simple.";
$this->type = 'pdf'; $this->type = 'pdf';
$this->page_largeur = 210; $this->page_largeur = 210;
$this->page_hauteur = 297; $this->page_hauteur = 297;
$this->format = array($this->page_largeur,$this->page_hauteur); $this->format = array($this->page_largeur,$this->page_hauteur);
$this->marge_gauche=10; $this->marge_gauche=10;
$this->marge_droite=10; $this->marge_droite=10;
$this->marge_haute=10; $this->marge_haute=10;
$this->marge_basse=10; $this->marge_basse=10;
$this->option_logo = 0; $this->option_logo = 0;
// Recupere emmetteur // Recupere emmetteur
$this->emetteur=$mysoc; $this->emetteur=$mysoc;
if (! $this->emetteur->pays_code) $this->emetteur->pays_code=substr($langs->defaultlang,-2); // Par defaut, si n'était pas défini 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 pdf Objet PDF
* \param exp Objet expedition * \param exp Objet expedition
* \param showadress 0=non, 1=oui * \param showadress 0=non, 1=oui
* \param outputlang Objet lang cible * \param outputlang Objet lang cible
*/ */
function _pagehead(&$pdf, $exp, $showadress=1, $outputlangs) function _pagehead(&$pdf, $exp, $showadress=1, $outputlangs)
{ {
global $conf; global $conf;
@ -92,7 +92,7 @@ Class pdf_expedition_rouget extends ModelePdfExpedition
$pdf->Code39($this->marge_gauche+3, $this->marge_haute+3, $this->expe->ref); $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->SetFont('Arial','', 14);
$pdf->Text($posx, 16, $outputlangs->transnoentities("SendingSheet")); // Bordereau expedition $pdf->Text($posx, 16, $outputlangs->transnoentities("SendingSheet")); // Bordereau expedition
@ -112,38 +112,38 @@ Class pdf_expedition_rouget extends ModelePdfExpedition
} }
/** /**
* \brief Fonction générant le document sur le disque * \brief Fonction générant le document sur le disque
* \param obj Objet expedition à générer (ou id si ancienne methode) * \param obj Objet expedition à générer (ou id si ancienne methode)
* \return int 1=ok, 0=ko * \return int 1=ok, 0=ko
*/ */
function write_file(&$obj, $outputlangs='') function write_file(&$obj, $outputlangs='')
{ {
global $user,$conf,$langs; global $user,$conf,$langs;
if (! is_object($outputlangs)) $outputlangs=$langs; if (! is_object($outputlangs)) $outputlangs=$langs;
$outputlangs->load("main"); $outputlangs->load("main");
$outputlangs->load("companies"); $outputlangs->load("companies");
$outputlangs->load("bills"); $outputlangs->load("bills");
$outputlangs->load("propal"); $outputlangs->load("propal");
$outputlangs->load("products"); $outputlangs->load("products");
$outputlangs->setPhpLang(); $outputlangs->setPhpLang();
if ($conf->expedition->dir_output) if ($conf->expedition_bon->dir_output)
{ {
$this->expe = $obj; $this->expe = $obj;
// Définition de $dir et $file // Définition de $dir et $file
if ($this->expe->specimen) if ($this->expe->specimen)
{ {
$dir = $conf->expedition->dir_output; $dir = $conf->expedition_bon->dir_output;
$file = $dir . "/SPECIMEN.pdf"; $file = $dir . "/SPECIMEN.pdf";
} }
else else
{ {
$expref = sanitize_string($this->expe->ref); $expref = sanitize_string($this->expe->ref);
$dir = $conf->expedition->dir_output . "/" . $expref; $dir = $conf->expedition_bon->dir_output . "/" . $expref;
$file = $dir . "/" . $expref . ".pdf"; $file = $dir . "/" . $expref . ".pdf";
} }
@ -156,9 +156,9 @@ Class pdf_expedition_rouget extends ModelePdfExpedition
} }
} }
if (file_exists($dir)) if (file_exists($dir))
{ {
$pdf=new ModelePdfExpedition(); $pdf=new ModelePdfExpedition();
//$this = new ModelePdfExpedition(); //$this = new ModelePdfExpedition();
//$this->expe = &$this->expe; //$this->expe = &$this->expe;
@ -171,25 +171,25 @@ Class pdf_expedition_rouget extends ModelePdfExpedition
$pdf->SetCreator("Dolibarr ".DOL_VERSION); $pdf->SetCreator("Dolibarr ".DOL_VERSION);
//$this->pdf->SetAuthor($user->fullname); //$this->pdf->SetAuthor($user->fullname);
$pdf->SetMargins($this->marge_gauche, $this->marge_haute, $this->marge_droite); // Left, Top, Right $pdf->SetMargins($this->marge_gauche, $this->marge_haute, $this->marge_droite); // Left, Top, Right
$pdf->SetAutoPageBreak(1,0); $pdf->SetAutoPageBreak(1,0);
$this->_pagehead($pdf,$this->exp,0,$outputlangs); $this->_pagehead($pdf,$this->exp,0,$outputlangs);
$pdf->SetFont('Arial','', 14); $pdf->SetFont('Arial','', 14);
$pdf->SetTextColor(0,0,0); $pdf->SetTextColor(0,0,0);
$tab_top = 90; $tab_top = 90;
$height_note = 200; $height_note = 200;
$pdf->Rect($this->marge_gauche, 80, $this->page_largeur-$this->marge_gauche-$this->marge_droite, 210); $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) if ($this->barcode->enabled)
{ {
$this->posxdesc=$this->marge_gauche+35; $this->posxdesc=$this->marge_gauche+35;
} }
else else
{ {
$this->posxdesc=$this->marge_gauche+1; $this->posxdesc=$this->marge_gauche+1;
} }
$this->tableau_top = 80; $this->tableau_top = 80;
@ -211,68 +211,68 @@ Class pdf_expedition_rouget extends ModelePdfExpedition
$pdf->i25($this->marge_gauche+3, ($curY - 2), "000000".$this->expe->lignes[$i]->fk_product, 1, 8); $pdf->i25($this->marge_gauche+3, ($curY - 2), "000000".$this->expe->lignes[$i]->fk_product, 1, 8);
} }
// Description de la ligne produit // Description de la ligne produit
$libelleproduitservice=dol_htmlentitiesbr($this->expe->lignes[$i]->description,1); $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 ($this->expe->lignes[$i]->description&&$this->expe->lignes[$i]->description!=$com->lignes[$i]->libelle)
{ {
if ($libelleproduitservice) $libelleproduitservice.="<br>"; if ($libelleproduitservice) $libelleproduitservice.="<br>";
$libelleproduitservice.=dol_htmlentitiesbr($this->expe->lignes[$i]->description,1); $libelleproduitservice.=dol_htmlentitiesbr($this->expe->lignes[$i]->description,1);
} }
// Si ligne associée à un code produit // Si ligne associée à un code produit
if ($this->expe->lignes[$i]->fk_product) if ($this->expe->lignes[$i]->fk_product)
{ {
$prodser = new Product($this->db); $prodser = new Product($this->db);
$prodser->fetch($this->expe->lignes[$i]->fk_product); $prodser->fetch($this->expe->lignes[$i]->fk_product);
// On ajoute la ref // On ajoute la ref
if ($prodser->ref) if ($prodser->ref)
{ {
$prefix_prodserv = ""; $prefix_prodserv = "";
if($prodser->isservice()) if($prodser->isservice())
$prefix_prodserv = $outputlangs->transnoentities("Service")." "; $prefix_prodserv = $outputlangs->transnoentities("Service")." ";
else else
$prefix_prodserv = $outputlangs->transnoentities("Product")." "; $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->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->MultiCell(30, 3, $this->expe->lignes[$i]->qty_shipped);
} }
$pdf->AliasNbPages(); $pdf->AliasNbPages();
$pdf->Close(); $pdf->Close();
$pdf->Output($file); $pdf->Output($file);
$langs->setPhpLang(); // On restaure langue session $langs->setPhpLang(); // On restaure langue session
return 1; return 1;
} }
else else
{ {
$this->error=$outputlangs->transnoentities("ErrorCanNotCreateDir",$dir); $this->error=$outputlangs->transnoentities("ErrorCanNotCreateDir",$dir);
$langs->setPhpLang(); // On restaure langue session $langs->setPhpLang(); // On restaure langue session
return 0; return 0;
} }
} }
else else
{ {
$this->error=$outputlangs->transnoentities("ErrorConstantNotDefined","EXP_OUTPUTDIR"); $this->error=$outputlangs->transnoentities("ErrorConstantNotDefined","EXP_OUTPUTDIR");
$langs->setPhpLang(); // On restaure langue session $langs->setPhpLang(); // On restaure langue session
return 0; return 0;
} }
$this->error=$outputlangs->transnoentities("ErrorUnknown"); $this->error=$outputlangs->transnoentities("ErrorUnknown");
$langs->setPhpLang(); // On restaure langue session $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); $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; $urlsource = $_SERVER["PHP_SELF"]."?id=".$livraison->id;
$genallowed=$user->rights->expedition->livraison->creer; $genallowed=$user->rights->expedition->livraison->creer;

View File

@ -21,64 +21,65 @@
*/ */
/** /**
\file htdocs/livraison/mods/pdf/pdf_sirocco.modules.php \file htdocs/livraison/mods/pdf/pdf_sirocco.modules.php
\ingroup livraison \ingroup livraison
\brief Fichier de la classe permettant de générer les bons de livraison au modèle Sirocco \brief Fichier de la classe permettant de générer les bons de livraison au modèle Sirocco
\version $Id$ \version $Id$
*/ */
require_once(DOL_DOCUMENT_ROOT."/livraison/mods/modules_livraison.php"); require_once(DOL_DOCUMENT_ROOT."/livraison/mods/modules_livraison.php");
/** /**
\class pdf_sirocco \class pdf_sirocco
\brief Classe permettant de générer les bons de livraison au modèle Sirocco \brief Classe permettant de générer les bons de livraison au modèle Sirocco
*/ */
class pdf_sirocco extends ModelePDFDeliveryOrder class pdf_sirocco extends ModelePDFDeliveryOrder
{ {
/** \brief Constructeur /** \brief Constructeur
\param db handler accès base de donnée \param db handler accès base de donnée
*/ */
function pdf_sirocco($db=0) function pdf_sirocco($db=0)
{ {
$this->db = $db; $this->db = $db;
$this->name = "sirocco"; $this->name = "sirocco";
$this->description = "Modèle de bon de livraison simple"; $this->description = "Modèle de bon de livraison simple";
// Dimension page pour format A4 // Dimension page pour format A4
$this->type = 'pdf'; $this->type = 'pdf';
$this->page_largeur = 210; $this->page_largeur = 210;
$this->page_hauteur = 297; $this->page_hauteur = 297;
$this->format = array($this->page_largeur,$this->page_hauteur); $this->format = array($this->page_largeur,$this->page_hauteur);
$this->error = ""; $this->error = "";
} }
/** \brief Renvoi dernière erreur /** \brief Renvoi dernière erreur
\return string Dernière erreur * \return string Dernière erreur
*/ */
function pdferror() function pdferror()
{ {
return $this->error; return $this->error;
} }
/** /**
\brief Fonction générant le bon de livraison sur le disque \brief Fonction générant le bon de livraison sur le disque
\param delivery Object livraison à générer \param delivery Object livraison à générer
\return int 1=ok, 0=ko \param outputlangs Output language
*/ \return int 1 if OK, <=0 if KO
function write_file($delivery) */
{ function write_file($delivery,$outputlangs='')
{
global $user,$conf,$langs; global $user,$conf,$langs;
$langs->load("main"); $langs->load("main");
$langs->load("bills"); $langs->load("bills");
$langs->load("products"); $langs->load("products");
$langs->load("deliveries"); $langs->load("deliveries");
if ($conf->livraison_bon->dir_output) if ($conf->livraison_bon->dir_output)
{ {
@ -96,284 +97,282 @@ class pdf_sirocco extends ModelePDFDeliveryOrder
} }
$deliveryref = sanitize_string($delivery->ref); $deliveryref = sanitize_string($delivery->ref);
$dir = $conf->livraison->dir_output; $dir = $conf->livraison_bon->dir_output;
if (! eregi('specimen',$deliveryref)) $dir.= "/" . $deliveryref; if (! eregi('specimen',$deliveryref)) $dir.= "/" . $deliveryref;
$file = $dir . "/" . $deliveryref . ".pdf"; $file = $dir . "/" . $deliveryref . ".pdf";
if (! file_exists($dir)) if (! file_exists($dir))
{ {
if (create_exdir($dir) < 0) if (create_exdir($dir) < 0)
{ {
$this->error=$langs->transnoentities("ErrorCanNotCreateDir",$dir); $this->error=$langs->transnoentities("ErrorCanNotCreateDir",$dir);
return 0; 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 else
{ {
$this->error=$langs->transnoentities("ErrorConstantNotDefined","LIVRAISON_OUTPUTDIR"); $this->error=$langs->transnoentities("ErrorConstantNotDefined","LIVRAISON_OUTPUTDIR");
return 0; return 0;
} }
}
$file = $dir . "/" . $deliveryref . ".pdf"; /**
* \brief Affiche la grille des lignes de propales
if (file_exists($dir)) * \param pdf objet PDF
{ */
// 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
*/
function _tableau(&$pdf, $tab_top, $tab_height, $nexY) function _tableau(&$pdf, $tab_top, $tab_height, $nexY)
{ {
global $langs,$conf; global $langs,$conf;
$langs->load("main"); $langs->load("main");
$langs->load("bills"); $langs->load("bills");
$pdf->SetFont('Arial','',11); $pdf->SetFont('Arial','',11);
$pdf->Text(30,$tab_top + 5,$langs->transnoentities("Designation")); $pdf->Text(30,$tab_top + 5,$langs->transnoentities("Designation"));
$pdf->line(132, $tab_top, 132, $tab_top + $tab_height); $pdf->line(132, $tab_top, 132, $tab_top + $tab_height);
$pdf->Text(134,$tab_top + 5,$langs->transnoentities("VAT")); $pdf->Text(134,$tab_top + 5,$langs->transnoentities("VAT"));
$pdf->line(144, $tab_top, 144, $tab_top + $tab_height); $pdf->line(144, $tab_top, 144, $tab_top + $tab_height);
$pdf->Text(147,$tab_top + 5,$langs->transnoentities("Qty")); $pdf->Text(147,$tab_top + 5,$langs->transnoentities("Qty"));
$pdf->line(156, $tab_top, 156, $tab_top + $tab_height); $pdf->line(156, $tab_top, 156, $tab_top + $tab_height);
$pdf->Text(160,$tab_top + 5,$langs->transnoentities("PriceU")); $pdf->Text(160,$tab_top + 5,$langs->transnoentities("PriceU"));
$pdf->line(174, $tab_top, 174, $tab_top + $tab_height); $pdf->line(174, $tab_top, 174, $tab_top + $tab_height);
$pdf->Text(187,$tab_top + 5,$langs->transnoentities("Total")); $pdf->Text(187,$tab_top + 5,$langs->transnoentities("Total"));
// $pdf->Rect(10, $tab_top, 190, $nexY - $tab_top); // $pdf->Rect(10, $tab_top, 190, $nexY - $tab_top);
$pdf->Rect(10, $tab_top, 190, $tab_height); $pdf->Rect(10, $tab_top, 190, $tab_height);
$pdf->SetTextColor(0,0,0); $pdf->SetTextColor(0,0,0);
$pdf->SetFont('Arial','',10); $pdf->SetFont('Arial','',10);
$titre = $langs->transnoentities("AmountInCurrency",$langs->transnoentities("Currency".$conf->monnaie)); $titre = $langs->transnoentities("AmountInCurrency",$langs->transnoentities("Currency".$conf->monnaie));
$pdf->Text(200 - $pdf->GetStringWidth($titre), 98, $titre); $pdf->Text(200 - $pdf->GetStringWidth($titre), 98, $titre);
} }
/* /*
* \brief Affiche en-tête propale * \brief Affiche en-tête propale
* \param pdf objet PDF * \param pdf objet PDF
* \param fac objet propale * \param fac objet propale
* \param showadress 0=non, 1=oui * \param showadress 0=non, 1=oui
*/ */
function _pagehead(&$pdf, $delivery) function _pagehead(&$pdf, $delivery)
{ {
global $langs; global $langs;
$langs->load("deliveries"); $langs->load("deliveries");
$pdf->SetXY(10,5); $pdf->SetXY(10,5);
if (defined("MAIN_INFO_SOCIETE_NOM")) if (defined("MAIN_INFO_SOCIETE_NOM"))
{ {
$pdf->SetTextColor(0,0,200); $pdf->SetTextColor(0,0,200);
$pdf->SetFont('Arial','B',14); $pdf->SetFont('Arial','B',14);
$pdf->MultiCell(76, 8, MAIN_INFO_SOCIETE_NOM, 0, 'L'); $pdf->MultiCell(76, 8, MAIN_INFO_SOCIETE_NOM, 0, 'L');
} }
$pdf->SetTextColor(70,70,170); $pdf->SetTextColor(70,70,170);
if (defined("FAC_PDF_ADRESSE")) if (defined("FAC_PDF_ADRESSE"))
{ {
$pdf->SetFont('Arial','',12); $pdf->SetFont('Arial','',12);
$pdf->MultiCell(76, 5, FAC_PDF_ADRESSE); $pdf->MultiCell(76, 5, FAC_PDF_ADRESSE);
} }
if (defined("FAC_PDF_TEL")) if (defined("FAC_PDF_TEL"))
{ {
$pdf->SetFont('Arial','',10); $pdf->SetFont('Arial','',10);
$pdf->MultiCell(76, 5, "Tél : ".FAC_PDF_TEL); $pdf->MultiCell(76, 5, "Tél : ".FAC_PDF_TEL);
} }
if (defined("MAIN_INFO_SIREN")) if (defined("MAIN_INFO_SIREN"))
{ {
$pdf->SetFont('Arial','',10); $pdf->SetFont('Arial','',10);
$pdf->MultiCell(76, 5, "SIREN : ".MAIN_INFO_SIREN); $pdf->MultiCell(76, 5, "SIREN : ".MAIN_INFO_SIREN);
} }
if (defined("FAC_PDF_INTITULE2")) if (defined("FAC_PDF_INTITULE2"))
{ {
$pdf->SetXY(100,5); $pdf->SetXY(100,5);
$pdf->SetFont('Arial','B',14); $pdf->SetFont('Arial','B',14);
$pdf->SetTextColor(0,0,200); $pdf->SetTextColor(0,0,200);
$pdf->MultiCell(100, 10, FAC_PDF_INTITULE2, '' , 'R'); $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