From 5a96ae54b9edde7df8be5a39dea4701f281aae69 Mon Sep 17 00:00:00 2001
From: Laurent Destailleur <eldy@destailleur.fr>
Date: Wed, 10 May 2017 19:08:07 +0200
Subject: [PATCH] FIX Link to files on bank account tab broken with
 multicompany FIX Link to preview on thirdparty broken with multicompany

---
 htdocs/core/class/html.formfile.class.php | 7 ++++---
 htdocs/core/lib/functions.lib.php         | 5 +++--
 htdocs/societe/rib.php                    | 2 +-
 3 files changed, 8 insertions(+), 6 deletions(-)

diff --git a/htdocs/core/class/html.formfile.class.php b/htdocs/core/class/html.formfile.class.php
index 99dee355333..6e46efe3fdf 100644
--- a/htdocs/core/class/html.formfile.class.php
+++ b/htdocs/core/class/html.formfile.class.php
@@ -680,7 +680,7 @@ class FormFile
 					$out.= ' target="_blank">';
 					$out.= img_mime($file["name"],$langs->trans("File").': '.$file["name"]).' '.dol_trunc($file["name"],$maxfilenamelength);
 					$out.= '</a>'."\n";
-                    $out.= $this->showPreview($file,$modulepart,$relativepath);
+                    $out.= $this->showPreview($file,$modulepart,$relativepath,0,$param);
 					$out.= '</td>';
 
 					// Show file size
@@ -1498,16 +1498,17 @@ class FormFile
      * @param   string    $modulepart     propal, facture, facture_fourn, ...
      * @param   string    $relativepath   Relative path of docs
      * @param   string    $ruleforpicto   Rule for picto: 0=Preview picto, 1=Use picto of mime type of file)
+     * @param	string	  $param		  More param on http links
      * @return  string    $out            Output string with HTML
      */
-    public function showPreview($file, $modulepart, $relativepath, $ruleforpicto=0)
+    public function showPreview($file, $modulepart, $relativepath, $ruleforpicto=0, $param='')
     {
         global $langs, $conf;
 
         $out='';
         if ($conf->browser->layout != 'phone')
         {
-            $urladvancedpreview=getAdvancedPreviewUrl($modulepart, $relativepath);      // Return if a file is qualified for preview
+            $urladvancedpreview=getAdvancedPreviewUrl($modulepart, $relativepath, $param);      // Return if a file is qualified for preview
             if ($urladvancedpreview)
             {
                 $out.= '<a data-ajax="false" class="pictopreview" href="'.$urladvancedpreview.'">';
diff --git a/htdocs/core/lib/functions.lib.php b/htdocs/core/lib/functions.lib.php
index facc685d234..2db8ecdb111 100644
--- a/htdocs/core/lib/functions.lib.php
+++ b/htdocs/core/lib/functions.lib.php
@@ -5839,9 +5839,10 @@ function getImageFileNameForSize($file, $extName, $extImgTarget='')
  *
  * @param   string    $modulepart     propal, facture, facture_fourn, ...
  * @param   string    $relativepath   Relative path of docs
+ * @param	string	  $param		  More param on http links
  * @return  string                    Output string with HTML
  */
-function getAdvancedPreviewUrl($modulepart, $relativepath)
+function getAdvancedPreviewUrl($modulepart, $relativepath, $param='')
 {
     global $conf;
     
@@ -5852,7 +5853,7 @@ function getAdvancedPreviewUrl($modulepart, $relativepath)
     //$mime_preview[]='archive';
     $num_mime = array_search(dol_mimetype($relativepath, '', 1), $mime_preview);
 
-    if ($num_mime !== false) return 'javascript:document_preview(\''.dol_escape_js(DOL_URL_ROOT.'/document.php?modulepart='.$modulepart.'&amp;attachment=0&amp;file='.$relativepath).'\', \''.dol_mimetype($relativepath).'\', \''.dol_escape_js('Preview').'\')';
+    if ($num_mime !== false) return 'javascript:document_preview(\''.dol_escape_js(DOL_URL_ROOT.'/document.php?modulepart='.$modulepart.'&amp;attachment=0&amp;file='.$relativepath.($param?'&amp;'.$param:'')).'\', \''.dol_mimetype($relativepath).'\', \''.dol_escape_js('Preview').'\')';
     else return '';
 }
 
diff --git a/htdocs/societe/rib.php b/htdocs/societe/rib.php
index 9412f3f6270..d571e218e51 100644
--- a/htdocs/societe/rib.php
+++ b/htdocs/societe/rib.php
@@ -657,7 +657,7 @@ if ($socid && $action != 'edit' && $action != "create")
     
         $var=true;
     
-        print $formfile->showdocuments('company', $object->id, $filedir, $urlsource, $genallowed, $delallowed, $object->modelpdf, 0, 0, 0, 28, 0, '', 0, '', $object->default_lang);
+        print $formfile->showdocuments('company', $object->id, $filedir, $urlsource, $genallowed, $delallowed, $object->modelpdf, 0, 0, 0, 28, 0, 'entity='.$object->entity, 0, '', $object->default_lang);
     
         print '</div><div class="fichehalfright"><div class="ficheaddleft">';
     
-- 
GitLab