Topic: Time Zone error
The default time_zone is defined in the sys_prefs table.
It is also conditionally set as a php.ini variable in the config.php file.
The order of Timezone precedence in the includes/prefs/sysprefs.inc is in lines 33 to 45:
foreach(get_defined_vars() as $name => $value)
$this->$name = $value;
if (!@$this->time_zone)
$this->time_zone = ini_get('date.timezone');
if (!$this->time_zone)
$this->time_zone = 'Europe/Berlin';
if (!isset($this->use_popup_search))
$this->use_popup_search = false;
ini_set('date.timezone', $this->time_zone);
This does not respect the php.ini's value (or its' scripted set value from the config.php) and in actuality gets overwritten by the 'Europe/Berlin' fallback value and reflects in the footer timestamp displayed in the FA pages even after login whence a current_user is available in the session variable.
The solution is to make an unconditional setting in the config.(config.default.php) file by replacing lines 25-26:
if (!ini_get('date.timezone'))
ini_set('date.timezone', 'Europe/Berlin');
with
ini_set('date.timezone', 'Europe/Berlin');