From f94f516a12e39fd4b1a0f25d821262d7b52df2d6 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Tue, 9 Jul 2013 23:46:31 +0200 Subject: [PATCH] Clean code for managing alternate root dirs. --- htdocs/conf/conf.php.example | 11 +++++------ htdocs/filefunc.inc.php | 16 ---------------- htdocs/master.inc.php | 15 ++++++++++++++- 3 files changed, 19 insertions(+), 23 deletions(-) diff --git a/htdocs/conf/conf.php.example b/htdocs/conf/conf.php.example index a23c2f9cfbe..589cd212ef5 100644 --- a/htdocs/conf/conf.php.example +++ b/htdocs/conf/conf.php.example @@ -37,18 +37,17 @@ $dolibarr_main_document_root=''; // dolibarr_main_url_root_alt -// This parameter defines the alternative URL of your Dolibarr. -// It must link to some other secondary htdocs directories, separated by a coma. +// 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. // Examples: -// $dolibarr_main_url_root_alt='http://localhost/extensions'; -// $dolibarr_main_url_root_alt='http://mydolibarrvirtualhost/extensions1,http://mydolibarrvirtualhost/extensions2'; +// $dolibarr_main_url_root_alt='/extensions'; +// $dolibarr_main_url_root_alt='/extensions1,/extensions2'; // $dolibarr_main_url_root_alt=''; // dolibarr_main_document_root_alt -// This parameter contains absolute alternative file system directory of Dolibarr -// It must link to url to other secondary htdocs directories, separated by a coma. +// This parameter contains absolute alternative root file system directories of Dolibarr // 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/filefunc.inc.php b/htdocs/filefunc.inc.php index 483b71f3e07..7ff53d7cac6 100755 --- a/htdocs/filefunc.inc.php +++ b/htdocs/filefunc.inc.php @@ -175,22 +175,6 @@ $suburi = strstr($uri, '/'); // $suburi contains url without domain:p if ($suburi == '/') $suburi = ''; // If $suburi is /, it is now '' define('DOL_URL_ROOT', $suburi); // URL relative root ('', '/dolibarr', ...) -/* -// Define DOL_MAIN_URL_ROOT_ALT and DOL_URL_ROOT_ALT (deprecated) -if (! empty($dolibarr_main_url_root_alt)) -{ - $altpart=str_replace($dolibarr_main_url_root,'',$dolibarr_main_url_root_alt); - if (! preg_match('/^\//',$altpart) && ! empty($altpart)) { $tmp_alt=$dolibarr_main_url_root_alt; } // Manage case url=http://localhost/aaa and url_alt=http://localhost/aaabbb - else $tmp_alt=$tmp.((preg_match('/\/$/',$tmp)||preg_match('/^\//',$altpart))?'':'/').$altpart; - //$tmp_alt=$dolibarr_main_url_root_alt; - define('DOL_MAIN_URL_ROOT_ALT', $tmp_alt); // URL absolute root (https://sss/dolibarr/custom, ...) - $uri=preg_replace('/^http(s?):\/\//i','',constant('DOL_MAIN_URL_ROOT_ALT')); // $uri contains url without http* - $suburi = strstr($uri, '/'); // $suburi contains url without domain:port - if ($suburi == '/') $suburi = ''; // If $suburi is /, it is now '' - define('DOL_URL_ROOT_ALT', $suburi); // URL relative root ('', '/dolibarr/custom', ...) -} -*/ - //print DOL_URL_ROOT; // Define prefix MAIN_DB_PREFIX diff --git a/htdocs/master.inc.php b/htdocs/master.inc.php index 3505a3b13fa..9e1c5ad2e14 100644 --- a/htdocs/master.inc.php +++ b/htdocs/master.inc.php @@ -74,7 +74,20 @@ if (! empty($dolibarr_main_document_root_alt)) foreach($values as $value) $conf->file->dol_document_root['alt'.($i++)]=(string) $value; $values=preg_split('/[;,]/',$dolibarr_main_url_root_alt); $i=0; - foreach($values as $value) $conf->file->dol_url_root['alt'.($i++)]=(string) $value; + foreach($values as $value) + { + if (preg_match('/^http(s)?:/',$value)) + { + print 'Error: values for $dolibarr_main_url_root_alt into conf.php file must contains relative path to alternative URLs.
'."\n"; + print "Found: \"".$value."\"
\n"; + print "Should found something like following examples:
\n"; + print "\"/extensions\"
\n"; + print "\"/extensions1,/extensions2,...\"
\n"; + print "\"/custom\"
\n"; + exit; + } + $conf->file->dol_url_root['alt'.($i++)]=(string) $value; + } } // Set properties specific to multicompany