41 function doc_getlinedesc($line, $outputlangs, $hideref = 0, $hidedesc = 0, $issupplierline = 0)
43 global $db, $conf, $langs;
45 $idprod = $line->fk_product;
46 $label = (!empty($line->label) ? $line->label : (!empty($line->libelle) ? $line->libelle :
''));
47 $desc = (!empty($line->desc) ? $line->desc : (!empty($line->description) ? $line->description :
''));
48 $ref_supplier = (!empty($line->ref_supplier) ? $line->ref_supplier : (!empty($line->ref_fourn) ? $line->ref_fourn :
''));
49 $note = (!empty($line->note) ? $line->note :
'');
52 else $prodser =
new Product($db);
56 $prodser->fetch($idprod);
58 if (!empty($conf->global->MAIN_MULTILANGS) && ($outputlangs->defaultlang != $langs->defaultlang))
60 if (!empty($prodser->multilangs[$outputlangs->defaultlang][
"label"]) && $label == $prodser->label) $label = $prodser->multilangs[$outputlangs->defaultlang][
"label"];
61 if (!empty($prodser->multilangs[$outputlangs->defaultlang][
"description"]) && $desc == $prodser->description) $desc = $prodser->multilangs[$outputlangs->defaultlang][
"description"];
62 if (!empty($prodser->multilangs[$outputlangs->defaultlang][
"note"]) && $note == $prodser->note) $note = $prodser->multilangs[$outputlangs->defaultlang][
"note"];
67 $libelleproduitservice = $label;
70 if ($desc && ($desc != $label))
72 if ($desc ==
'(CREDIT_NOTE)' && $line->fk_remise_except)
75 $discount->fetch($line->fk_remise_except);
76 $sourceref = !empty($discount->discount_type) ? $discount->ref_invoive_supplier_source : $discount->ref_facture_source;
77 $libelleproduitservice = $outputlangs->transnoentitiesnoconv(
"DiscountFromCreditNote", $sourceref);
78 } elseif ($desc ==
'(DEPOSIT)' && $line->fk_remise_except)
81 $discount->fetch($line->fk_remise_except);
82 $sourceref = !empty($discount->discount_type) ? $discount->ref_invoive_supplier_source : $discount->ref_facture_source;
83 $libelleproduitservice = $outputlangs->transnoentitiesnoconv(
"DiscountFromDeposit", $sourceref);
85 if (!empty($conf->global->INVOICE_ADD_DEPOSIT_DATE)) $libelleproduitservice .=
' ('.dol_print_date($discount->datec,
'day',
'', $outputlangs).
')';
86 } elseif ($desc ==
'(EXCESS RECEIVED)' && $line->fk_remise_except)
89 $discount->fetch($line->fk_remise_except);
90 $libelleproduitservice = $outputlangs->transnoentitiesnoconv(
"DiscountFromExcessReceived", $discount->ref_facture_source);
91 } elseif ($desc ==
'(EXCESS PAID)' && $line->fk_remise_except)
94 $discount->fetch($line->fk_remise_except);
95 $libelleproduitservice = $outputlangs->transnoentitiesnoconv(
"DiscountFromExcessPaid", $discount->ref_invoice_supplier_source);
99 if (empty($hidedesc)) $libelleproduitservice =
dol_concatdesc($libelleproduitservice, $desc);
101 $libelleproduitservice =
dol_concatdesc($libelleproduitservice, $desc);
112 $prefix_prodserv =
"";
114 if (!empty($conf->global->PRODUCT_ADD_TYPE_IN_DOCUMENTS))
116 if ($prodser->isService())
118 $prefix_prodserv = $outputlangs->transnoentitiesnoconv(
"Service").
" ";
120 $prefix_prodserv = $outputlangs->transnoentitiesnoconv(
"Product").
" ";
126 if ($issupplierline) $ref_prodserv = $prodser->ref.
' ('.$outputlangs->trans(
"SupplierRef").
' '.$ref_supplier.
')';
127 else $ref_prodserv = $prodser->ref;
129 $ref_prodserv .=
" - ";
132 $libelleproduitservice = $prefix_prodserv.$ref_prodserv.$libelleproduitservice;
136 if (!empty($line->date_start) || !empty($line->date_end))
140 if ($line->date_start && $line->date_end)
142 $period =
'('.$outputlangs->transnoentitiesnoconv(
'DateFromTo',
dol_print_date($line->date_start, $format,
false, $outputlangs),
dol_print_date($line->date_end, $format,
false, $outputlangs)).
')';
144 if ($line->date_start && !$line->date_end)
146 $period =
'('.$outputlangs->transnoentitiesnoconv(
'DateFrom',
dol_print_date($line->date_start, $format,
false, $outputlangs)).
')';
148 if (!$line->date_start && $line->date_end)
150 $period =
'('.$outputlangs->transnoentitiesnoconv(
'DateUntil',
dol_print_date($line->date_end, $format,
false, $outputlangs)).
')';
153 $libelleproduitservice =
dol_concatdesc($libelleproduitservice, $period);
157 return $libelleproduitservice;
Class to manage products or services.
doc_getlinedesc($line, $outputlangs, $hideref=0, $hidedesc=0, $issupplierline=0)
Return line description translated in outputlangs and encoded into UTF8.
dol_concatdesc($text1, $text2, $forxml=false, $invert=false)
Concat 2 descriptions with a new line between them (second operand after first one with appropriate n...
dol_print_date($time, $format= '', $tzoutput= 'auto', $outputlangs= '', $encodetooutput=false)
Output date in a string format according to outputlangs (or langs if not defined).
Class to manage absolute discounts.
Class to manage predefined suppliers products.