diff --git a/htdocs/barcode/codeinit.php b/htdocs/barcode/codeinit.php
index a70e6f8a04b..7e9763caf5e 100644
--- a/htdocs/barcode/codeinit.php
+++ b/htdocs/barcode/codeinit.php
@@ -202,7 +202,7 @@ if ($conf->societe->enabled)
{
$nbno = $nbtotal = 0;
- print load_fiche_titre($langs->trans("BarcodeInitForThirdparties"), '', 'title_companies');
+ print load_fiche_titre($langs->trans("BarcodeInitForThirdparties"), '', 'company');
print '
'."\n";
$sql = "SELECT count(rowid) as nb FROM ".MAIN_DB_PREFIX."societe where barcode IS NULL or barcode = ''";
diff --git a/htdocs/commande/card.php b/htdocs/commande/card.php
index 3efb94855a7..d7f7b659492 100644
--- a/htdocs/commande/card.php
+++ b/htdocs/commande/card.php
@@ -1116,7 +1116,7 @@ if (empty($reshook))
exit();
} elseif ($action == 'confirm_validate' && $confirm == 'yes' && $usercanvalidate)
{
- $idwarehouse = GETPOST('idwarehouse');
+ $idwarehouse = GETPOST('idwarehouse', 'int');
$qualified_for_stock_change = 0;
if (empty($conf->global->STOCK_SUPPORTS_SERVICES))
@@ -1215,7 +1215,7 @@ if (empty($reshook))
}
} elseif ($action == 'confirm_cancel' && $confirm == 'yes' && $usercanvalidate)
{
- $idwarehouse = GETPOST('idwarehouse');
+ $idwarehouse = GETPOST('idwarehouse', 'int');
$qualified_for_stock_change = 0;
if (empty($conf->global->STOCK_SUPPORTS_SERVICES))
diff --git a/htdocs/core/actions_massactions.inc.php b/htdocs/core/actions_massactions.inc.php
index 97c1904d26e..8e4a3d6e384 100644
--- a/htdocs/core/actions_massactions.inc.php
+++ b/htdocs/core/actions_massactions.inc.php
@@ -989,14 +989,19 @@ if (!$error && $massaction == "builddoc" && $permissiontoread && !GETPOST('butto
$input_files .= ' '.escapeshellarg($f);
}
- $cmd = 'pdftk '.escapeshellarg($input_files).' cat output '.escapeshellarg($file);
+ $cmd = 'pdftk '.$input_files.' cat output '.escapeshellarg($file);
exec($cmd);
- if (!empty($conf->global->MAIN_UMASK))
- @chmod($file, octdec($conf->global->MAIN_UMASK));
+ // check if pdftk is installed
+ if (file_exists($file)) {
+ if (!empty($conf->global->MAIN_UMASK))
+ @chmod($file, octdec($conf->global->MAIN_UMASK));
- $langs->load("exports");
- setEventMessages($langs->trans('FileSuccessfullyBuilt', $filename.'_'.dol_print_date($now, 'dayhourlog')), null, 'mesgs');
+ $langs->load("exports");
+ setEventMessages($langs->trans('FileSuccessfullyBuilt', $filename.'_'.dol_print_date($now, 'dayhourlog')), null, 'mesgs');
+ } else {
+ setEventMessages($langs->trans('ErrorPDFTkOutputFileNotFound'), null, 'errors');
+ }
} else {
setEventMessages($langs->trans('NoPDFAvailableForDocGenAmongChecked'), null, 'errors');
}
diff --git a/htdocs/langs/en_US/admin.lang b/htdocs/langs/en_US/admin.lang
index a7fa6d2aa55..b42195c02f7 100644
--- a/htdocs/langs/en_US/admin.lang
+++ b/htdocs/langs/en_US/admin.lang
@@ -452,7 +452,7 @@ SetAsDefault=Set as default
ValueOverwrittenByUserSetup=Warning, this value may be overwritten by user specific setup (each user can set his own clicktodial url)
ExternalModule=External module
InstalledInto=Installed into directory %s
-BarcodeInitForthird-parties=Mass barcode init for third-parties
+BarcodeInitForThirdparties=Mass barcode init for third-parties
BarcodeInitForProductsOrServices=Mass barcode init or reset for products or services
CurrentlyNWithoutBarCode=Currently, you have %s record on %s %s without barcode defined.
InitEmptyBarCode=Init value for next %s empty records
diff --git a/htdocs/langs/en_US/main.lang b/htdocs/langs/en_US/main.lang
index 9a0a0494b84..a5cc92d6887 100644
--- a/htdocs/langs/en_US/main.lang
+++ b/htdocs/langs/en_US/main.lang
@@ -842,6 +842,7 @@ Sincerely=Sincerely
ConfirmDeleteObject=Are you sure you want to delete this object?
DeleteLine=Delete line
ConfirmDeleteLine=Are you sure you want to delete this line?
+ErrorPDFTkOutputFileNotFound=Error: the file was not generated. Please check that the 'pdftk' command is installed in a directory included in the $PATH environment variable (linux/unix only) or contact your system administrator.
NoPDFAvailableForDocGenAmongChecked=No PDF were available for the document generation among checked record
TooManyRecordForMassAction=Too many records selected for mass action. The action is restricted to a list of %s records.
NoRecordSelected=No record selected
diff --git a/htdocs/modulebuilder/index.php b/htdocs/modulebuilder/index.php
index 3367be09296..be786a3b20a 100644
--- a/htdocs/modulebuilder/index.php
+++ b/htdocs/modulebuilder/index.php
@@ -1035,7 +1035,7 @@ if ($dirins && ($action == 'droptable' || $action == 'droptableextrafields') &&
$objectname = $tabobj;
$arrayoftables = array();
- if ($action == 'droptable') $arrayoftables[] = MAIN_DB_PREFIX.strtoslower($module).'_'.strtolower($tabobj);
+ if ($action == 'droptable') $arrayoftables[] = MAIN_DB_PREFIX.strtolower($module).'_'.strtolower($tabobj);
if ($action == 'droptableextrafields') $arrayoftables[] = MAIN_DB_PREFIX.strtolower($module).'_'.strtolower($tabobj).'_extrafields';
foreach ($arrayoftables as $tabletodrop)
diff --git a/htdocs/product/class/html.formproduct.class.php b/htdocs/product/class/html.formproduct.class.php
index 2f108f5fd90..2a2228422d9 100644
--- a/htdocs/product/class/html.formproduct.class.php
+++ b/htdocs/product/class/html.formproduct.class.php
@@ -230,13 +230,14 @@ class FormProduct
*/
public function selectWarehouses($selected = '', $htmlname = 'idwarehouse', $filterstatus = '', $empty = 0, $disabled = 0, $fk_product = 0, $empty_label = '', $showstock = 0, $forcecombo = 0, $events = array(), $morecss = 'minwidth200', $exclude = '', $showfullpath = 1, $stockMin = false, $orderBy = 'e.ref')
{
- global $conf, $langs, $user;
+ global $conf, $langs, $user, $hookmanager;
dol_syslog(get_class($this)."::selectWarehouses $selected, $htmlname, $filterstatus, $empty, $disabled, $fk_product, $empty_label, $showstock, $forcecombo, $morecss", LOG_DEBUG);
$out = '';
if (empty($conf->global->ENTREPOT_EXTRA_STATUS)) $filterstatus = '';
if (!empty($fk_product)) $this->cache_warehouses = array();
+
$this->loadWarehouses($fk_product, '', $filterstatus, true, $exclude, $stockMin, $orderBy);
$nbofwarehouses = count($this->cache_warehouses);
@@ -282,6 +283,28 @@ class FormProduct
$out .= '';
if ($disabled) $out .= '';
+ $parameters = array(
+ 'selected' => $selected,
+ 'htmlname' => $htmlname,
+ 'filterstatus' => $filterstatus,
+ 'empty' => $empty,
+ 'disabled ' => $disabled,
+ 'fk_product' => $fk_product,
+ 'empty_label' => $empty_label,
+ 'showstock' => $showstock,
+ 'forcecombo' => $forcecombo,
+ 'events' => $events,
+ 'morecss' => $morecss,
+ 'exclude' => $exclude,
+ 'showfullpath' => $showfullpath,
+ 'stockMin' => $stockMin,
+ 'orderBy' => $orderBy
+ );
+
+ $reshook = $hookmanager->executeHooks('selectWarehouses', $parameters, $this);
+ if ($reshook > 0) $out = $hookmanager->resPrint;
+ elseif ($reshook == 0) $out .= $hookmanager->resPrint;
+
return $out;
}
diff --git a/htdocs/theme/eldy/global.inc.php b/htdocs/theme/eldy/global.inc.php
index 6034df321d0..24ef7601ce3 100644
--- a/htdocs/theme/eldy/global.inc.php
+++ b/htdocs/theme/eldy/global.inc.php
@@ -3988,15 +3988,20 @@ div.titre {
padding-top: 5px;
padding-bottom: 5px;
}
-.secondary, div.titre {
+div.fiche > table.table-fiche-title:first-of-type div {
+ color: var(--colortexttitlenotab);
+ /* font-weight: 600; */
+}
+div.titre {
+ color: var(--colortexttitlenotab);
+}
+
+.secondary {
color: var(--colortexttitlenotab);
}
.tertiary {
color: var(--colortexttitlenotab2);
}
-table.table-fiche-title:first-of-type div {
- color: var(--colortexttitlenotab);
-}
table.table-fiche-title .col-title div.titre{
line-height: 40px;
diff --git a/htdocs/theme/eldy/theme_vars.inc.php b/htdocs/theme/eldy/theme_vars.inc.php
index 5d7cc0faa18..7218b9ff2aa 100644
--- a/htdocs/theme/eldy/theme_vars.inc.php
+++ b/htdocs/theme/eldy/theme_vars.inc.php
@@ -65,8 +65,8 @@ $colorbacklinepairhover = '230,237,244'; // line hover
$colorbacklinepairchecked = '230,237,244'; // line checked
$colorbacklinebreak = '248,247,244'; // line break
$colorbackbody = '255,255,255';
-$colortexttitlenotab = '0,123,140'; // 150,90,121 140,80,10 or 10,140,80 #875a7b green=0,113,120, violet: 0,50,120
-$colortexttitlenotab2 = '100,0,100'; // 150,90,121 140,80,10 or 10,140,80 #875a7b green=0,113,120, violet: 0,50,120
+$colortexttitlenotab = '0,123,140'; // 150,90,121 140,80,10 or 10,140,80 #875a7b green=0,123,140, violet: 0,50,120
+$colortexttitlenotab2 = '100,0,100'; // 150,90,121 140,80,10 or 10,140,80 #875a7b green=0,123,140, violet: 0,50,120
$colortexttitle = '0,0,0';
$colortexttitlelink = '10, 20, 100';
$colortext = '0,0,0';