]> BookStack Code Mirror - bookstack/blobdiff - app/Http/Middleware/Localization.php
Trying to make the tests green.
[bookstack] / app / Http / Middleware / Localization.php
index 3624e0e017e71e1bfffad0a62ab82ee90974d76a..14c87c377f630367019096641a564a28b77768ae 100644 (file)
@@ -1,6 +1,4 @@
-<?php
-
-namespace BookStack\Http\Middleware;
+<?php namespace BookStack\Http\Middleware;
 
 use Carbon\Carbon;
 use Closure;
@@ -17,7 +15,17 @@ class Localization
     public function handle($request, Closure $next)
     {
         $defaultLang = config('app.locale');
-        $locale = setting()->getUser(user(), 'language', $defaultLang);
+        if (user()->isDefault()) {
+            $locale = $defaultLang;
+            $availableLocales = config('app.locales');
+            foreach ($request->getLanguages() as $lang) {
+                if (!in_array($lang, $availableLocales)) continue;
+                $locale = $lang;
+                break;
+            }
+        } else {
+            $locale = setting()->getUser(user(), 'language', $defaultLang);
+        }
         app()->setLocale($locale);
         Carbon::setLocale($locale);
         return $next($request);