From 1100baefbc2f9c172f59fd691b8b6037606423f5 Mon Sep 17 00:00:00 2001 From: denise Date: Thu, 10 Jan 2013 10:37:30 -0500 Subject: [PATCH 1/8] CC-4823: Locale cookie doesn't get set after user logs in -fixed --- airtime_mvc/public/js/airtime/login/login.js | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/airtime_mvc/public/js/airtime/login/login.js b/airtime_mvc/public/js/airtime/login/login.js index dc9a722e1..4bdd221c0 100644 --- a/airtime_mvc/public/js/airtime/login/login.js +++ b/airtime_mvc/public/js/airtime/login/login.js @@ -2,3 +2,9 @@ $(window).load(function(){ $("#username").focus(); $("#locale").val($.cookie("airtime_locale")); }); + +$(document).ready(function() { + $("#submit").click(function() { + $.cookie("airtime_locale", $("#locale").val(), {path: '/'}); + }); +}); From 0aeea610063dfae1034f378a3305026f0acbfdda Mon Sep 17 00:00:00 2001 From: denise Date: Thu, 10 Jan 2013 10:52:39 -0500 Subject: [PATCH 2/8] CC-4822: Cannot preview playlist -fixed --- airtime_mvc/application/controllers/AudiopreviewController.php | 2 ++ 1 file changed, 2 insertions(+) diff --git a/airtime_mvc/application/controllers/AudiopreviewController.php b/airtime_mvc/application/controllers/AudiopreviewController.php index 3adf3351c..2cf9e16df 100644 --- a/airtime_mvc/application/controllers/AudiopreviewController.php +++ b/airtime_mvc/application/controllers/AudiopreviewController.php @@ -177,6 +177,8 @@ class AudiopreviewController extends Zend_Controller_Action private function createElementMap($track) { + $baseUrl = Application_Common_OsPath::getBaseDir(); + $elementMap = array( 'element_title' => isset($track['track_title'])?$track['track_title']:"", 'element_artist' => isset($track['artist_name'])?$track['artist_name']:"", 'element_id' => isset($track['id'])?$track['id']:"", From 4bf9ab60d91229b2fcc7b2ee4aa59741734fc150 Mon Sep 17 00:00:00 2001 From: James Date: Thu, 10 Jan 2013 11:49:02 -0500 Subject: [PATCH 3/8] CC-4819: Tracks length in Scheduler is 0.0 all the time - fixed in better way --- airtime_mvc/application/models/ShowBuilder.php | 6 +----- airtime_mvc/application/models/StoredFile.php | 6 ++++++ 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/airtime_mvc/application/models/ShowBuilder.php b/airtime_mvc/application/models/ShowBuilder.php index 1b339b501..a1ef7c588 100644 --- a/airtime_mvc/application/models/ShowBuilder.php +++ b/airtime_mvc/application/models/ShowBuilder.php @@ -270,11 +270,7 @@ class Application_Model_ShowBuilder $cue_out = Application_Common_DateHelper::calculateLengthInSeconds($p_item['cue_out']); $cue_in = Application_Common_DateHelper::calculateLengthInSeconds($p_item['cue_in']); - if ($cue_out == 0 && $cue_in == 0) { - $run_time = Application_Common_DateHelper::calculateLengthInSeconds($p_item['file_length']); - } else { - $run_time = $cue_out-$cue_in; - } + $run_time = $cue_out-$cue_in; $formatter = new LengthFormatter(Application_Common_DateHelper::ConvertMSToHHMMSSmm($run_time*1000)); $row['runtime'] = $formatter->format(); diff --git a/airtime_mvc/application/models/StoredFile.php b/airtime_mvc/application/models/StoredFile.php index 09e5d17ed..994dae2a3 100644 --- a/airtime_mvc/application/models/StoredFile.php +++ b/airtime_mvc/application/models/StoredFile.php @@ -129,9 +129,15 @@ class Application_Model_StoredFile # Translate metadata attributes from media monitor (MDATA_KEY_*) # to their counterparts in constants.php (usually the column names) + $track_length = $p_md['MDATA_KEY_DURATION']; + $track_length_in_sec = Application_Common_DateHelper::calculateLengthInSeconds($track_length); foreach ($p_md as $mdConst => $mdValue) { if (defined($mdConst)) { + if ($mdConst == "MDATA_KEY_CUE_OUT" && $mdValue == '0.0') { + $mdValue = $track_length_in_sec; + } $dbMd[constant($mdConst)] = $mdValue; + } else { Logging::warn("using metadata that is not defined. [$mdConst] => [$mdValue]"); From 690a6d26540ea3eeba0711935df1ab2effb0d44b Mon Sep 17 00:00:00 2001 From: denise Date: Thu, 10 Jan 2013 12:04:27 -0500 Subject: [PATCH 4/8] Removed user id from cc_pref keystr value --- airtime_mvc/application/models/Preference.php | 8 ++++---- airtime_mvc/build/sql/defaultdata.sql | 2 +- install_minimal/include/AirtimeInstall.php | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/airtime_mvc/application/models/Preference.php b/airtime_mvc/application/models/Preference.php index b204609f4..3c29613b8 100644 --- a/airtime_mvc/application/models/Preference.php +++ b/airtime_mvc/application/models/Preference.php @@ -452,12 +452,12 @@ class Application_Model_Preference if (is_null($timezone)) { $timezone = self::GetDefaultTimezone(); } - self::setValue("user_".$userId."_timezone", $timezone, true, $userId); + self::setValue("user_timezone", $timezone, true, $userId); } public static function GetUserTimezone($id) { - return self::getValue("user_".$id."_timezone", true); + return self::getValue("user_timezone", true); } public static function GetTimezone() @@ -484,7 +484,7 @@ class Application_Model_Preference public static function GetUserLocale($id) { - return self::getValue("user_".$id."_locale", true); + return self::getValue("user_locale", true); } public static function SetUserLocale($userId, $locale = null) @@ -494,7 +494,7 @@ class Application_Model_Preference if (is_null($locale)) { $locale = self::GetDefaultLocale(); } - self::setValue("user_".$userId."_locale", $locale, true, $userId); + self::setValue("user_locale", $locale, true, $userId); } public static function GetLocale() diff --git a/airtime_mvc/build/sql/defaultdata.sql b/airtime_mvc/build/sql/defaultdata.sql index a5d92eabd..851aea050 100644 --- a/airtime_mvc/build/sql/defaultdata.sql +++ b/airtime_mvc/build/sql/defaultdata.sql @@ -322,7 +322,7 @@ INSERT INTO cc_stream_setting (keyname, value, type) VALUES ('s3_channels', 'ste -- added in 2.3 INSERT INTO cc_pref("keystr", "valstr") VALUES('locale', 'en_CA'); -INSERT INTO cc_pref("subjid", "keystr", "valstr") VALUES(1, 'user_1_locale', 'en_CA'); +INSERT INTO cc_pref("subjid", "keystr", "valstr") VALUES(1, 'user_locale', 'en_CA'); INSERT INTO cc_locale (locale_code, locale_lang) VALUES ('zh_CN', 'Chinese'); INSERT INTO cc_locale (locale_code, locale_lang) VALUES ('en_CA', 'English'); diff --git a/install_minimal/include/AirtimeInstall.php b/install_minimal/include/AirtimeInstall.php index e7a9ad6e5..891ea1acb 100644 --- a/install_minimal/include/AirtimeInstall.php +++ b/install_minimal/include/AirtimeInstall.php @@ -340,7 +340,7 @@ class AirtimeInstall if ($result < 1) { return false; } - $sql = "INSERT INTO cc_pref (subjid, keystr, valstr) VALUES (1, 'user_1_timezone', '$defaultTimezone')"; + $sql = "INSERT INTO cc_pref (subjid, keystr, valstr) VALUES (1, 'user_timezone', '$defaultTimezone')"; $result = $con->exec($sql); if ($result < 1) { return false; From 2797809c748d872b629d164cb019aea1b40e8533 Mon Sep 17 00:00:00 2001 From: denise Date: Thu, 10 Jan 2013 13:55:52 -0500 Subject: [PATCH 5/8] CC-4786: Refresh page when language setting changes -done --- .../application/controllers/LoginController.php | 2 +- .../application/controllers/UserController.php | 17 +++++++++-------- airtime_mvc/application/forms/EditUser.php | 2 +- .../views/scripts/form/edit-user.phtml | 5 +++-- .../views/scripts/user/edit-user.phtml | 1 - .../public/js/airtime/dashboard/dashboard.js | 9 +-------- 6 files changed, 15 insertions(+), 21 deletions(-) diff --git a/airtime_mvc/application/controllers/LoginController.php b/airtime_mvc/application/controllers/LoginController.php index fe30097f4..926e49252 100644 --- a/airtime_mvc/application/controllers/LoginController.php +++ b/airtime_mvc/application/controllers/LoginController.php @@ -13,7 +13,7 @@ class LoginController extends Zend_Controller_Action $request = $this->getRequest(); - Application_Model_Locale::configureLocalization($request->getcookie('airtime_locale')); + Application_Model_Locale::configureLocalization($request->getcookie('airtime_locale', 'en_CA')); if (Zend_Auth::getInstance()->hasIdentity()) { diff --git a/airtime_mvc/application/controllers/UserController.php b/airtime_mvc/application/controllers/UserController.php index e959a5758..bb7a9b263 100644 --- a/airtime_mvc/application/controllers/UserController.php +++ b/airtime_mvc/application/controllers/UserController.php @@ -129,12 +129,7 @@ class UserController extends Zend_Controller_Action $request = $this->getRequest(); $form = new Application_Form_EditUser(); if ($request->isPost()) { - $params = $request->getPost(); - $postData = explode('&', $params['data']); - foreach($postData as $k=>$v) { - $v = explode('=', $v); - $formData[$v[0]] = urldecode($v[1]); - } + $formData = $request->getPost(); if (isset($CC_CONFIG['demo']) && $CC_CONFIG['demo'] == 1 && $formData['cu_login'] == 'admin') { @@ -157,12 +152,18 @@ class UserController extends Zend_Controller_Action $user->setSkype($formData['cu_skype']); $user->setJabber($formData['cu_jabber']); $user->save(); + + //configure localization with new locale setting + Application_Model_Locale::configureLocalization($formData['cu_locale']); + //reinitialize form so language gets translated + $form = new Application_Form_EditUser(); + Application_Model_Preference::SetUserLocale($user->getId(), $formData['cu_locale']); Application_Model_Preference::SetUserTimezone($user->getId(), $formData['cu_timezone']); - $this->view->successMessage = "
"._("User updated successfully!")."
"; + $this->view->successMessage = "
"._("Settings updated successfully!")."
"; } $this->view->form = $form; - die(json_encode(array("locale"=>$formData['cu_locale'], "html"=>$this->view->render('user/edit-user.phtml')))); + $this->view->html = $this->view->render('user/edit-user.phtml'); } $this->view->form = $form; $this->view->html = $this->view->render('user/edit-user.phtml'); diff --git a/airtime_mvc/application/forms/EditUser.php b/airtime_mvc/application/forms/EditUser.php index f266f2368..7e9d78456 100644 --- a/airtime_mvc/application/forms/EditUser.php +++ b/airtime_mvc/application/forms/EditUser.php @@ -18,7 +18,7 @@ class Application_Form_EditUser extends Zend_Form $emailValidator = Application_Form_Helper_ValidationTypes::overrideEmailAddressValidator(); $this->setDecorators(array( - array('ViewScript', array('viewScript' => 'form/edit-user.phtml')))); + array('ViewScript', array('viewScript' => 'form/edit-user.phtml', "currentUser" => $currentUser->getLogin())))); $this->setAttrib('id', 'current-user-form'); $hidden = new Zend_Form_Element_Hidden('cu_user_id'); diff --git a/airtime_mvc/application/views/scripts/form/edit-user.phtml b/airtime_mvc/application/views/scripts/form/edit-user.phtml index e7996a25d..094cf440e 100644 --- a/airtime_mvc/application/views/scripts/form/edit-user.phtml +++ b/airtime_mvc/application/views/scripts/form/edit-user.phtml @@ -1,5 +1,6 @@ +

currentUser) ?>

-
+
element->getElement('cu_user_id') ?>
@@ -142,7 +143,7 @@ - +
\ No newline at end of file diff --git a/airtime_mvc/application/views/scripts/user/edit-user.phtml b/airtime_mvc/application/views/scripts/user/edit-user.phtml index 34f811f1b..dd8dfcd6b 100644 --- a/airtime_mvc/application/views/scripts/user/edit-user.phtml +++ b/airtime_mvc/application/views/scripts/user/edit-user.phtml @@ -1,5 +1,4 @@
-

successMessage ?> form?>
diff --git a/airtime_mvc/public/js/airtime/dashboard/dashboard.js b/airtime_mvc/public/js/airtime/dashboard/dashboard.js index c213c945d..eba3060b5 100644 --- a/airtime_mvc/public/js/airtime/dashboard/dashboard.js +++ b/airtime_mvc/public/js/airtime/dashboard/dashboard.js @@ -462,14 +462,7 @@ $(document).ready(function() { }); $('#cu_save_user').live('click', function() { - var data = $('#current-user-form').serialize(); - $.post(baseUrl+'/user/edit-user', {format: 'json', data: data}, function(data) { - var json = $.parseJSON(data); - $('.edit-current-user').parent().empty().append(json.html); - $.cookie("airtime_locale", json.locale, {path: '/'}); - setCurrentUserPseudoPassword(); - setTimeout(removeSuccessMsg, 5000); - }); + $.cookie("airtime_locale", $('#cu_locale').val(), {path: '/'}); }); // When the 'Listen' button is clicked we set the width From dffe93222331af47e8e95d8f4d71338bd530da20 Mon Sep 17 00:00:00 2001 From: denise Date: Thu, 10 Jan 2013 13:58:11 -0500 Subject: [PATCH 6/8] Added missing base directory to urls --- airtime_mvc/application/forms/RegisterAirtime.php | 2 +- airtime_mvc/public/js/airtime/showbuilder/main_builder.js | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/airtime_mvc/application/forms/RegisterAirtime.php b/airtime_mvc/application/forms/RegisterAirtime.php index 8c4af94c6..d1557612a 100644 --- a/airtime_mvc/application/forms/RegisterAirtime.php +++ b/airtime_mvc/application/forms/RegisterAirtime.php @@ -7,7 +7,7 @@ class Application_Form_RegisterAirtime extends Zend_Form public function init() { - $this->setAction('/Showbuilder'); + $this->setAction(Application_Common_OsPath::getBaseDir().'/Showbuilder'); $this->setMethod('post'); $country_list = Application_Model_Preference::GetCountryList(); diff --git a/airtime_mvc/public/js/airtime/showbuilder/main_builder.js b/airtime_mvc/public/js/airtime/showbuilder/main_builder.js index ccf02e584..b78075e12 100644 --- a/airtime_mvc/public/js/airtime/showbuilder/main_builder.js +++ b/airtime_mvc/public/js/airtime/showbuilder/main_builder.js @@ -171,7 +171,7 @@ AIRTIME = (function(AIRTIME) { schedTable.fnDraw(); $.ajax( { - url : "/usersettings/set-now-playing-screen-settings", + url : baseUrl+"/usersettings/set-now-playing-screen-settings", type : "POST", data : { settings : { @@ -197,7 +197,7 @@ AIRTIME = (function(AIRTIME) { schedTable.fnDraw(); $.ajax( { - url : "/usersettings/set-now-playing-screen-settings", + url : baseUrl+"/usersettings/set-now-playing-screen-settings", type : "POST", data : { settings : { @@ -271,7 +271,7 @@ AIRTIME = (function(AIRTIME) { $.ajax( { "dataType" : "json", "type" : "GET", - "url" : "/showbuilder/check-builder-feed", + "url" : baseUrl+"/showbuilder/check-builder-feed", "data" : data, "success" : function(json) { if (json.update === true) { From a0be1c647e7b71ef41e486f2ec419cff54eade11 Mon Sep 17 00:00:00 2001 From: denise Date: Thu, 10 Jan 2013 14:01:03 -0500 Subject: [PATCH 7/8] CC-4786: Refresh page when language setting changes -configure localization and reinitiliaze edit user form after the user locale is set --- airtime_mvc/application/controllers/UserController.php | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/airtime_mvc/application/controllers/UserController.php b/airtime_mvc/application/controllers/UserController.php index bb7a9b263..f0fd5b4ee 100644 --- a/airtime_mvc/application/controllers/UserController.php +++ b/airtime_mvc/application/controllers/UserController.php @@ -153,13 +153,14 @@ class UserController extends Zend_Controller_Action $user->setJabber($formData['cu_jabber']); $user->save(); + Application_Model_Preference::SetUserLocale($user->getId(), $formData['cu_locale']); + Application_Model_Preference::SetUserTimezone($user->getId(), $formData['cu_timezone']); + //configure localization with new locale setting Application_Model_Locale::configureLocalization($formData['cu_locale']); //reinitialize form so language gets translated $form = new Application_Form_EditUser(); - Application_Model_Preference::SetUserLocale($user->getId(), $formData['cu_locale']); - Application_Model_Preference::SetUserTimezone($user->getId(), $formData['cu_timezone']); $this->view->successMessage = "
"._("Settings updated successfully!")."
"; } $this->view->form = $form; From 9f857433fa68cd6c41fdd4a5e5bf17f24a912ab3 Mon Sep 17 00:00:00 2001 From: denise Date: Thu, 10 Jan 2013 14:22:25 -0500 Subject: [PATCH 8/8] CC-4817: I18N: "Playlist Shuffled" is not listed for translation -fixed --- airtime_mvc/application/controllers/LocaleController.php | 1 + airtime_mvc/public/js/airtime/library/spl.js | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/airtime_mvc/application/controllers/LocaleController.php b/airtime_mvc/application/controllers/LocaleController.php index 3fa1a0a5a..72707e7e2 100644 --- a/airtime_mvc/application/controllers/LocaleController.php +++ b/airtime_mvc/application/controllers/LocaleController.php @@ -117,6 +117,7 @@ class LocaleController extends Zend_Controller_Action "Dynamic block is not previewable" => _("Dynamic block is not previewable"), "Limit to: " => _("Limit to: "), "Playlist saved" => _("Playlist saved"), + "Playlist shuffled" => _("Playlist shuffled"), "Airtime is unsure about the status of this file. This can happen when the file is on a remote drive that is unaccessible or the file is in a directory that isn't 'watched' anymore." => _("Airtime is unsure about the status of this file. This can happen when the file is on a remote drive that is unaccessible or the file is in a directory that isn't 'watched' anymore."), //listenerstat/listenerstat.js diff --git a/airtime_mvc/public/js/airtime/library/spl.js b/airtime_mvc/public/js/airtime/library/spl.js index a5811ed5a..23a85d139 100644 --- a/airtime_mvc/public/js/airtime/library/spl.js +++ b/airtime_mvc/public/js/airtime/library/spl.js @@ -641,7 +641,7 @@ var AIRTIME = (function(AIRTIME){ $pl.on("click", 'button[id="playlist_shuffle_button"]', function(){ obj_id = $('input[id="obj_id"]').val(); - url = "/Playlist/shuffle"; + url = baseUrl+"/Playlist/shuffle"; enableLoadingIcon(); $.post(url, {format: "json", obj_id: obj_id}, function(data){ var json = $.parseJSON(data) @@ -651,7 +651,7 @@ var AIRTIME = (function(AIRTIME){ } AIRTIME.playlist.fnOpenPlaylist(json); if (json.result == "0") { - $pl.find('.success').text('Playlist shuffled'); + $pl.find('.success').text($.i18n._('Playlist shuffled')); $pl.find('.success').show(); } disableLoadingIcon();