aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMorris Jobke <hey@morrisjobke.de>2015-08-25 15:47:31 +0200
committerMorris Jobke <hey@morrisjobke.de>2015-08-25 15:47:31 +0200
commit4f13f9698171f8041a443a1c1f0c8fbd4522ca77 (patch)
treef6b3c77ab4f740a957bdda5caf89677ce37417af
parent1dc9283413dd5547d6b2080efbd33e0ce1f383d3 (diff)
downloadnextcloud-server-4f13f9698171f8041a443a1c1f0c8fbd4522ca77.tar.gz
nextcloud-server-4f13f9698171f8041a443a1c1f0c8fbd4522ca77.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;
}
/**