From d637212dce98724fc9db3747a28c20e19385aba7 Mon Sep 17 00:00:00 2001
From: Laurent Destailleur <eldy@destailleur.fr>
Date: Mon, 15 Jul 2013 00:58:40 +0200
Subject: [PATCH] Fix: alternative url were sometimes relative to server,
 sometimes to DOL_URL_ROOT. Fix to be always relative to DOL_URL_ROOT.

---
 htdocs/conf/conf.php.example      | 11 ++++++++---
 htdocs/core/lib/functions.lib.php |  2 +-
 htdocs/master.inc.php             |  4 ++--
 3 files changed, 11 insertions(+), 6 deletions(-)

diff --git a/htdocs/conf/conf.php.example b/htdocs/conf/conf.php.example
index 589cd212ef5..e0cee5e2719 100644
--- a/htdocs/conf/conf.php.example
+++ b/htdocs/conf/conf.php.example
@@ -37,8 +37,10 @@ $dolibarr_main_document_root='';
 
 
 // dolibarr_main_url_root_alt
-// This parameter defines the relative sub URLs of alternative Dolibarr root directories.
-// It can be links to some other secondary htdocs directories, separated by a coma.
+// This parameter defines the relative sub URLs to add to $dolibarr_main_url_root to
+// forge alternative root directories (used by modules developers).
+// You can put several values, separated by a coma, but number of entries must match 
+// number of entries into $dolibarr_main_document_root_alt.
 // Examples:
 // $dolibarr_main_url_root_alt='/extensions';
 // $dolibarr_main_url_root_alt='/extensions1,/extensions2';
@@ -47,7 +49,10 @@ $dolibarr_main_url_root_alt='';
 
 
 // dolibarr_main_document_root_alt
-// This parameter contains absolute alternative root file system directories of Dolibarr
+// This parameter contains absolute alternative root file system directories (used by
+// modules developers).
+// You can put several values, separated by a coma, but number of entries must match 
+// number of entries into $dolibarr_main_url_root_alt.
 // Examples:
 // $dolibarr_main_document_root_alt='/var/www/dolibarr/htdocs/extensions';
 // $dolibarr_main_document_root_alt='C:/My web sites/dolibarr/htdocs/extensions1,C:/My web sites/dolibarr/htdocs/extensions2';
diff --git a/htdocs/core/lib/functions.lib.php b/htdocs/core/lib/functions.lib.php
index 0767c13c9b1..1be018f61a9 100644
--- a/htdocs/core/lib/functions.lib.php
+++ b/htdocs/core/lib/functions.lib.php
@@ -1729,7 +1729,7 @@ function img_picto($alt, $picto, $options = '', $pictoisfullpath = false, $srcon
 			if ($type == 'main') continue;
 			if (file_exists($dirroot.'/'.$path.'/img/'.$picto))
 			{
-				$url=$conf->file->dol_url_root[$type];
+				$url=DOL_URL_ROOT.$conf->file->dol_url_root[$type];
 				break;
 			}
 		}
diff --git a/htdocs/master.inc.php b/htdocs/master.inc.php
index a9bae9b8e72..161cb4aa30e 100644
--- a/htdocs/master.inc.php
+++ b/htdocs/master.inc.php
@@ -78,13 +78,13 @@ if (! empty($dolibarr_main_document_root_alt))
 	{
 		if (preg_match('/^http(s)?:/',$value))
 		{
-			print 'Error: values for <b>$dolibarr_main_url_root_alt</b> into <b>conf.php</b> file must contains relative path to alternative URLs.<br>'."\n";
+			print 'Error: values for <b>$dolibarr_main_url_root_alt</b> into <b>conf.php</b> file must contains relative path added to $dolibarr_main_url_root to get alternative URLs.<br>'."\n";
 			print "Found: \"".$value."\"<br>\n";
 			print "Should found something like following examples:<br>\n";
 			print "\"/extensions\"<br>\n";
 			print "\"/extensions1,/extensions2,...\"<br>\n";
 			print "\"/../extensions\"<br>\n";
-			print "\"/dolibarr/custom\"<br>\n";
+			print "\"/custom\"<br>\n";
 			exit;
 		}
 		$conf->file->dol_url_root['alt'.($i++)]=(string) $value;
-- 
GitLab