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 @@
+ echo sprintf(_("%s's Settings"), $this->currentUser) ?>
\ 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 @@
-
echo _("Edit User") ?>
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;