diff options
author | Morris Jobke <hey@morrisjobke.de> | 2015-08-25 15:47:31 +0200 |
---|---|---|
committer | Morris Jobke <hey@morrisjobke.de> | 2015-09-28 14:00:33 +0200 |
commit | 1d2803ec9aa8e245555ffbedd7263751b728a190 (patch) | |
tree | af9d89cfdd8880c560aee22d83c5bdc756eaa420 | |
parent | d6994b2da67ca3234d408368c49f2ddcdb953ec5 (diff) | |
download | nextcloud-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.php | 16 |
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; } /** |