diff --git a/airtime_mvc/application/controllers/SetupController.php b/airtime_mvc/application/controllers/SetupController.php index 59bc09e45..9b211eeb6 100644 --- a/airtime_mvc/application/controllers/SetupController.php +++ b/airtime_mvc/application/controllers/SetupController.php @@ -18,31 +18,24 @@ class SetupController extends Zend_Controller_Action if ($request->isPost()) { - $postData = $request->getPost(); - $formData = array(); - foreach ($postData["data"] as $key => $value) { - if ($value["name"] == "csrf") continue; - $formData[$value["name"]] = $value["value"]; - } + $formData = $request->getPost(); if ($form->isValid($formData)) { $userService = new Application_Service_UserService(); $currentUser = $userService->getCurrentUser(); $currentUserId = $currentUser->getDbId(); - Application_Model_Preference::SetUserTimezone($formData["timezone"], $currentUserId); - Application_Model_Preference::SetDefaultTimezone($formData["timezone"]); + Application_Model_Preference::SetUserTimezone($formData["setup_timezone"], $currentUserId); + Application_Model_Preference::SetDefaultTimezone($formData["setup_timezone"]); - Application_Model_Preference::SetUserLocale($formData["language"], $currentUserId); - Application_Model_Preference::SetDefaultLocale($formData["language"]); + Application_Model_Preference::SetUserLocale($formData["setup_language"], $currentUserId); + Application_Model_Preference::SetDefaultLocale($formData["setup_language"]); Application_Model_Preference::setLangTimezoneSetupComplete(true); - $this->_helper->json->sendJson(null); - } else { - $this->_helper->json->sendJson($form->get); + $this->_redirect('/Showbuilder'); } - } else { - $this->_helper->json->sendJson($form); } + $this->_redirect('/Showbuilder'); } + } \ No newline at end of file diff --git a/airtime_mvc/application/controllers/ShowbuilderController.php b/airtime_mvc/application/controllers/ShowbuilderController.php index 0ba6fbedb..65521749c 100644 --- a/airtime_mvc/application/controllers/ShowbuilderController.php +++ b/airtime_mvc/application/controllers/ShowbuilderController.php @@ -45,6 +45,7 @@ class ShowbuilderController extends Zend_Controller_Action //$this->view->headScript()->appendFile($baseUrl.'js/datatables/plugin/dataTables.ColReorder.js?'.$CC_CONFIG['airtime_version'],'text/javascript'); $this->view->headScript()->appendFile($baseUrl.'js/datatables/plugin/dataTables.FixedColumns.js?'.$CC_CONFIG['airtime_version'],'text/javascript'); $this->view->headScript()->appendFile($baseUrl.'js/datatables/plugin/dataTables.columnFilter.js?'.$CC_CONFIG['airtime_version'], 'text/javascript'); + $this->view->headScript()->appendFile($baseUrl.'js/js-timezone-detect/jstz-1.0.4.min.js?'.$CC_CONFIG['airtime_version'],'text/javascript'); $this->view->headScript()->appendFile($baseUrl.'js/blockui/jquery.blockUI.js?'.$CC_CONFIG['airtime_version'],'text/javascript'); $this->view->headScript()->appendFile($baseUrl.'js/airtime/buttons/buttons.js?'.$CC_CONFIG['airtime_version'],'text/javascript'); @@ -64,7 +65,6 @@ class ShowbuilderController extends Zend_Controller_Action // and they have not seen the setup popup before if ($currentUser->getDbType() == "S" && strpos(strtolower($previousPage), 'login') !== false && empty($setupComplete)) { - Logging::info("hello"); $lang_tz_popup_form = new Application_Form_SetupLanguageTimezone(); $this->view->lang_tz_popup_form = $lang_tz_popup_form; $this->view->headScript()->appendFile($baseUrl.'js/airtime/nowplaying/lang-timezone-setup.js?'.$CC_CONFIG['airtime_version'],'text/javascript'); diff --git a/airtime_mvc/application/views/scripts/form/setup-lang-timezone.phtml b/airtime_mvc/application/views/scripts/form/setup-lang-timezone.phtml index 9a08f679b..117d92a82 100644 --- a/airtime_mvc/application/views/scripts/form/setup-lang-timezone.phtml +++ b/airtime_mvc/application/views/scripts/form/setup-lang-timezone.phtml @@ -1,5 +1,5 @@
" style="display: none;"> -
+
element->getElement('csrf') ?> @@ -7,6 +7,9 @@ element->getElement('setup_language')->render(); ?> element->getElement('setup_timezone')->render(); ?> + +
+ You can set these settings later under Preferences and your user settings.
diff --git a/airtime_mvc/public/js/airtime/nowplaying/lang-timezone-setup.js b/airtime_mvc/public/js/airtime/nowplaying/lang-timezone-setup.js index 6d6242159..4e200dbb9 100644 --- a/airtime_mvc/public/js/airtime/nowplaying/lang-timezone-setup.js +++ b/airtime_mvc/public/js/airtime/nowplaying/lang-timezone-setup.js @@ -22,19 +22,25 @@ $(document).ready(function() { text: $.i18n._("OK"), "class": "btn", click: function() { - var formValues = $("#lang-timezone-form").serializeArray(); - $.post(baseUrl+"setup/setup-language-timezone", - { - format: "json", - data: formValues - }, function(json) { - console.log(json); - $("#lang-timezone-popup").dialog("close"); - }); + $("#lang-timezone-form").submit(); } } ] }); + var language = window.navigator.userLanguage || window.navigator.language; + if (language === undefined) { + language = "en_CA"; + } + language = language.replace("-", "_"); + $("#setup_language").val(language); + + var timezone = jstz.determine(); + var timezone_name = timezone.name(); + if (timezone_name === undefined) { + timezone_name = "America/Toronto"; + } + $("#setup_timezone").val(timezone_name); + dialog.dialog('open'); }); diff --git a/airtime_mvc/public/js/js-timezone-detect/jstz-1.0.4.min.js b/airtime_mvc/public/js/js-timezone-detect/jstz-1.0.4.min.js new file mode 100644 index 000000000..96e3dd8ae --- /dev/null +++ b/airtime_mvc/public/js/js-timezone-detect/jstz-1.0.4.min.js @@ -0,0 +1,2 @@ +/*! jstz - v1.0.4 - 2012-12-12 */ +(function(e){var t=function(){"use strict";var e="s",n=function(e){var t=-e.getTimezoneOffset();return t!==null?t:0},r=function(e,t,n){var r=new Date;return e!==undefined&&r.setFullYear(e),r.setDate(n),r.setMonth(t),r},i=function(e){return n(r(e,0,2))},s=function(e){return n(r(e,5,2))},o=function(e){var t=e.getMonth()>7?s(e.getFullYear()):i(e.getFullYear()),r=n(e);return t-r!==0},u=function(){var t=i(),n=s(),r=i()-s();return r<0?t+",1":r>0?n+",1,"+e:t+",0"},a=function(){var e=u();return new t.TimeZone(t.olson.timezones[e])};return{determine:a,date_is_dst:o}}();t.TimeZone=function(e){"use strict";var n=null,r=function(){return n},i=function(){var e=t.olson.ambiguity_list[n],r=e.length,i=0,s=e[0];for(;i