]> _ Git - cubist_cms-back.git/commitdiff
wip #3753
authorVincent Vanwaelscappel <vincent@cubedesigners.com>
Wed, 9 Dec 2020 07:04:49 +0000 (08:04 +0100)
committerVincent Vanwaelscappel <vincent@cubedesigners.com>
Wed, 9 Dec 2020 07:04:49 +0000 (08:04 +0100)
src/app/Middleware/BackLocaleSelector.php

index e9133968e9e0d90aa2c3123e6d209195e270216f..7635ab1fa5de8df9f333c44d72cde2c18dc971a3 100644 (file)
@@ -4,6 +4,8 @@
 namespace Cubist\Backpack\Middleware;
 
 
+use Closure;
+use Cubist\Locale\Locale;
 use Illuminate\Http\Request;
 use Illuminate\Support\Facades\App;
 
@@ -12,8 +14,17 @@ class BackLocaleSelector extends CubistMiddleware
     public function handle(Request $request, Closure $next)
     {
         parent::handle($request, $next);
-
-        $locale='fr';
+        $availableLanguages = config('backpack.base.locales', ['en']);
+
+        $user = backpack_user();
+        if (null === $user) {
+            $locale = $request->getPreferredLanguage($availableLanguages);
+        } else {
+            $locale = $user->locale;
+        }
+        if (!isset($locale) || !in_array($locale, $availableLanguages, true)) {
+            $locale = $availableLanguages[0];
+        }
         $this->setLocale($locale);
 
         return $this->getResponse();