aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMorris Jobke <hey@morrisjobke.de>2015-08-25 15:47:31 +0200
committerMorris Jobke <hey@morrisjobke.de>2015-09-28 14:00:33 +0200
commit1d2803ec9aa8e245555ffbedd7263751b728a190 (patch)
treeaf9d89cfdd8880c560aee22d83c5bdc756eaa420
parentd6994b2da67ca3234d408368c49f2ddcdb953ec5 (diff)
downloadnextcloud-server-1d2803ec9aa8e245555ffbedd7263751b728a190.tar.gz
nextcloud-server-1d2803ec9aa8e245555ffbedd7263751b728a190.zip
Save detected l10n of browser on login
* fixes owncloud/activity#373
-rw-r--r--lib/private/l10n.php16
1 files changed, 12 insertions, 4 deletions
diff --git a/lib/private/l10n.php b/lib/private/l10n.php
index d367dbae690..17acaac1692 100644
--- a/lib/private/l10n.php
+++ b/lib/private/l10n.php
@@ -449,8 +449,11 @@ class OC_L10N implements \OCP\IL10N {
return self::$language;
}
- if(OC_User::getUser() && \OC::$server->getConfig()->getUserValue(OC_User::getUser(), 'core', 'lang')) {
- $lang = \OC::$server->getConfig()->getUserValue(OC_User::getUser(), 'core', 'lang');
+ $config = \OC::$server->getConfig();
+ $userId = \OC_User::getUser();
+
+ if($userId && $config->getUserValue($userId, 'core', 'lang')) {
+ $lang = $config->getUserValue($userId, 'core', 'lang');
self::$language = $lang;
if(is_array($app)) {
$available = $app;
@@ -463,13 +466,18 @@ class OC_L10N implements \OCP\IL10N {
}
}
- $default_language = \OC::$server->getConfig()->getSystemValue('default_language', false);
+ $default_language = $config->getSystemValue('default_language', false);
if($default_language !== false) {
return $default_language;
}
- return self::setLanguageFromRequest($app);
+ $lang = self::setLanguageFromRequest($app);
+ if($userId && !$config->getUserValue($userId, 'core', 'lang')) {
+ $config->setUserValue($userId, 'core', 'lang', $lang);
+ }
+
+ return $lang;
}
/**