diff --git a/htdocs/includes/modules/commande/pdf_edison.modules.php b/htdocs/includes/modules/commande/pdf_edison.modules.php
index 561d1f435eb..bdcfd4530f4 100644
--- a/htdocs/includes/modules/commande/pdf_edison.modules.php
+++ b/htdocs/includes/modules/commande/pdf_edison.modules.php
@@ -198,11 +198,10 @@ class pdf_edison extends ModelePDFCommandes
$pdf->SetFont('','', 9); // Dans boucle pour gerer multi-page
// Description de la ligne produit
- pdf_getlinedesc($pdf,$object,$i,$outputlangs,100,3,30,$curY,1);
+ pdf_writelinedesc($pdf,$object,$i,$outputlangs,100,3,30,$curY,1);
//$pdf->writeHTMLCell(100, 3, 30, $curY, $outputlangs->convToOutputCharset($libelleproduitservice), 0, 1);
$pdf->SetFont('','', 9); // On repositionne la police par defaut
-
$nexY = $pdf->GetY();
$ref = pdf_getlineref($object, $i, $outputlangs);
diff --git a/htdocs/includes/modules/commande/pdf_einstein.modules.php b/htdocs/includes/modules/commande/pdf_einstein.modules.php
index e6b73629fb9..88ae269d8a3 100644
--- a/htdocs/includes/modules/commande/pdf_einstein.modules.php
+++ b/htdocs/includes/modules/commande/pdf_einstein.modules.php
@@ -247,7 +247,7 @@ class pdf_einstein extends ModelePDFCommandes
// Description of product line
$curX = $this->posxdesc-1;
- pdf_getlinedesc($pdf,$object,$i,$outputlangs,$this->posxtva-$curX,4,$curX,$curY);
+ pdf_writelinedesc($pdf,$object,$i,$outputlangs,$this->posxtva-$curX,4,$curX,$curY);
$pdf->SetFont('','', 9); // On repositionne la police par defaut
$nexY = $pdf->GetY();
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 9e07c02416d..cf14c01dbdd 100644
--- a/htdocs/includes/modules/expedition/pdf/pdf_expedition_merou.modules.php
+++ b/htdocs/includes/modules/expedition/pdf/pdf_expedition_merou.modules.php
@@ -205,8 +205,6 @@ Class pdf_expedition_merou extends ModelePdfExpedition
for ($i = 0 ; $i < $nblignes ; $i++)
{
// Description de la ligne produit
- //$libelleproduitservice=pdf_getlinedesc($pdf,$object->$origin,$i,$outputlangs);
- //if ($i==1) { print $object->commande->lignes[$i]->libelle.' - '.$libelleproduitservice; exit; }
//Creation des cases a cocher
$pdf->rect(10+3, $curY+1, 3, 3);
@@ -218,7 +216,8 @@ Class pdf_expedition_merou extends ModelePdfExpedition
//Insertion du libelle
$pdf->SetFont('','', 7);
$pdf->SetXY (50, $curY+1 );
- $libelleproduitservice = pdf_getlinedesc($pdf,$object->$origin,$i,$outputlangs,90,3,50,$curY+1,1);
+ //$libelleproduitservice=pdf_getlinedesc($object->$origin,$i,$outputlangs);
+ $libelleproduitservice = pdf_writelinedesc($pdf,$object->$origin,$i,$outputlangs,90,3,50,$curY+1,1);
//$pdf->writeHTMLCell(90, 3, 50, $curY+1, $outputlangs->convToOutputCharset($libelleproduitservice), 0, 'L', 0);
//Insertion de la quantite commandee
$pdf->SetFont('','', 7);
diff --git a/htdocs/includes/modules/expedition/pdf/pdf_expedition_rouget.modules.php b/htdocs/includes/modules/expedition/pdf/pdf_expedition_rouget.modules.php
index 7a7ecddeb52..72fd54f8ed1 100644
--- a/htdocs/includes/modules/expedition/pdf/pdf_expedition_rouget.modules.php
+++ b/htdocs/includes/modules/expedition/pdf/pdf_expedition_rouget.modules.php
@@ -340,8 +340,7 @@ Class pdf_expedition_rouget extends ModelePdfExpedition
// Description de la ligne produit
//$libelleproduitservice=pdf_getlinedesc($object,$i,$outputlangs);
- pdf_getlinedesc($pdf,$object,$i,$outputlangs,150,3,$this->posxdesc,$curY);
-
+ pdf_writelinedesc($pdf,$object,$i,$outputlangs,150,3,$this->posxdesc,$curY);
//$pdf->writeHTMLCell(150, 3, $this->posxdesc, $curY, $outputlangs->convToOutputCharset($libelleproduitservice), 0, 1);
$pdf->SetFont('','', 9); // On repositionne la police par defaut
diff --git a/htdocs/includes/modules/facture/pdf_crabe.modules.php b/htdocs/includes/modules/facture/pdf_crabe.modules.php
index df4d4cd70bf..c70f50c2bc0 100644
--- a/htdocs/includes/modules/facture/pdf_crabe.modules.php
+++ b/htdocs/includes/modules/facture/pdf_crabe.modules.php
@@ -250,12 +250,10 @@ class pdf_crabe extends ModelePDFFactures
$curY = $nexY;
// Description of product line
- //$libelleproduitservice=pdf_getlinedesc($object,$i,$outputlangs);
-
$pdf->SetFont('','', 9); // Dans boucle pour gerer multi-page
-
$curX = $this->posxdesc-1;
- pdf_getlinedesc($pdf,$object,$i,$outputlangs,$this->posxtva-$curX,3,$curX,$curY);
+ //$libelleproduitservice=pdf_getlinedesc($object,$i,$outputlangs);
+ pdf_writelinedesc($pdf,$object,$i,$outputlangs,$this->posxtva-$curX,3,$curX,$curY);
//$pdf->writeHTMLCell($this->posxtva-$this->posxdesc-1, 3, $this->posxdesc-1, $curY, $outputlangs->convToOutputCharset($libelleproduitservice), 0, 1);
diff --git a/htdocs/includes/modules/facture/pdf_oursin.modules.php b/htdocs/includes/modules/facture/pdf_oursin.modules.php
index 56228a8ec86..d6cf6d2f7e5 100644
--- a/htdocs/includes/modules/facture/pdf_oursin.modules.php
+++ b/htdocs/includes/modules/facture/pdf_oursin.modules.php
@@ -215,9 +215,7 @@ class pdf_oursin extends ModelePDFFactures
// Description of product line
//$libelleproduitservice=pdf_getlinedesc($object,$i,$outputlangs);
-
- pdf_getlinedesc($pdf,$object,$i,$outputlangs,108,3,$this->posxdesc-1,$curY+1);
-
+ pdf_writelinedesc($pdf,$object,$i,$outputlangs,108,3,$this->posxdesc-1,$curY+1);
//$pdf->writeHTMLCell(108, 3, $this->posxdesc-1, $curY, $outputlangs->convToOutputCharset($libelleproduitservice), 0, 1);
$nexY = $pdf->GetY();
diff --git a/htdocs/includes/modules/livraison/pdf/pdf_sirocco.modules.php b/htdocs/includes/modules/livraison/pdf/pdf_sirocco.modules.php
index 389d692c5bd..8f968e617a4 100644
--- a/htdocs/includes/modules/livraison/pdf/pdf_sirocco.modules.php
+++ b/htdocs/includes/modules/livraison/pdf/pdf_sirocco.modules.php
@@ -184,13 +184,11 @@ class pdf_sirocco extends ModelePDFDeliveryOrder
{
$curY = $nexY;
- // Description de la ligne produit
+ $pdf->SetFont('','', 9); // Dans boucle pour gerer multi-page
+
+ // Description de la ligne produit
//$libelleproduitservice=pdf_getlinedesc($object,$i,$outputlangs);
-
- $pdf->SetFont('','', 9); // Dans boucle pour gerer multi-page
-
- pdf_getlinedesc($pdf,$object,$i,$outputlangs,100,3,30,$curY,1);
-
+ pdf_writelinedesc($pdf,$object,$i,$outputlangs,100,3,30,$curY,1);
//$pdf->writeHTMLCell(100, 3, 30, $curY, $outputlangs->convToOutputCharset($libelleproduitservice), 0, 1);
$pdf->SetFont('','', 9); // Dans boucle pour gerer multi-page
diff --git a/htdocs/includes/modules/livraison/pdf/pdf_typhon.modules.php b/htdocs/includes/modules/livraison/pdf/pdf_typhon.modules.php
index a7bc81fc263..16ed5982f69 100644
--- a/htdocs/includes/modules/livraison/pdf/pdf_typhon.modules.php
+++ b/htdocs/includes/modules/livraison/pdf/pdf_typhon.modules.php
@@ -241,13 +241,11 @@ class pdf_typhon extends ModelePDFDeliveryOrder
{
$curY = $nexY;
- // Description de la ligne produit
+ $pdf->SetFont('','', 9); // Dans boucle pour gerer multi-page
+
+ // Description de la ligne produit
//$libelleproduitservice=pdf_getlinedesc($object,$i,$outputlangs);
-
- $pdf->SetFont('','', 9); // Dans boucle pour gerer multi-page
-
- pdf_getlinedesc($pdf,$object,$i,$outputlangs,108,3,$this->posxdesc-1,$curY);
-
+ pdf_writelinedesc($pdf,$object,$i,$outputlangs,108,3,$this->posxdesc-1,$curY);
//$pdf->writeHTMLCell(108, 3, $this->posxdesc-1, $curY, $outputlangs->convToOutputCharset($libelleproduitservice), 0, 1);
$pdf->SetFont('','', 9); // On repositionne la police par defaut
diff --git a/htdocs/includes/modules/propale/pdf_propale_azur.modules.php b/htdocs/includes/modules/propale/pdf_propale_azur.modules.php
index 03b3e2e23e1..df306787ea2 100644
--- a/htdocs/includes/modules/propale/pdf_propale_azur.modules.php
+++ b/htdocs/includes/modules/propale/pdf_propale_azur.modules.php
@@ -248,7 +248,7 @@ class pdf_propale_azur extends ModelePDFPropales
// Description de la ligne produit
$curX = $this->posxdesc-1;
- pdf_getlinedesc($pdf,$object,$i,$outputlangs,$this->posxtva-$curX,4,$curX,$curY);
+ pdf_writelinedesc($pdf,$object,$i,$outputlangs,$this->posxtva-$curX,4,$curX,$curY);
$pdf->SetFont('','', 9); // On repositionne la police par defaut
$nexY = $pdf->GetY();
diff --git a/htdocs/includes/modules/propale/pdf_propale_jaune.modules.php b/htdocs/includes/modules/propale/pdf_propale_jaune.modules.php
index fa3f251c0b6..b59b9523029 100644
--- a/htdocs/includes/modules/propale/pdf_propale_jaune.modules.php
+++ b/htdocs/includes/modules/propale/pdf_propale_jaune.modules.php
@@ -185,12 +185,11 @@ class pdf_propale_jaune extends ModelePDFPropales
{
$curY = $nexY;
- // Description de la ligne produit
+ $pdf->SetFont('','', 9); // Dans boucle pour gerer multi-page
+
+ // Description de la ligne produit
//$libelleproduitservice=pdf_getlinedesc($object,$i,$outputlangs,1);
- $pdf->SetFont('','', 9); // Dans boucle pour gerer multi-page
-
- pdf_getlinedesc($pdf,$object,$i,$outputlangs,102,4,30,$curY,1);
-
+ pdf_writelinedesc($pdf,$object,$i,$outputlangs,102,4,30,$curY,1);
//$pdf->writeHTMLCell(102, 4, 30, $curY, $outputlangs->convToOutputCharset($libelleproduitservice), 0, 1);
$pdf->SetFont('','', 9); // On repositionne la police par defaut
diff --git a/htdocs/includes/modules/supplier_invoice/pdf/pdf_canelle.modules.php b/htdocs/includes/modules/supplier_invoice/pdf/pdf_canelle.modules.php
index 5598b897852..5478601ec50 100755
--- a/htdocs/includes/modules/supplier_invoice/pdf/pdf_canelle.modules.php
+++ b/htdocs/includes/modules/supplier_invoice/pdf/pdf_canelle.modules.php
@@ -221,17 +221,14 @@ class pdf_canelle extends ModelePDFSuppliersInvoices
{
$curY = $nexY;
- // Description de la ligne produit
+ $pdf->SetFont('','', 9); // Dans boucle pour gerer multi-page
+
+ // Description de la ligne produit
//$libelleproduitservice=pdf_getlinedesc($object,$i,$outputlangs,0,0,1);
-
- $pdf->SetFont('','', 9); // Dans boucle pour gerer multi-page
-
- pdf_getlinedesc($pdf,$object,$i,$outputlangs,108,3,$this->posxdesc-1,$curY,0,0,1);
-
+ pdf_writelinedesc($pdf,$object,$i,$outputlangs,108,3,$this->posxdesc-1,$curY,0,0,1);
//$pdf->writeHTMLCell(108, 3, $this->posxdesc-1, $curY, $outputlangs->convToOutputCharset($libelleproduitservice), 0, 1);
$pdf->SetFont('','', 9); // On repositionne la police par defaut
-
$nexY = $pdf->GetY();
// TVA
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 d2cf0085e75..09e9153f714 100644
--- a/htdocs/includes/modules/supplier_order/pdf/pdf_muscadet.modules.php
+++ b/htdocs/includes/modules/supplier_order/pdf/pdf_muscadet.modules.php
@@ -232,17 +232,14 @@ class pdf_muscadet extends ModelePDFSuppliersOrders
{
$curY = $nexY;
- // Description de la ligne produit
+ $pdf->SetFont('','', 9); // Dans boucle pour gerer multi-page
+
+ // Description de la ligne produit
//$libelleproduitservice=pdf_getlinedesc($object,$i,$outputlangs,0,0,1);
-
- $pdf->SetFont('','', 9); // Dans boucle pour gerer multi-page
-
- pdf_getlinedesc($pdf,$object,$i,$outputlangs,108,3,$this->posxdesc-1,$curY,0,0,1);
-
+ pdf_writelinedesc($pdf,$object,$i,$outputlangs,108,3,$this->posxdesc-1,$curY,0,0,1);
//$pdf->writeHTMLCell(108, 3, $this->posxdesc-1, $curY, $outputlangs->convToOutputCharset($libelleproduitservice), 0, 1);
$pdf->SetFont('','', 9); // On repositionne la police par defaut
-
$nexY = $pdf->GetY();
// TVA
diff --git a/htdocs/lib/pdf.lib.php b/htdocs/lib/pdf.lib.php
index 8469060325c..ee435ee4cc7 100644
--- a/htdocs/lib/pdf.lib.php
+++ b/htdocs/lib/pdf.lib.php
@@ -445,134 +445,158 @@ function pdf_pagefoot(&$pdf,$outputlangs,$paramfreetext,$fromcompany,$marge_bass
/**
- * Return line description translated in outputlangs and encoded in UTF8
+ * Output line description into PDF
+ * @param pdf PDF object
* @param object Object
- * @param $i Current line number
+ * @param i Current line number
* @param outputlang Object lang for output
+ * @param w
+ * @param h
+ * @param posx
+ * @param posy
* @param hideref Hide reference
* @param hidedesc Hide description
* @param issupplierline Is it a line for a supplier object ?
*/
-function pdf_getlinedesc(&$pdf,$object,$i,$outputlangs,$w,$h,$posx,$posy,$hideref=0,$hidedesc=0,$issupplierline=0)
+function pdf_writelinedesc(&$pdf,$object,$i,$outputlangs,$w,$h,$posx,$posy,$hideref=0,$hidedesc=0,$issupplierline=0)
{
global $db, $conf, $langs;
if (!empty($object->hooks) && $object->lines[$i]->product_type == 9 && !empty($object->lines[$i]->special_code))
{
- $object->hooks[$object->lines[$i]->special_code]->pdf_getlinedesc($pdf,$object,$i,$outputlangs,$w,$h,$posx,$posy);
+ return $object->hooks[$object->lines[$i]->special_code]->pdf_writelinedesc($pdf,$object,$i,$outputlangs,$w,$h,$posx,$posy);
}
else
{
- $idprod=$object->lines[$i]->fk_product;
- $label=$object->lines[$i]->label; if (empty($label)) $label=$object->lines[$i]->libelle;
- $desc=$object->lines[$i]->desc; if (empty($desc)) $desc=$object->lines[$i]->description;
- $ref_supplier=$object->lines[$i]->ref_supplier; if (empty($ref_supplier)) $ref_supplier=$object->lines[$i]->ref_fourn; // TODO Not yeld saved for supplier invoices, only supplier orders
- $note=$object->lines[$i]->note;
-
- if ($issupplierline) $prodser = new ProductFournisseur($db);
- else $prodser = new Product($db);
-
- if ($idprod)
- {
- $prodser->fetch($idprod);
- // If a predefined product and multilang and on other lang, we renamed label with label translated
- if ($conf->global->MAIN_MULTILANGS && ($outputlangs->defaultlang != $langs->defaultlang))
- {
- if (! empty($prodser->multilangs[$outputlangs->defaultlang]["libelle"])) $label=$prodser->multilangs[$outputlangs->defaultlang]["libelle"];
- if (! empty($prodser->multilangs[$outputlangs->defaultlang]["description"])) $desc=$prodser->multilangs[$outputlangs->defaultlang]["description"];
- if (! empty($prodser->multilangs[$outputlangs->defaultlang]["note"])) $note=$prodser->multilangs[$outputlangs->defaultlang]["note"];
- }
- }
-
- // Description short of product line
- $libelleproduitservice=$label;
-
- // Description long of product line
- if ($desc && ($desc != $label))
- {
- if ($libelleproduitservice && !$hidedesc) $libelleproduitservice.="\n";
-
- if ($desc == '(CREDIT_NOTE)' && $object->lines[$i]->fk_remise_except)
- {
- $discount=new DiscountAbsolute($db);
- $discount->fetch($object->lines[$i]->fk_remise_except);
- $libelleproduitservice=$outputlangs->transnoentitiesnoconv("DiscountFromCreditNote",$discount->ref_facture_source);
- }
- else
- {
- if ($idprod)
- {
- if (!$hidedesc) $libelleproduitservice.=$desc;
- }
- else
- {
- $libelleproduitservice.=$desc;
- }
- }
- }
-
- // If line linked to a product
- if ($idprod)
- {
- // On ajoute la ref
- if ($prodser->ref)
- {
- $prefix_prodserv = "";
- $ref_prodserv = "";
- if ($conf->global->PRODUCT_ADD_TYPE_IN_DOCUMENTS) // In standard mode, we do not show this
- {
- if($prodser->isservice())
- {
- $prefix_prodserv = $outputlangs->transnoentitiesnoconv("Service")." ";
- }
- else
- {
- $prefix_prodserv = $outputlangs->transnoentitiesnoconv("Product")." ";
- }
- }
-
- if (!$hideref)
- {
- if ($issupplierline) $ref_prodserv = $prodser->ref.' ('.$outputlangs->trans("SupplierRef").' '.$ref_supplier.')'; // Show local ref and supplier ref
- else $ref_prodserv = $prodser->ref; // Show local ref only
-
- $ref_prodserv .= " - ";
- }
-
- $libelleproduitservice=$prefix_prodserv.$ref_prodserv.$libelleproduitservice;
- }
- }
-
- $libelleproduitservice=dol_htmlentitiesbr($libelleproduitservice,1);
-
- if ($object->lines[$i]->date_start || $object->lines[$i]->date_end)
- {
- // Show duration if exists
- if ($object->lines[$i]->date_start && $object->lines[$i]->date_end)
- {
- $period='('.$outputlangs->transnoentitiesnoconv('DateFromTo',dol_print_date($object->lines[$i]->date_start, $format, false, $outputlangs),dol_print_date($object->lines[$i]->date_end, $format, false, $outputlangs)).')';
- }
- if ($object->lines[$i]->date_start && ! $object->lines[$i]->date_end)
- {
- $period='('.$outputlangs->transnoentitiesnoconv('DateFrom',dol_print_date($object->lines[$i]->date_start, $format, false, $outputlangs)).')';
- }
- if (! $object->lines[$i]->date_start && $object->lines[$i]->date_end)
- {
- $period='('.$outputlangs->transnoentitiesnoconv('DateUntil',dol_print_date($object->lines[$i]->date_end, $format, false, $outputlangs)).')';
- }
- //print '>'.$outputlangs->charset_output.','.$period;
- $libelleproduitservice.="
".dol_htmlentitiesbr($period,1);
- //print $libelleproduitservice;
- }
+ $libellproduitservice=pdf_getlinedesc($object,$i,$outputlangs,$hideref,$hidedesc,$issupplierline);
// Description
$pdf->writeHTMLCell($w, $h, $posx, $posy, $outputlangs->convToOutputCharset($libelleproduitservice), 0, 1);
- // For compatibility
- return $libelleproduitservice;
+ return $libellproduitservice;
}
}
+/**
+ * Return line description translated in outputlangs and encoded in UTF8
+ * @param object Object
+ * @param i Current line number
+ * @param outputlang Object lang for output
+ * @param hideref Hide reference
+ * @param hidedesc Hide description
+ * @param issupplierline Is it a line for a supplier object ?
+ * @return string String with line
+ */
+function pdf_getlinedesc($object,$i,$outputlangs,$hideref=0,$hidedesc=0,$issupplierline=0)
+{
+ global $db, $conf, $langs;
+
+ $idprod=$object->lines[$i]->fk_product;
+ $label=$object->lines[$i]->label; if (empty($label)) $label=$object->lines[$i]->libelle;
+ $desc=$object->lines[$i]->desc; if (empty($desc)) $desc=$object->lines[$i]->description;
+ $ref_supplier=$object->lines[$i]->ref_supplier; if (empty($ref_supplier)) $ref_supplier=$object->lines[$i]->ref_fourn; // TODO Not yeld saved for supplier invoices, only supplier orders
+ $note=$object->lines[$i]->note;
+
+ if ($issupplierline) $prodser = new ProductFournisseur($db);
+ else $prodser = new Product($db);
+
+ if ($idprod)
+ {
+ $prodser->fetch($idprod);
+ // If a predefined product and multilang and on other lang, we renamed label with label translated
+ if ($conf->global->MAIN_MULTILANGS && ($outputlangs->defaultlang != $langs->defaultlang))
+ {
+ if (! empty($prodser->multilangs[$outputlangs->defaultlang]["libelle"])) $label=$prodser->multilangs[$outputlangs->defaultlang]["libelle"];
+ if (! empty($prodser->multilangs[$outputlangs->defaultlang]["description"])) $desc=$prodser->multilangs[$outputlangs->defaultlang]["description"];
+ if (! empty($prodser->multilangs[$outputlangs->defaultlang]["note"])) $note=$prodser->multilangs[$outputlangs->defaultlang]["note"];
+ }
+ }
+
+ // Description short of product line
+ $libelleproduitservice=$label;
+
+ // Description long of product line
+ if ($desc && ($desc != $label))
+ {
+ if ($libelleproduitservice && !$hidedesc) $libelleproduitservice.="\n";
+
+ if ($desc == '(CREDIT_NOTE)' && $object->lines[$i]->fk_remise_except)
+ {
+ $discount=new DiscountAbsolute($db);
+ $discount->fetch($object->lines[$i]->fk_remise_except);
+ $libelleproduitservice=$outputlangs->transnoentitiesnoconv("DiscountFromCreditNote",$discount->ref_facture_source);
+ }
+ else
+ {
+ if ($idprod)
+ {
+ if (!$hidedesc) $libelleproduitservice.=$desc;
+ }
+ else
+ {
+ $libelleproduitservice.=$desc;
+ }
+ }
+ }
+
+ // If line linked to a product
+ if ($idprod)
+ {
+ // On ajoute la ref
+ if ($prodser->ref)
+ {
+ $prefix_prodserv = "";
+ $ref_prodserv = "";
+ if ($conf->global->PRODUCT_ADD_TYPE_IN_DOCUMENTS) // In standard mode, we do not show this
+ {
+ if($prodser->isservice())
+ {
+ $prefix_prodserv = $outputlangs->transnoentitiesnoconv("Service")." ";
+ }
+ else
+ {
+ $prefix_prodserv = $outputlangs->transnoentitiesnoconv("Product")." ";
+ }
+ }
+
+ if (!$hideref)
+ {
+ if ($issupplierline) $ref_prodserv = $prodser->ref.' ('.$outputlangs->trans("SupplierRef").' '.$ref_supplier.')'; // Show local ref and supplier ref
+ else $ref_prodserv = $prodser->ref; // Show local ref only
+
+ $ref_prodserv .= " - ";
+ }
+
+ $libelleproduitservice=$prefix_prodserv.$ref_prodserv.$libelleproduitservice;
+ }
+ }
+
+ $libelleproduitservice=dol_htmlentitiesbr($libelleproduitservice,1);
+
+ if ($object->lines[$i]->date_start || $object->lines[$i]->date_end)
+ {
+ // Show duration if exists
+ if ($object->lines[$i]->date_start && $object->lines[$i]->date_end)
+ {
+ $period='('.$outputlangs->transnoentitiesnoconv('DateFromTo',dol_print_date($object->lines[$i]->date_start, $format, false, $outputlangs),dol_print_date($object->lines[$i]->date_end, $format, false, $outputlangs)).')';
+ }
+ if ($object->lines[$i]->date_start && ! $object->lines[$i]->date_end)
+ {
+ $period='('.$outputlangs->transnoentitiesnoconv('DateFrom',dol_print_date($object->lines[$i]->date_start, $format, false, $outputlangs)).')';
+ }
+ if (! $object->lines[$i]->date_start && $object->lines[$i]->date_end)
+ {
+ $period='('.$outputlangs->transnoentitiesnoconv('DateUntil',dol_print_date($object->lines[$i]->date_end, $format, false, $outputlangs)).')';
+ }
+ //print '>'.$outputlangs->charset_output.','.$period;
+ $libelleproduitservice.="
".dol_htmlentitiesbr($period,1);
+ //print $libelleproduitservice;
+ }
+
+ return $libelleproduitservice;
+}
+
+
/**
* Return line ref
* @param object Object
@@ -656,6 +680,7 @@ function pdf_getlineqty($object,$i,$outputlangs)
*/
function pdf_getlineremisepercent($object,$i,$outputlangs)
{
+ include_once(DOL_DOCUMENT_ROOT."/lib/functions2.lib.php");
if ($object->lines[$i]->special_code != 3)
{
if (!empty($object->hooks) && $object->lines[$i]->product_type == 9 && !empty($object->lines[$i]->special_code))