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/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..f0fd5b4ee 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,19 @@ class UserController extends Zend_Controller_Action $user->setSkype($formData['cu_skype']); $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']); - $this->view->successMessage = "
"._("User updated successfully!")."
"; + + //configure localization with new locale setting + Application_Model_Locale::configureLocalization($formData['cu_locale']); + //reinitialize form so language gets translated + $form = new Application_Form_EditUser(); + + $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/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/application/models/Preference.php b/airtime_mvc/application/models/Preference.php index 000174c4c..f8b06c9a5 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/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/build/sql/defaultdata.sql b/airtime_mvc/build/sql/defaultdata.sql index 775f548fb..93317c72a 100644 --- a/airtime_mvc/build/sql/defaultdata.sql +++ b/airtime_mvc/build/sql/defaultdata.sql @@ -323,7 +323,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/airtime_mvc/public/css/images/icon_alert_cal_alt2.png b/airtime_mvc/public/css/images/icon_alert_cal_alt2.png new file mode 100644 index 000000000..a9dcefd06 Binary files /dev/null and b/airtime_mvc/public/css/images/icon_alert_cal_alt2.png differ diff --git a/airtime_mvc/public/css/styles.css b/airtime_mvc/public/css/styles.css index 947ec716c..0815153ee 100644 --- a/airtime_mvc/public/css/styles.css +++ b/airtime_mvc/public/css/styles.css @@ -2000,7 +2000,7 @@ span.errors.sp-errors{ background:url(images/icon_alert_cal_alt.png) no-repeat 0 0; } .small-icon.show-partial-filled { - background:url(images/icon_alert_cal_alt.png) no-repeat 0 0; + background:url(images/icon_alert_cal_alt2.png) no-repeat 0 0; } .medium-icon { display:block; 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 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(); 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) { 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;