if webserver_url does not match eg. because of proxying, fix it

This commit is contained in:
Ralf Becker 2016-11-10 23:25:29 +01:00
parent 847352a62c
commit b38542439a

View File

@ -129,6 +129,16 @@ class Egw extends Egw\Base
// load up the $GLOBALS['egw_info']['server'] array
$GLOBALS['egw_info']['server'] += Config::read('phpgwapi');
// if webserver_url does not match eg. because of proxying, fix it
if (isset($_SERVER['HTTP_X_FORWARDED_URI']) &&
($prefix = strpos($_SERVER['HTTP_X_FORWARDED_URI'],
$GLOBALS['egw_info']['server']['webserver_url'])))
{
$GLOBALS['egw_info']['server']['webserver_url'] =
substr($_SERVER['HTTP_X_FORWARDED_URI'], 0, $prefix).
$GLOBALS['egw_info']['server']['webserver_url'];
}
// if no server timezone set, use date_default_timezone_get() to determine it once
// it fills to log with deprecated warnings under 5.3 otherwise
if (empty($GLOBALS['egw_info']['server']['server_timezone']) ||