/** * Bootstrap the application events. * * @param Router $router * @param Kernel $kernel * @return void */ public function boot(Router $router, Kernel $kernel) { // add router middleware $globalMiddleware = [UploadChecks::class]; $routerMiddleware = ['coaster.admin' => AdminAuth::class, 'coaster.guest' => GuestAuth::class]; event(new LoadMiddleware($globalMiddleware, $routerMiddleware)); foreach ($globalMiddleware as $globalMiddlewareClass) { $kernel->pushMiddleware($globalMiddlewareClass); } foreach ($routerMiddleware as $routerMiddlewareName => $routerMiddlewareClass) { $router->middleware($routerMiddlewareName, $routerMiddlewareClass); } // use coater guard and user provider $authGuard = Helpers\Cms\CoasterGuard::class; $authUserProvider = Providers\CoasterAuthUserProvider::class; event(new LoadAuth($authGuard, $authUserProvider)); if ($authGuard && $authUserProvider) { Auth::extend('coaster', function ($app) use($authGuard, $authUserProvider) { return new $authGuard('coasterguard', new $authUserProvider(), $app['session.store'], $app['request']); }); } // set cookie jar for cookies Auth::setCookieJar($this->app['cookie']); // load coaster views $adminViews = [base_path(trim(config('coaster::admin.view'), '/'))]; $frontendViews = [base_path(trim(config('coaster::frontend.view'), '/'))]; event(new SetViewPaths($adminViews, $frontendViews)); $this->loadViewsFrom($adminViews, 'coaster'); $this->loadViewsFrom($frontendViews, 'coasterCms'); // run routes if not in console $routeFile = __DIR__ . '/Http/routes.php'; event(new LoadRouteFile($routeFile)); if ($routeFile && file_exists($routeFile)) { include $routeFile; } // if in console and not installed, display notice if (App::runningInConsole() && !Install::isComplete()) { echo "Coaster Framework: CMS awaiting install, go to a web browser to complete installation\r\n"; } }
/** @inheritdoc */ public function pushMiddleware(Kernel $kernel) { foreach ($this->middleware as $_middleware) { $kernel->pushMiddleware($_middleware); } return $this; }