diff options
-rw-r--r-- | lib/private/L10N/Factory.php | 2 | ||||
-rw-r--r-- | lib/private/legacy/user.php | 7 | ||||
-rw-r--r-- | tests/lib/l10n/factorytest.php | 9 |
3 files changed, 15 insertions, 3 deletions
diff --git a/lib/private/L10N/Factory.php b/lib/private/L10N/Factory.php index 8f157d9c0bb..08b92657a1b 100644 --- a/lib/private/L10N/Factory.php +++ b/lib/private/L10N/Factory.php @@ -263,7 +263,7 @@ class Factory implements IFactory { } } - if (!$this->requestLanguage) { + if ($app === null && !$this->requestLanguage) { $this->requestLanguage = 'en'; } return 'en'; // Last try: English diff --git a/lib/private/legacy/user.php b/lib/private/legacy/user.php index 18a4c369d5e..f0e829bbe33 100644 --- a/lib/private/legacy/user.php +++ b/lib/private/legacy/user.php @@ -212,10 +212,13 @@ class OC_User { self::getUserSession()->setLoginName($uid); // setup the filesystem OC_Util::setupFS($uid); + // first call the post_login hooks, the login-process needs to be + // completed before we can safely create the users folder. + // For example encryption needs to initialize the users keys first + // before we can create the user folder with the skeleton files + OC_Hook::emit("OC_User", "post_login", array("uid" => $uid, 'password' => '')); //trigger creation of user home and /files folder \OC::$server->getUserFolder($uid); - - OC_Hook::emit("OC_User", "post_login", array("uid" => $uid, 'password' => '')); } return true; } diff --git a/tests/lib/l10n/factorytest.php b/tests/lib/l10n/factorytest.php index e4c0eab2e6a..98bb5ec13c9 100644 --- a/tests/lib/l10n/factorytest.php +++ b/tests/lib/l10n/factorytest.php @@ -343,6 +343,15 @@ class FactoryTest extends TestCase { [null, 'de', 'ru', ['de'], 'de', 'ru'], [null, 'de,en', 'ru', ['de'], 'de', 'ru'], [null, 'de-DE,en-US;q=0.8,en;q=0.6', 'ru', ['de'], 'de', 'ru'], + + // Request lang should not be set for apps: Language is available + ['files_pdfviewer', 'de', null, ['de'], 'de', ''], + ['files_pdfviewer', 'de,en', null, ['de'], 'de', ''], + ['files_pdfviewer', 'de-DE,en-US;q=0.8,en;q=0.6', null, ['de'], 'de', ''], + // Request lang should not be set for apps: Language is not available + ['files_pdfviewer', 'de', null, ['ru'], 'en', ''], + ['files_pdfviewer', 'de,en', null, ['ru', 'en'], 'en', ''], + ['files_pdfviewer', 'de-DE,en-US;q=0.8,en;q=0.6', null, ['ru', 'en'], 'en', ''], ]; } |