Thomas Bruederli
2012-10-03 7bcd291517e9aca620e8938e965347a73b620a7a
Make sure the timezone config option always contains a valid value
1 files modified
13 ■■■■■ changed files
program/include/rcube_config.php 13 ●●●●● patch | view | raw | blame | history
program/include/rcube_config.php
@@ -123,8 +123,11 @@
        if ($this->prop['timezone'] == 'auto') {
          $this->prop['_timezone_value'] = $this->client_timezone();
        }
        else if (is_numeric($this->prop['timezone'])) {
          $this->prop['timezone'] = timezone_name_from_abbr("", $this->prop['timezone'] * 3600, 0);
        else if (is_numeric($this->prop['timezone']) && ($tz = timezone_name_from_abbr("", $this->prop['timezone'] * 3600, 0))) {
          $this->prop['timezone'] = $tz;
        }
        else if (empty($this->prop['timezone'])) {
          $this->prop['timezone'] = 'UTC';
        }
        // remove deprecated properties
@@ -251,8 +254,8 @@
        }
        // convert user's timezone into the new format
        if (is_numeric($prefs['timezone'])) {
            $prefs['timezone'] = timezone_name_from_abbr('', $prefs['timezone'] * 3600, 0);
        if (is_numeric($prefs['timezone']) && ($tz = timezone_name_from_abbr('', $prefs['timezone'] * 3600, 0))) {
            $prefs['timezone'] = $tz;
        }
        // larry is the new default skin :-)
@@ -409,7 +412,7 @@
     */
    private function client_timezone()
    {
        return isset($_SESSION['timezone']) ? timezone_name_from_abbr("", $_SESSION['timezone'] * 3600, 0) : date_default_timezone_get();
        return isset($_SESSION['timezone']) && ($ctz = timezone_name_from_abbr("", $_SESSION['timezone'] * 3600, 0)) ? $ctz : date_default_timezone_get();
    }
}