diff --git a/htdocs/core/class/html.form.class.php b/htdocs/core/class/html.form.class.php
index 466faba295e..d53072efe0a 100644
--- a/htdocs/core/class/html.form.class.php
+++ b/htdocs/core/class/html.form.class.php
@@ -6444,6 +6444,11 @@ class Form
else $morehtmlstatus=$hookmanager->resPrint;
if ($morehtmlstatus) $ret.='
'.$morehtmlstatus.'
';
+ $parameters = array();
+ $reshook = $hookmanager->executeHooks('moreHtmlRef', $parameters, $object); // Note that $action and $object may have been modified by hook
+ if (empty($reshook)) $morehtmlref.=$hookmanager->resPrint;
+ elseif ($reshook > 0) $morehtmlref=$hookmanager->resPrint;
+
// Left part of banner
if ($morehtmlleft)
{
diff --git a/htdocs/core/lib/functions.lib.php b/htdocs/core/lib/functions.lib.php
index aee9ed61f62..b71ba047516 100644
--- a/htdocs/core/lib/functions.lib.php
+++ b/htdocs/core/lib/functions.lib.php
@@ -1298,6 +1298,7 @@ function dol_banner_tab($object, $paramid, $morehtml='', $shownav=1, $fieldid='r
$maxvisiblephotos=1;
$showimage=1;
+ $entity=(empty($object->entity)?$conf->entity:$object->entity);
$showbarcode=empty($conf->barcode->enabled)?0:($object->barcode?1:0);
if (! empty($conf->global->MAIN_USE_ADVANCED_PERMS) && empty($user->rights->barcode->lire_advance)) $showbarcode=0;
$modulepart='unknown';
@@ -1324,10 +1325,10 @@ function dol_banner_tab($object, $paramid, $morehtml='', $shownav=1, $fieldid='r
if ($object->element == 'product')
{
$width=80; $cssclass='photoref';
- $showimage=$object->is_photo_available($conf->product->multidir_output[$object->entity]);
+ $showimage=$object->is_photo_available($conf->product->multidir_output[$entity]);
$maxvisiblephotos=(isset($conf->global->PRODUCT_MAX_VISIBLE_PHOTO)?$conf->global->PRODUCT_MAX_VISIBLE_PHOTO:5);
if ($conf->browser->phone) $maxvisiblephotos=1;
- if ($showimage) $morehtmlleft.=''.$object->show_photos('product', $conf->product->multidir_output[$object->entity],'small',$maxvisiblephotos,0,0,0,$width,0).'
';
+ if ($showimage) $morehtmlleft.=''.$object->show_photos('product', $conf->product->multidir_output[$entity],'small',$maxvisiblephotos,0,0,0,$width,0).'
';
else
{
if (!empty($conf->global->PRODUCT_NODISPLAYIFNOPHOTO)) {
@@ -1343,10 +1344,10 @@ function dol_banner_tab($object, $paramid, $morehtml='', $shownav=1, $fieldid='r
elseif ($object->element == 'ticketsup')
{
$width=80; $cssclass='photoref';
- $showimage=$object->is_photo_available($conf->ticketsup->dir_output.'/'.$object->track_id);
+ $showimage=$object->is_photo_available($conf->ticketsup->multidir_output[$entity].'/'.$object->track_id);
$maxvisiblephotos=(isset($conf->global->TICKETSUP_MAX_VISIBLE_PHOTO)?$conf->global->TICKETSUP_MAX_VISIBLE_PHOTO:2);
if ($conf->browser->phone) $maxvisiblephotos=1;
- if ($showimage) $morehtmlleft.=''.$object->show_photos('ticketsup', $conf->ticketsup->dir_output,'small',$maxvisiblephotos,0,0,0,$width,0).'
';
+ if ($showimage) $morehtmlleft.=''.$object->show_photos('ticketsup', $conf->ticketsup->multidir_output[$entity],'small',$maxvisiblephotos,0,0,0,$width,0).'
';
else
{
if (!empty($conf->global->TICKETSUP_NODISPLAYIFNOPHOTO)) {
@@ -1370,7 +1371,7 @@ function dol_banner_tab($object, $paramid, $morehtml='', $shownav=1, $fieldid='r
if (in_array($modulepart, array('propal', 'commande', 'facture', 'ficheinter', 'contract', 'supplier_order', 'supplier_proposal', 'supplier_invoice', 'expensereport')) && class_exists("Imagick"))
{
$objectref = dol_sanitizeFileName($object->ref);
- $dir_output = $conf->$modulepart->dir_output . "/";
+ $dir_output = $conf->$modulepart->multidir_output[$entity] . "/";
if (in_array($modulepart, array('invoice_supplier', 'supplier_invoice')))
{
$subdir = get_exdir($object->id, 2, 0, 0, $object, $modulepart).$objectref; // the objectref dir is not include into get_exdir when used with level=2, so we add it here