From 3ec642db693e0917281408fccb78ffb59ccc812c Mon Sep 17 00:00:00 2001
From: Jared Hancock <jared@osticket.com>
Date: Mon, 2 Mar 2015 17:03:49 -0600
Subject: [PATCH] Set system default timezone to Olsen on upgrade

---
 .../core/b26f29a6-1ee831c8.cleanup.sql        |  3 +++
 .../streams/core/b26f29a6-1ee831c8.patch.sql  | 21 +++++++++++++++++++
 2 files changed, 24 insertions(+)

diff --git a/include/upgrader/streams/core/b26f29a6-1ee831c8.cleanup.sql b/include/upgrader/streams/core/b26f29a6-1ee831c8.cleanup.sql
index f56a5cb2c..553c33b95 100644
--- a/include/upgrader/streams/core/b26f29a6-1ee831c8.cleanup.sql
+++ b/include/upgrader/streams/core/b26f29a6-1ee831c8.cleanup.sql
@@ -17,3 +17,6 @@ ALTER TABLE `%TABLE_PREFIX%staff`
 ALTER TABLE `%TABLE_PREFIX%user_account`
     DROP `timezone_id`,
     DROP `dst`;
+
+DELETE FROM `%TABLE_PREFIX%config`
+    WHERE `key` = 'enable_daylight_saving' AND `namespace` = 'core';
diff --git a/include/upgrader/streams/core/b26f29a6-1ee831c8.patch.sql b/include/upgrader/streams/core/b26f29a6-1ee831c8.patch.sql
index 2b9944add..f99d3a28c 100644
--- a/include/upgrader/streams/core/b26f29a6-1ee831c8.patch.sql
+++ b/include/upgrader/streams/core/b26f29a6-1ee831c8.patch.sql
@@ -146,6 +146,27 @@ UPDATE `%TABLE_PREFIX%user_account` A1
         AND A3.`south` = 0)
     SET A1.`timezone` = A3.`olson_name`;
 
+-- Update system default timezone
+SET @default_timezone_id = (
+    SELECT `value` FROM `%TABLE_PREFIX%config` A1
+    WHERE A1.`key` = 'default_timezone_id'
+      AND A1.`namespace` = 'core'
+);
+SET @enable_daylight_saving = (
+    SELECT `value` FROM `%TABLE_PREFIX%config` A1
+    WHERE A1.`key` = 'enable_daylight_saving'
+      AND A1.`namespace` = 'core'
+);
+
+UPDATE `%TABLE_PREFIX%config` A1
+    JOIN `%TABLE_PREFIX%timezone` A2 ON (@default_timezone_id = A2.`id`)
+    JOIN `%TABLE_PREFIX%_timezones` A3 ON (A2.`offset` * 60 = A3.`offset`
+        AND @enable_daylight_saving = A3.`dst`
+        AND A3.`south` = 0)
+    SET A1.`value` = A3.`olson_name`
+    WHERE A1.`key` = 'default_timezone_id'
+      AND A1.`namespace` = 'core';
+
 DROP TABLE %TABLE_PREFIX%_timezones;
 
 ALTER TABLE `%TABLE_PREFIX%ticket`
-- 
GitLab