From 196e6343702e7d769d1b1668fd29682ad3bade4c Mon Sep 17 00:00:00 2001 From: Joas Schilling Date: Thu, 19 Jul 2012 15:46:12 +0200 Subject: [PATCH] [feature/new-tz-handling] Fall back to UTC, if the timezone is invalid This should avoid problems, when the board files are updated but database isn't. PHPBB3-9558 --- phpBB/includes/acp/acp_board.php | 9 ++++++++- phpBB/includes/user.php | 10 +++++++++- 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/phpBB/includes/acp/acp_board.php b/phpBB/includes/acp/acp_board.php index 4af9d52e44..937d9e926f 100644 --- a/phpBB/includes/acp/acp_board.php +++ b/phpBB/includes/acp/acp_board.php @@ -916,7 +916,14 @@ class acp_board // Let the format_date function operate with the acp values $old_tz = $user->timezone; - $user->timezone = new DateTimeZone($config['board_timezone']); + try + { + $user->timezone = new DateTimeZone($config['board_timezone']); + } + catch (Exception $e) + { + // If the board timezone is invalid, we just use the users timezone. + } $dateformat_options = ''; diff --git a/phpBB/includes/user.php b/phpBB/includes/user.php index 48c328214d..fcbfaaddfa 100644 --- a/phpBB/includes/user.php +++ b/phpBB/includes/user.php @@ -127,7 +127,15 @@ class phpbb_user extends phpbb_session */ } - $this->timezone = new DateTimeZone($user_timezone); + try + { + $this->timezone = new DateTimeZone($user_timezone); + } + catch (Exception $e) + { + // If the timezone the user has selected is invalid, we fall back to UTC. + $this->timezone = new DateTimeZone('UTC'); + } // We include common language file here to not load it every time a custom language file is included $lang = &$this->lang;