summaryrefslogtreecommitdiff
path: root/program/include/rcube_config.php
diff options
context:
space:
mode:
Diffstat (limited to 'program/include/rcube_config.php')
-rw-r--r--program/include/rcube_config.php17
1 files changed, 16 insertions, 1 deletions
diff --git a/program/include/rcube_config.php b/program/include/rcube_config.php
index b9fd95578..bbc3e9c6e 100644
--- a/program/include/rcube_config.php
+++ b/program/include/rcube_config.php
@@ -43,6 +43,8 @@ class rcube_config
'mail_pagesize' => 'pagesize',
'addressbook_pagesize' => 'pagesize',
'reply_mode' => 'top_posting',
+ 'refresh_interval' => 'keep_alive',
+ 'min_refresh_interval' => 'min_keep_alive',
);
@@ -412,7 +414,20 @@ class rcube_config
*/
private function client_timezone()
{
- return isset($_SESSION['timezone']) && ($ctz = timezone_name_from_abbr("", $_SESSION['timezone'] * 3600, 0)) ? $ctz : date_default_timezone_get();
+ if (isset($_SESSION['timezone']) && is_numeric($_SESSION['timezone'])
+ && ($ctz = timezone_name_from_abbr("", $_SESSION['timezone'] * 3600, 0))) {
+ return $ctz;
+ }
+ else if (!empty($_SESSION['timezone'])) {
+ try {
+ $tz = timezone_open($_SESSION['timezone']);
+ return $tz->getName();
+ }
+ catch (Exception $e) { /* gracefully ignore */ }
+ }
+
+ // fallback to server's timezone
+ return date_default_timezone_get();
}
}