summaryrefslogtreecommitdiffstats
path: root/settings/ajax
diff options
context:
space:
mode:
Diffstat (limited to 'settings/ajax')
-rw-r--r--settings/ajax/setlanguage.php10
1 files changed, 8 insertions, 2 deletions
diff --git a/settings/ajax/setlanguage.php b/settings/ajax/setlanguage.php
index d8d1a860378..e3b00c3bc80 100644
--- a/settings/ajax/setlanguage.php
+++ b/settings/ajax/setlanguage.php
@@ -7,11 +7,17 @@ $l=OC_L10N::get('settings');
OC_JSON::checkLoggedIn();
+
// Get data
if( isset( $_POST['lang'] ) ){
+ $languageCodes=OC_L10N::findAvailableLanguages();
$lang=$_POST['lang'];
- OC_Preferences::setValue( OC_User::getUser(), 'core', 'lang', $lang );
- OC_JSON::success(array("data" => array( "message" => $l->t("Language changed") )));
+ if(array_search($lang,$languageCodes) or $lang=='en'){
+ OC_Preferences::setValue( OC_User::getUser(), 'core', 'lang', $lang );
+ OC_JSON::success(array("data" => array( "message" => $l->t("Language changed") )));
+ }else{
+ OC_JSON::error(array("data" => array( "message" => $l->t("Invalid request") )));
+ }
}else{
OC_JSON::error(array("data" => array( "message" => $l->t("Invalid request") )));
}