Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nextcloud/server.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobin Appelman <icewind@owncloud.com>2012-04-15 17:35:20 +0400
committerRobin Appelman <icewind@owncloud.com>2012-04-15 17:35:20 +0400
commitb3bd4bc384986dcc57e1329ba24aa8ee587015ff (patch)
tree4bc444fb28a3f512c666b8d4829580cfa39ffcf0 /settings
parentb3ae2208b1ca5d913326042ca9a79aa4c01f8706 (diff)
sanity check on language selection
Diffstat (limited to 'settings')
-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") )));
}