/** * Handle an incoming request. * * @param $request * @param Closure $next * @return */ public function handle($request, Closure $next) { //on the front, locale is determined by either: // - multi locale -> url prefix // - single locale -> from config if (on_front()) { $request = app('request'); if (env('APP_MULTIPLE_LOCALES')) { $locale = $request->segment(1); //if invalid locale if (empty($locale) || !in_array($locale, config('system.locales'))) { //use the current default locale $locale = app()->getLocale(); } app()->setLocale($locale); /* @var CookieJar $cookies */ if (!$request->hasCookie('locale') && $request->getRequestUri() != '/') { $cookies = app('cookie'); cookie()->queue(cookie()->forever('locale', $locale)); } } } elseif ($this->session->has('locale')) { app()->setLocale($this->session->get('locale')); } return $next($request); }
public static function bootFrontScoping() { $class = __CLASS__ . 'ScopeFront'; if (on_front()) { static::addGlobalScope(new $class()); } }
/** * */ public function usePresentableCache() { return $this instanceof PresentableCache && on_front(); }