From 87986cfdb99e3fe67e9711611361f034e27311b3 Mon Sep 17 00:00:00 2001
From: thomascube <thomas@roundcube.net>
Date: Fri, 06 Jan 2012 04:40:32 -0500
Subject: [PATCH] Handle DateTime exceptions

---
 program/include/main.inc |   24 +++++++++++++++++-------
 1 files changed, 17 insertions(+), 7 deletions(-)

diff --git a/program/include/main.inc b/program/include/main.inc
index 66de2e5..b073662 100644
--- a/program/include/main.inc
+++ b/program/include/main.inc
@@ -1062,15 +1062,25 @@
   if (empty($ts))
     return '';
 
-  $date = new DateTime("@".$ts);
+  try {
+    $date = new DateTime("@".$ts);
+  }
+  catch (Exception $e) {
+    return 'unknown';
+  }
 
-  // convert to the right timezone
-  $stz = date_default_timezone_get();
-  $tz = new DateTimeZone($convert ? $RCMAIL->config->get('timezone') : 'GMT');
-  date_default_timezone_set($tz->getName());
-  $date->setTimezone($tz);
+  try {
+    // convert to the right timezone
+    $stz = date_default_timezone_get();
+    $tz = new DateTimeZone($convert ? $RCMAIL->config->get('timezones') : 'GMT');
+    $date->setTimezone($tz);
+    date_default_timezone_set($tz->getName());
 
-  $timestamp = $date->format('U');
+    $timestamp = $date->format('U');
+  }
+  catch (Exception $e) {
+    $timestamp = $ts;
+  }
 
   // define date format depending on current time
   if (!$format) {

--
Gitblit v1.9.1