summaryrefslogtreecommitdiff
path: root/program
diff options
context:
space:
mode:
authorThomas Bruederli <thomas@roundcube.net>2012-10-03 14:16:52 +0200
committerThomas Bruederli <thomas@roundcube.net>2012-10-03 14:16:52 +0200
commit7bcd291517e9aca620e8938e965347a73b620a7a (patch)
tree09fa8e2c1aa601ab2eade39348d0c7c636530d67 /program
parentccdd61e6c05cfe34dc9450631f4c20a98ab885d4 (diff)
Make sure the timezone config option always contains a valid value
Diffstat (limited to 'program')
-rw-r--r--program/include/rcube_config.php13
1 files changed, 8 insertions, 5 deletions
diff --git a/program/include/rcube_config.php b/program/include/rcube_config.php
index 41acc80dd..b9fd95578 100644
--- a/program/include/rcube_config.php
+++ b/program/include/rcube_config.php
@@ -123,8 +123,11 @@ class rcube_config
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 @@ class rcube_config
}
// 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 @@ class rcube_config
*/
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();
}
}