/** * Render an exception into an HTTP response. * * @param \Illuminate\Http\Request $request * @param \Exception $e * @return \Illuminate\Http\Response */ public function render($request, Exception $e) { if (is_a($e, ModelNotFoundException::class) && is_request_reactor()) { $request->session()->reflash(); if ($e->getModel() === 'Nuclear\\Hierarchy\\Node') { return redirect()->route('reactor.nodes.index'); } elseif ($e->getModel() === 'Nuclear\\Hierarchy\\MailingNode') { return redirect()->route('reactor.mailings.index'); } } return parent::render($request, $e); }
/** * Handle an incoming request. * * @param \Illuminate\Http\Request $request * @param \Closure $next * @return mixed */ public function handle($request, Closure $next) { // Set Reactor locale if (is_request_install() || is_request_reactor()) { $locale = env('REACTOR_LOCALE'); if (array_key_exists($locale, InstallHelper::$locales)) { set_app_locale($locale, false); } return $next($request); } // Else set site locale $locale = session('_locale', null) ?: (env('APP_AUTO_LOCALE', true) ? mb_substr($request->getPreferredLanguage(), 0, 2) : env('REACTOR_LOCALE')); if (in_array($locale, locales())) { set_app_locale($locale); } return $next($request); }
/** * Registers view bindings * * @param NodeRepository $nodeRepository */ protected function registerViewBindings(NodeRepository $nodeRepository) { if (!is_installed()) { return; } if (!is_request_reactor()) { $home = $nodeRepository->getHome(false); view()->share('home', $home); } view()->composer('*', function ($view) { $view->with('currentUser', auth()->user()); }); if (is_request_reactor()) { view()->composer('partials.navigation.nodes', function ($view) { $leafs = empty($id = auth()->user()->home) ? Node::whereIsRoot()->defaultOrder()->get() : [Node::find($id)]; $view->with('leafs', $leafs); }); } }