Autodetect url relative path
This commit is contained in:
parent
cadb0c66e0
commit
c4d7e87e2c
@ -65,8 +65,8 @@ error_reporting(E_ALL ^ E_NOTICE);
|
|||||||
$result=@include_once("conf/conf.php");
|
$result=@include_once("conf/conf.php");
|
||||||
if (! $result && ! empty($_SERVER["GATEWAY_INTERFACE"])) // If install not done and we are in a web session
|
if (! $result && ! empty($_SERVER["GATEWAY_INTERFACE"])) // If install not done and we are in a web session
|
||||||
{
|
{
|
||||||
header("Location: install/index.php");
|
header("Location: install/index.php");
|
||||||
exit;
|
exit;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (empty($dolibarr_main_db_port)) $dolibarr_main_db_port=0; // Pour compatibilite avec anciennes configs, si non defini, on prend 'mysql'
|
if (empty($dolibarr_main_db_port)) $dolibarr_main_db_port=0; // Pour compatibilite avec anciennes configs, si non defini, on prend 'mysql'
|
||||||
@ -85,10 +85,10 @@ if (empty($force_charset_do_notuse)) $force_charset_do_notuse='UTF-8';
|
|||||||
// when we post forms (we allow GET to allow direct link to access a particular page).
|
// when we post forms (we allow GET to allow direct link to access a particular page).
|
||||||
if (! defined('NOCSRFCHECK') && empty($dolibarr_nocsrfcheck) && ! empty($_SERVER['REQUEST_METHOD']) && $_SERVER['REQUEST_METHOD'] != 'GET' && ! empty($_SERVER['HTTP_HOST']) && ! empty($_SERVER['HTTP_REFERER']) && ! preg_match('/'.preg_quote($_SERVER['HTTP_HOST'],'/').'/i', $_SERVER['HTTP_REFERER']))
|
if (! defined('NOCSRFCHECK') && empty($dolibarr_nocsrfcheck) && ! empty($_SERVER['REQUEST_METHOD']) && $_SERVER['REQUEST_METHOD'] != 'GET' && ! empty($_SERVER['HTTP_HOST']) && ! empty($_SERVER['HTTP_REFERER']) && ! preg_match('/'.preg_quote($_SERVER['HTTP_HOST'],'/').'/i', $_SERVER['HTTP_REFERER']))
|
||||||
{
|
{
|
||||||
//print 'HTTP_POST='.$_SERVER['HTTP_HOST'].' HTTP_REFERER='.$_SERVER['HTTP_REFERER'];
|
//print 'HTTP_POST='.$_SERVER['HTTP_HOST'].' HTTP_REFERER='.$_SERVER['HTTP_REFERER'];
|
||||||
print "Access refused by CSRF protection in main.inc.php.\n";
|
print "Access refused by CSRF protection in main.inc.php.\n";
|
||||||
print "If you access your server behind a proxy using url rewriting, you might add the line \$dolibarr_nocsrfcheck=1 into your conf.php file.\n";
|
print "If you access your server behind a proxy using url rewriting, you might add the line \$dolibarr_nocsrfcheck=1 into your conf.php file.\n";
|
||||||
die;
|
die;
|
||||||
}
|
}
|
||||||
if (empty($dolibarr_main_db_host))
|
if (empty($dolibarr_main_db_host))
|
||||||
{
|
{
|
||||||
@ -116,7 +116,7 @@ define('DOL_DATA_ROOT', $dolibarr_main_data_root); // Filesystem data (docum
|
|||||||
define('DOL_DOCUMENT_ROOT', $dolibarr_main_document_root); // Filesystem core php (htdocs)
|
define('DOL_DOCUMENT_ROOT', $dolibarr_main_document_root); // Filesystem core php (htdocs)
|
||||||
if (! empty($dolibarr_main_document_root_alt))
|
if (! empty($dolibarr_main_document_root_alt))
|
||||||
{
|
{
|
||||||
define('DOL_DOCUMENT_ROOT_ALT', $dolibarr_main_document_root_alt); // Filesystem paths to alternate core php (alternate htdocs)
|
define('DOL_DOCUMENT_ROOT_ALT', $dolibarr_main_document_root_alt); // Filesystem paths to alternate core php (alternate htdocs)
|
||||||
}
|
}
|
||||||
// Define DOL_MAIN_URL_ROOT and DOL_URL_ROOT
|
// Define DOL_MAIN_URL_ROOT and DOL_URL_ROOT
|
||||||
$tmp=$dolibarr_main_url_root;
|
$tmp=$dolibarr_main_url_root;
|
||||||
@ -128,34 +128,20 @@ if (1 == 1) // Use auto forge url.
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
/* print $dolibarr_main_document_root.'-'.$_SERVER["DOCUMENT_ROOT"].'<br>';
|
$real_dolibarr_main_document_root=str_replace('\\','/',realpath($dolibarr_main_document_root));
|
||||||
print realpath($dolibarr_main_document_root).'-'.realpath($_SERVER["DOCUMENT_ROOT"]).'<br>';
|
$paths=explode('/',str_replace('\\','/',$_SERVER["SCRIPT_NAME"]));
|
||||||
$tmp1=realpath($dolibarr_main_document_root);
|
$concatpath='';
|
||||||
$tmp2=realpath($_SERVER["DOCUMENT_ROOT"]);
|
foreach($paths as $path)
|
||||||
$pos=strpos($tmp1,$tmp2);
|
|
||||||
if ($pos !== false && $pos == 0)
|
|
||||||
{
|
{
|
||||||
$tmp3=str_replace($tmp2,'',$tmp1);
|
if ($path) $concatpath.='/'.$path;
|
||||||
|
//print $real_$dolibarr_main_document_root.'-'.realpath($_SERVER["DOCUMENT_ROOT"].$concatpath).'<br>';
|
||||||
|
if ($real_dolibarr_main_document_root == realpath($_SERVER["DOCUMENT_ROOT"].$concatpath))
|
||||||
|
{
|
||||||
|
$tmp3=$concatpath;
|
||||||
|
//print "Found relative url = ".$tmp3;
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else
|
|
||||||
{
|
|
||||||
*/
|
|
||||||
$paths=explode('/',str_replace('\\','/',$_SERVER["SCRIPT_NAME"]));
|
|
||||||
$concatpath='';
|
|
||||||
foreach($paths as $path)
|
|
||||||
{
|
|
||||||
//if (empty($path)) continue;
|
|
||||||
if ($path) $concatpath.='/'.$path;
|
|
||||||
print realpath($dolibarr_main_document_root).'-'.realpath($_SERVER["DOCUMENT_ROOT"].$concatpath).'<br>';
|
|
||||||
$pos=strpos(realpath($dolibarr_main_document_root),realpath($_SERVER["DOCUMENT_ROOT"].$concatpath));
|
|
||||||
if ($pos !== false && $pos == 0) // We found relative url
|
|
||||||
{
|
|
||||||
$tmp3=$concatpath;
|
|
||||||
print "Found relative url = ".$tmp3;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
// }
|
|
||||||
$tmp='http'.((empty($_SERVER["HTTPS"]) || $_SERVER["HTTPS"] != 'on')?'':'s').'://'.$_SERVER["SERVER_NAME"].((empty($_SERVER["SERVER_PORT"])||$_SERVER["SERVER_PORT"]==80)?'':':'.$_SERVER["SERVER_PORT"]).($tmp3?(preg_match('/^\//',$tmp3)?'':'/').$tmp3:'');
|
$tmp='http'.((empty($_SERVER["HTTPS"]) || $_SERVER["HTTPS"] != 'on')?'':'s').'://'.$_SERVER["SERVER_NAME"].((empty($_SERVER["SERVER_PORT"])||$_SERVER["SERVER_PORT"]==80)?'':':'.$_SERVER["SERVER_PORT"]).($tmp3?(preg_match('/^\//',$tmp3)?'':'/').$tmp3:'');
|
||||||
//print "tmp1=".$tmp1." tmp2=".$tmp2." tmp3=".$tmp3." tmp=".$tmp;
|
//print "tmp1=".$tmp1." tmp2=".$tmp2." tmp3=".$tmp3." tmp=".$tmp;
|
||||||
}
|
}
|
||||||
@ -171,10 +157,10 @@ if (! empty($dolibarr_main_url_root_alt))
|
|||||||
{
|
{
|
||||||
$tmp_alt=$tmp.str_replace($dolibarr_main_url_root,'',$dolibarr_main_url_root_alt);
|
$tmp_alt=$tmp.str_replace($dolibarr_main_url_root,'',$dolibarr_main_url_root_alt);
|
||||||
define('DOL_MAIN_URL_ROOT_ALT', $tmp_alt); // URL absolute root (https://sss/dolibarr/custom, ...)
|
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*
|
$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
|
$suburi = strstr($uri, '/'); // $suburi contains url without domain
|
||||||
if ($suburi == '/') $suburi = ''; // If $suburi is /, it is now ''
|
if ($suburi == '/') $suburi = ''; // If $suburi is /, it is now ''
|
||||||
define('DOL_URL_ROOT_ALT', $suburi); // URL relative root ('', '/dolibarr/custom', ...)
|
define('DOL_URL_ROOT_ALT', $suburi); // URL relative root ('', '/dolibarr/custom', ...)
|
||||||
}
|
}
|
||||||
// Define DOL_URL_ROOT_FULL_STATIC
|
// Define DOL_URL_ROOT_FULL_STATIC
|
||||||
if (! empty($dolibarr_main_url_root_static)) define('DOL_URL_ROOT_FULL_STATIC', $dolibarr_main_url_root_static); // Used to put static images on another domain
|
if (! empty($dolibarr_main_url_root_static)) define('DOL_URL_ROOT_FULL_STATIC', $dolibarr_main_url_root_static); // Used to put static images on another domain
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user