diff --git a/htdocs/admin/pdf.php b/htdocs/admin/pdf.php
index c22d365d932..c4ae5d59225 100644
--- a/htdocs/admin/pdf.php
+++ b/htdocs/admin/pdf.php
@@ -170,6 +170,13 @@ if ($action == 'update') {
dolibarr_set_const($db, "PDF_USE_A", GETPOST('PDF_USE_A', 'alpha'), 'chaine', 0, '', $conf->entity);
}
+ if (GETPOSTISSET('PDF_BOLD_PRODUCT_LABEL')) {
+ dolibarr_set_const($db, "PDF_BOLD_PRODUCT_LABEL", GETPOST('PDF_BOLD_PRODUCT_LABEL', 'alpha'), 'chaine', 0, '', $conf->entity);
+ }
+ if (GETPOSTISSET('PDF_BOLD_PRODUCT_REF_AND_PERIOD')){
+ dolibarr_set_const($db, "PDF_BOLD_PRODUCT_REF_AND_PERIOD", GETPOST('PDF_BOLD_PRODUCT_REF_AND_PERIOD', 'alpha'), 'chaine', 0, '', $conf->entity);
+ }
+
setEventMessages($langs->trans("SetupSaved"), null, 'mesgs');
header("Location: ".$_SERVER["PHP_SELF"]."?mainmenu=home&leftmenu=setup");
@@ -499,6 +506,22 @@ if ($conf->use_javascript_ajax) {
}
print '';
+print '
| '.$langs->trans("BoldLabelOnPDF").' | ';
+if ($conf->use_javascript_ajax) {
+ print ajax_constantonoff('PDF_BOLD_PRODUCT_LABEL');
+} else {
+ print $form->selectyesno('PDF_BOLD_PRODUCT_LABEL', (!empty($conf->global->PDF_BOLD_PRODUCT_LABEL)) ? $conf->global->PDF_BOLD_PRODUCT_LABEL : 0, 1);
+}
+print ' |
';
+
+print '| '.$langs->trans("BoldRefAndPeriodOnPDF").' | ';
+if ($conf->use_javascript_ajax) {
+ print ajax_constantonoff('PDF_BOLD_PRODUCT_REF_AND_PERIOD');
+} else {
+ print $form->selectyesno('PDF_BOLD_PRODUCT_REF_AND_PERIOD', (!empty($conf->global->PDF_BOLD_PRODUCT_REF_AND_PERIOD)) ? $conf->global->PDF_BOLD_PRODUCT_REF_AND_PERIOD : 0, 1);
+}
+print ' |
';
+
// Desc
print '| '.$langs->trans("HideDescOnPDF").' | ';
diff --git a/htdocs/core/lib/pdf.lib.php b/htdocs/core/lib/pdf.lib.php
index 5121506087c..7a78db5a14e 100644
--- a/htdocs/core/lib/pdf.lib.php
+++ b/htdocs/core/lib/pdf.lib.php
@@ -1363,7 +1363,9 @@ function pdf_getlinedesc($object, $i, $outputlangs, $hideref = 0, $hidedesc = 0,
// Description short of product line
$libelleproduitservice = $label;
if (!empty($libelleproduitservice) && !empty($conf->global->PDF_BOLD_PRODUCT_LABEL)) {
- // This part of code is bugged. It introduces a HTML tag making the label a html string but without converting \n into br if it was a full text non html string before.
+ if (!dol_textishtml($libelleproduitservice)){
+ $libelleproduitservice = str_replace("\n", '__N__', $libelleproduitservice);
+ }
$libelleproduitservice = ''.$libelleproduitservice.'';
}
}
@@ -1375,7 +1377,7 @@ function pdf_getlinedesc($object, $i, $outputlangs, $hideref = 0, $hidedesc = 0,
if (!empty($prodser->sousprods) && is_array($prodser->sousprods) && count($prodser->sousprods)) {
$tmparrayofsubproducts = reset($prodser->sousprods);
foreach ($tmparrayofsubproducts as $subprodval) {
- $libelleproduitservice .= "\n * ".$subprodval[5].(($subprodval[5] && $subprodval[3]) ? ' - ' : '').$subprodval[3].' ('.$subprodval[1].')';
+ $libelleproduitservice .= "__N__ * ".$subprodval[5].(($subprodval[5] && $subprodval[3]) ? ' - ' : '').$subprodval[3].' ('.$subprodval[1].')';
}
}
}
@@ -1419,7 +1421,7 @@ function pdf_getlinedesc($object, $i, $outputlangs, $hideref = 0, $hidedesc = 0,
}
if (empty($hidedesc)) {
if (!empty($conf->global->MAIN_DOCUMENTS_DESCRIPTION_FIRST)) {
- $libelleproduitservice = $desc."\n".$libelleproduitservice;
+ $libelleproduitservice = $desc."__N__".$libelleproduitservice;
} else {
if (!empty($conf->global->HIDE_LABEL_VARIANT_PDF) && $prodser->isVariant()) {
$libelleproduitservice = $desc;
@@ -1493,10 +1495,14 @@ function pdf_getlinedesc($object, $i, $outputlangs, $hideref = 0, $hidedesc = 0,
}
if (!empty($ref_prodserv) && !empty($conf->global->PDF_BOLD_PRODUCT_REF_AND_PERIOD)) {
+ if (!dol_textishtml($libelleproduitservice)){
+ $libelleproduitservice = str_replace("\n", '__N__', $libelleproduitservice);
+ }
$ref_prodserv = ''.$ref_prodserv.'';
- }
+ // $prefix_prodserv and $ref_prodser are not HTML var
+ }
$libelleproduitservice = $prefix_prodserv.$ref_prodserv.$libelleproduitservice;
-
+
// Add an additional description for the category products
if (!empty($conf->global->CATEGORY_ADD_DESC_INTO_DOC) && $idprod && !empty($conf->categorie->enabled)) {
include_once DOL_DOCUMENT_ROOT.'/categories/class/categorie.class.php';
@@ -1527,6 +1533,9 @@ function pdf_getlinedesc($object, $i, $outputlangs, $hideref = 0, $hidedesc = 0,
}
//print '>'.$outputlangs->charset_output.','.$period;
if (!empty($conf->global->PDF_BOLD_PRODUCT_REF_AND_PERIOD)) {
+ if (!dol_textishtml($libelleproduitservice)){
+ $libelleproduitservice = str_replace("\n", '__N__', $libelleproduitservice);
+ }
$libelleproduitservice .= ''."__N__ ".$period.'';
} else {
$libelleproduitservice .= "__N__".$period;
diff --git a/htdocs/langs/en_US/admin.lang b/htdocs/langs/en_US/admin.lang
index c258df38441..c36f29fa0d7 100644
--- a/htdocs/langs/en_US/admin.lang
+++ b/htdocs/langs/en_US/admin.lang
@@ -1,4 +1,6 @@
# Dolibarr language file - Source file is en_US - admin
+BoldRefAndPeriodOnPDF=Bold reference and period in PDF
+BoldLabelOnPDF=Bold label in PDF
Foundation=Foundation
Version=Version
Publisher=Publisher
diff --git a/htdocs/langs/fr_FR/admin.lang b/htdocs/langs/fr_FR/admin.lang
index 0b4d7aa4f10..9d2de4d5ca8 100644
--- a/htdocs/langs/fr_FR/admin.lang
+++ b/htdocs/langs/fr_FR/admin.lang
@@ -1,4 +1,6 @@
# Dolibarr language file - Source file is en_US - admin
+BoldRefAndPeriodOnPDF=Mettre en gras la référence et la période dans les PDF
+BoldLabelOnPDF=Mettre en gras le label des produits dans les PDF
Foundation=Association
Version=Version
Publisher=Editeur
|