Merge remote-tracking branch 'origin/hotfix' into develop
This commit is contained in:
commit
045dbddaa3
2 changed files with 39 additions and 32 deletions
|
|
@ -5,17 +5,11 @@ namespace App\Http\Middleware;
|
|||
use Closure;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Support\Facades\Cookie;
|
||||
use Illuminate\Support\Facades\Route;
|
||||
use Illuminate\Support\Facades\View;
|
||||
|
||||
class LangCheck
|
||||
{
|
||||
/**
|
||||
* The available languages.
|
||||
*
|
||||
* @var array
|
||||
*/
|
||||
protected $langs = ['fr','en','es'];
|
||||
|
||||
/**
|
||||
* Handle an incoming request.
|
||||
*
|
||||
|
|
@ -27,6 +21,8 @@ class LangCheck
|
|||
{
|
||||
|
||||
$routName = $request->route()->getName();
|
||||
|
||||
$routeParams = Route::current()->parameters();
|
||||
if (preg_match('/^bo\./', $routName)) {
|
||||
// Back office.
|
||||
if ($request->lang) {
|
||||
|
|
@ -39,30 +35,34 @@ class LangCheck
|
|||
}
|
||||
} else {
|
||||
// FRONT.
|
||||
if (preg_match('/^(en|es)\./', $routName)) {
|
||||
// From front use named routes.
|
||||
$langset = $request->segment(1);
|
||||
// phpcs:disable
|
||||
$langset = 'fr';
|
||||
$this->saveUserLocale($langset, $request);
|
||||
// TODO : Reactivate below when activating langs
|
||||
// if (preg_match('/^(' . \implode("|", config('app.other_locales')) . ')\./', $routName)) {
|
||||
// // From front use named routes.
|
||||
// $langset = $request->segment(1);
|
||||
|
||||
$this->saveUserLocale($langset, $request);
|
||||
} else {
|
||||
// Not specified in route.
|
||||
if ($this->checkFirstAccess($request)) {
|
||||
$routNameEN = 'en.' . $routName;
|
||||
$routNameES = 'es.' . $routName;
|
||||
$sess_lang = $request->session()->get('lang', config('app.locale'));
|
||||
switch ($sess_lang) {
|
||||
case 'en':
|
||||
return redirect()->route($routNameEN);
|
||||
case 'es':
|
||||
return redirect()->route($routNameES);
|
||||
}
|
||||
}
|
||||
// $this->saveUserLocale($langset, $request);
|
||||
// } else {
|
||||
// // Not specified in route.
|
||||
// if ($this->checkFirstAccess($request)) {
|
||||
// $routNameEN = 'en.' . $routName;
|
||||
// $routNameES = 'es.' . $routName;
|
||||
// $sess_lang = $request->session()->get('lang', config('app.locale'));
|
||||
// switch ($sess_lang) {
|
||||
// case 'en':
|
||||
// return redirect()->route($routNameEN, $routeParams);
|
||||
// case 'es':
|
||||
// return redirect()->route($routNameES, $routeParams);
|
||||
// }
|
||||
// }
|
||||
|
||||
$langset = 'fr';
|
||||
$this->saveUserLocale($langset, $request);
|
||||
}//end if
|
||||
// $langset = 'fr';
|
||||
// $this->saveUserLocale($langset, $request);
|
||||
// }//end if
|
||||
}//end if
|
||||
|
||||
// phpcs:enable
|
||||
|
||||
|
||||
|
||||
|
|
@ -70,7 +70,7 @@ class LangCheck
|
|||
app()->setLocale($sess_lang);
|
||||
config(['app.locale' => $sess_lang]);
|
||||
$routePrefixer = "";
|
||||
if ($sess_lang != 'fr') {
|
||||
if ($sess_lang != config('app.locale')) {
|
||||
$routePrefixer = $sess_lang . '.';
|
||||
}
|
||||
View::share('routeprefixer', $routePrefixer);
|
||||
|
|
@ -109,9 +109,9 @@ class LangCheck
|
|||
if (is_null($fromC) || empty($fromC)) {
|
||||
// Pas de cookie, recherche sur le navigateur.
|
||||
$fromC = substr($request->server('HTTP_ACCEPT_LANGUAGE'), 0, 2);
|
||||
if (!in_array($fromC, $this->langs)) {
|
||||
// Default other languages to en.
|
||||
$fromC = 'en';
|
||||
if (!in_array($fromC, config('app.other_locales'))) {
|
||||
// Default other languages to config('app.locale').
|
||||
$fromC = config('app.locale');
|
||||
}
|
||||
}
|
||||
$this->saveUserLocale($fromC, $request);
|
||||
|
|
|
|||
|
|
@ -108,6 +108,13 @@ return [
|
|||
|
||||
'faker_locale' => 'fr_FR',
|
||||
|
||||
/**
|
||||
* All locales
|
||||
*/
|
||||
|
||||
'other_locales' => ['en', 'es'],
|
||||
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Encryption Key
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue