From a1a9ec34ccf0b9d4e1caa543b5a704868be7a91f Mon Sep 17 00:00:00 2001 From: Naomi Date: Fri, 6 Dec 2013 18:17:30 -0500 Subject: [PATCH] CC-5594 : Remove all date_default_timezone_get() moving var serverTimezoneOffset to bootstrap, also creating a var for userTimezoneOffset. Utilities.js uses the userTimezoneOffset to calculate time in forms. --- airtime_mvc/application/Bootstrap.php | 16 +++++++++++++++- .../controllers/ListenerstatController.php | 3 --- .../controllers/PlayouthistoryController.php | 2 -- .../controllers/ShowbuilderController.php | 2 -- .../public/js/airtime/utilities/utilities.js | 11 ++++------- 5 files changed, 19 insertions(+), 15 deletions(-) diff --git a/airtime_mvc/application/Bootstrap.php b/airtime_mvc/application/Bootstrap.php index 9d9b3df2e..74c1cd69e 100644 --- a/airtime_mvc/application/Bootstrap.php +++ b/airtime_mvc/application/Bootstrap.php @@ -100,7 +100,21 @@ class Bootstrap extends Zend_Application_Bootstrap_Bootstrap $view->headScript()->appendFile($baseUrl.'locale/datatables-translation-table?'.$CC_CONFIG['airtime_version'],'text/javascript'); $view->headScript()->appendScript("$.i18n.setDictionary(general_dict)"); $view->headScript()->appendScript("var baseUrl='$baseUrl'"); - + + //These timezones are needed to adjust javascript Date objects on the client to make sense to the user's set timezone + //or the server's set timezone. + $serverTimeZone = new DateTimeZone(Application_Model_Preference::GetDefaultTimezone()); + $now = new DateTime("now", $serverTimeZone); + $offset = $now->format("Z") * -1; + $view->headScript()->appendScript("var serverTimezoneOffset = {$offset}; //in seconds"); + + if (class_exists("Zend_Auth", false) && Zend_Auth::getInstance()->hasIdentity()) { + $userTimeZone = new DateTimeZone(Application_Model_Preference::GetUserTimezone()); + $now = new DateTime("now", $userTimeZone); + $offset = $now->format("Z") * -1; + $view->headScript()->appendScript("var userTimezoneOffset = {$offset}; //in seconds"); + } + //scripts for now playing bar $view->headScript()->appendFile($baseUrl.'js/airtime/airtime_bootstrap.js?'.$CC_CONFIG['airtime_version'],'text/javascript'); $view->headScript()->appendFile($baseUrl.'js/airtime/dashboard/helperfunctions.js?'.$CC_CONFIG['airtime_version'],'text/javascript'); diff --git a/airtime_mvc/application/controllers/ListenerstatController.php b/airtime_mvc/application/controllers/ListenerstatController.php index adecc3fc2..178aec631 100644 --- a/airtime_mvc/application/controllers/ListenerstatController.php +++ b/airtime_mvc/application/controllers/ListenerstatController.php @@ -20,9 +20,6 @@ class ListenerstatController extends Zend_Controller_Action $this->view->headScript()->appendFile($baseUrl.'js/flot/jquery.flot.js?'.$CC_CONFIG['airtime_version'],'text/javascript'); $this->view->headScript()->appendFile($baseUrl.'js/flot/jquery.flot.crosshair.js?'.$CC_CONFIG['airtime_version'],'text/javascript'); $this->view->headScript()->appendFile($baseUrl.'js/airtime/listenerstat/listenerstat.js?'.$CC_CONFIG['airtime_version'],'text/javascript'); - - $offset = date("Z") * -1; - $this->view->headScript()->appendScript("var serverTimezoneOffset = {$offset}; //in seconds"); $this->view->headScript()->appendFile($baseUrl.'js/timepicker/jquery.ui.timepicker.js?'.$CC_CONFIG['airtime_version'],'text/javascript'); $this->view->headScript()->appendFile($baseUrl.'js/airtime/buttons/buttons.js?'.$CC_CONFIG['airtime_version'],'text/javascript'); $this->view->headScript()->appendFile($baseUrl.'js/airtime/utilities/utilities.js?'.$CC_CONFIG['airtime_version'],'text/javascript'); diff --git a/airtime_mvc/application/controllers/PlayouthistoryController.php b/airtime_mvc/application/controllers/PlayouthistoryController.php index 881d13acb..cbd15517f 100644 --- a/airtime_mvc/application/controllers/PlayouthistoryController.php +++ b/airtime_mvc/application/controllers/PlayouthistoryController.php @@ -57,8 +57,6 @@ class PlayouthistoryController extends Zend_Controller_Action $this->view->headScript()->appendFile($baseUrl.'js/datatables/plugin/TableTools-2.1.5/js/ZeroClipboard.js?'.$CC_CONFIG['airtime_version'],'text/javascript'); $this->view->headScript()->appendFile($baseUrl.'js/datatables/plugin/TableTools-2.1.5/js/TableTools.js?'.$CC_CONFIG['airtime_version'],'text/javascript'); - $offset = date("Z") * -1; - $this->view->headScript()->appendScript("var serverTimezoneOffset = {$offset}; //in seconds"); $this->view->headScript()->appendFile($baseUrl.'js/timepicker/jquery.ui.timepicker.js?'.$CC_CONFIG['airtime_version'],'text/javascript'); $this->view->headScript()->appendFile($baseUrl.'js/bootstrap-datetime/bootstrap-datetimepicker.js?'.$CC_CONFIG['airtime_version'],'text/javascript'); $this->view->headScript()->appendFile($baseUrl.'js/airtime/buttons/buttons.js?'.$CC_CONFIG['airtime_version'],'text/javascript'); diff --git a/airtime_mvc/application/controllers/ShowbuilderController.php b/airtime_mvc/application/controllers/ShowbuilderController.php index 9c9f2552a..dd1a19e13 100644 --- a/airtime_mvc/application/controllers/ShowbuilderController.php +++ b/airtime_mvc/application/controllers/ShowbuilderController.php @@ -168,8 +168,6 @@ class ShowbuilderController extends Zend_Controller_Action $this->view->sb_form = $form; - $offset = date("Z") * -1; - $this->view->headScript()->appendScript("var serverTimezoneOffset = {$offset}; //in seconds"); $this->view->headScript()->appendFile($baseUrl.'js/timepicker/jquery.ui.timepicker.js?'.$CC_CONFIG['airtime_version'],'text/javascript'); $this->view->headScript()->appendFile($baseUrl.'js/airtime/showbuilder/builder.js?'.$CC_CONFIG['airtime_version'],'text/javascript'); $this->view->headScript()->appendFile($baseUrl.'js/airtime/showbuilder/main_builder.js?'.$CC_CONFIG['airtime_version'],'text/javascript'); diff --git a/airtime_mvc/public/js/airtime/utilities/utilities.js b/airtime_mvc/public/js/airtime/utilities/utilities.js index 55878f954..148f81fb1 100644 --- a/airtime_mvc/public/js/airtime/utilities/utilities.js +++ b/airtime_mvc/public/js/airtime/utilities/utilities.js @@ -37,19 +37,19 @@ var AIRTIME = (function(AIRTIME){ mod.fnGetSecondsEpoch = function(oDate) { var iTime, - iServerOffset, + iUserOffset, iClientOffset; iTime = oDate.getTime(); //value is in millisec. iTime = Math.round(iTime / 1000); - iServerOffset = serverTimezoneOffset; + iUserOffset = userTimezoneOffset; iClientOffset = oDate.getTimezoneOffset() * -60;//function returns minutes //adjust for the fact the the Date object is in client time. - iTime = iTime + iClientOffset + iServerOffset; + iTime = iTime + iClientOffset + iUserOffset; return iTime; - } + }; /* * Get the schedule range start in unix timestamp form (in seconds). @@ -64,9 +64,6 @@ var AIRTIME = (function(AIRTIME){ mod.fnGetTimestamp = function(sDateId, sTimeId) { var date, time, - iTime, - iServerOffset, - iClientOffset, temp; temp = $(sDateId).val();