<?php

namespace App\Http\Middleware;

use Closure;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Lang;

class LanguageMiddleware
{
    /**
     * Handle an incoming request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Closure  $next
     * @return mixed
     */
    public function handle($request, Closure $next)
    {
        if(Auth::check()){
            Lang::setLocale(Auth::user()->lang);
        }else{
            if(isset($_COOKIE['locale'])) {
                Lang::setLocale($_COOKIE['locale']);
            }
            else{
                if(isset($_SERVER['HTTP_ACCEPT_LANGUAGE'])){
                    if(substr($_SERVER['HTTP_ACCEPT_LANGUAGE'],0,2)=='tr'){
                        setcookie('locale','tr');
                        Lang::setLocale('tr');
                    }else{
                        setcookie('locale','en');
                        Lang::setLocale('en');
                    }
                }else{
                    Lang::setLocale('tr');
                }
            }
        }
        return $next($request);
    }
}
