diff --git a/pages/preferences.php b/pages/preferences.php
index 9380b981c..bcbfce151 100644
--- a/pages/preferences.php
+++ b/pages/preferences.php
@@ -36,26 +36,31 @@ function DisplayPreferences($oP)
{
$oAppContext = new ApplicationContext();
+ $oP->add('
\n");
+ $oP->add('');
+ $oP->add_ready_script("$('#fav_page_length').bind('keyup change', function(){ ValidateOtherSettings(); })");
+}
/////////////////////////////////////////////////////////////////////////////
//
@@ -148,6 +228,30 @@ try
DisplayPreferences($oPage);
break;
+ case 'apply_language':
+ $sLangCode = utils::ReadParam('language', 'EN US');
+ $oUser = UserRights::GetUserObject();
+ $oUser->Set('language', $sLangCode);
+ $oMyChange = MetaModel::NewObject("CMDBChange");
+ $oMyChange->Set("date", time());
+ $sUserString = CMDBChange::GetCurrentUserName();
+ $oMyChange->Set("userinfo", $sUserString);
+ $iChangeId = $oMyChange->DBInsert();
+ $oUser->DBUpdateTracked($oMyChange);
+ // Redirect to force a reload/display of the page with the new language
+ $oAppContext = new ApplicationContext();
+ $sURL = utils::GetAbsoluteUrlAppRoot().'pages/preferences.php?'.$oAppContext->GetForLink();
+ $oPage->add_header('Location: '.$sURL);
+ break;
+ case 'apply_others':
+ $iDefaultPageSize = (int)utils::ReadParam('default_page_size', -1);
+ if ($iDefaultPageSize > 0)
+ {
+ appUserPreferences::SetPref('default_page_size', $iDefaultPageSize);
+ }
+ DisplayPreferences($oPage);
+ break;
+
case 'display':
default:
DisplayPreferences($oPage);