File: /var/www/ipsremont-demo/app/Http/Middleware/Locale.php
<?php
namespace App\Http\Middleware;
use App\Traits\UserTrait;
use Closure;
use Illuminate\Foundation\Auth\AuthenticatesUsers;
use Illuminate\Support\Facades\Auth;
class Locale
{
use AuthenticatesUsers;
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @return mixed
*/
public function handle($request, Closure $next)
{
if (!empty(Auth::user()))
if (Auth::user()->access_system == 0 || !empty(Auth::user()->deleted_at)) {
$this->guard()->logout();
$request->session()->invalidate();
return redirect()->route('login')->with('messageError', __('users.accessDenied'));
}
if (session()->has('locale')) {
app()->setLocale(session()->get('locale'));
} else {
if (!empty(Auth::user())) {
session()->put('locale', Auth::user()->lang);
app()->setLocale(Auth::user()->lang);
} else {
session()->put('locale', $request->lang);
app()->setLocale($request->lang);
}
}
return $next($request);
}
}