From 5c6a5287f00e68958180442f135a7caf9ed5fb86 Mon Sep 17 00:00:00 2001 From: Aleksander Machniak Date: Wed, 16 Oct 2013 11:43:31 +0200 Subject: [PATCH] Catch exception when timezone is invalid --- plugins/libcalendaring/libcalendaring.php | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/plugins/libcalendaring/libcalendaring.php b/plugins/libcalendaring/libcalendaring.php index 9df9e00c..47cf67e8 100644 --- a/plugins/libcalendaring/libcalendaring.php +++ b/plugins/libcalendaring/libcalendaring.php @@ -75,10 +75,17 @@ class libcalendaring extends rcube_plugin $this->rc = rcube::get_instance(); // set user's timezone - $this->timezone = new DateTimeZone($this->rc->config->get('timezone', 'GMT')); + try { + $this->timezone = new DateTimeZone($this->rc->config->get('timezone', 'GMT')); + } + catch (Exception $e) { + $this->timezone = new DateTimeZone('GMT'); + } + $now = new DateTime('now', $this->timezone); - $this->gmt_offset = $now->getOffset(); - $this->dst_active = $now->format('I'); + + $this->gmt_offset = $now->getOffset(); + $this->dst_active = $now->format('I'); $this->timezone_offset = $this->gmt_offset / 3600 - $this->dst_active; $this->add_texts('localization/', false);