/**
  * 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";
     }
 }
 /**
  * Bootstrap the application events.
  *
  * @return void
  */
 public function boot()
 {
     $db = false;
     try {
         if (Schema::hasTable('settings')) {
             $db = true;
         }
     } catch (\PDOException $e) {
     }
     $configFile = __DIR__ . '/../../config';
     $useDatabaseSettings = $db;
     event(new LoadConfig($configFile, $useDatabaseSettings));
     Setting::loadAll($configFile, 'coaster', $useDatabaseSettings);
     $overrideConfigValues = ['auth.guards.web.driver' => 'coaster', 'auth.providers.users.model' => User::class, 'croppa.src_dir' => public_path(), 'croppa.crops_dir' => public_path() . '/cache', 'croppa.path' => 'cache/(' . config('coaster::frontend.croppa_handle') . ')$'];
     event(new LoadedConfig($overrideConfigValues));
     foreach ($overrideConfigValues as $attribute => $value) {
         app()->config->set($attribute, $value);
     }
     if (Install::isComplete()) {
         if (!$db) {
             abort(503, 'Database error, settings table could not be found');
         }
     }
 }
예제 #3
0
}
$updatesFile = storage_path(config('coaster::site.storage_path') . '/updates.json');
if (file_exists($updatesFile)) {
    $updateStatus = file_get_contents($updatesFile);
    $updateStatus = json_decode($updateStatus, true);
} else {
    $updateStatus = [];
}
if (empty($updateStatus['storage']) || version_compare($updateStatus['storage'], 'v.5.2.39', '<')) {
    include __DIR__ . '/storageMove.php';
    $updateStatus['storage'] = config('coaster::site.version');
    file_put_contents($updatesFile, json_encode($updateStatus));
}
if (empty($updateStatus['fileManager']) || version_compare($updateStatus['fileManager'], 'v.5.3.1', '<')) {
    include __DIR__ . '/fileManagerConfig.php';
    $updateStatus['fileManager'] = config('coaster::site.version');
    file_put_contents($updatesFile, json_encode($updateStatus));
}
if (\CoasterCms\Helpers\Cms\Install::isComplete()) {
    if (empty($updateStatus['gallery']) || version_compare($updateStatus['gallery'], 'v.5.2.27', '<')) {
        include __DIR__ . '/galleryMoveFiles.php';
        $updateStatus['gallery'] = config('coaster::site.version');
        file_put_contents($updatesFile, json_encode($updateStatus));
    }
    if (empty($updateStatus['migrations']) || version_compare($updateStatus['migrations'], config('coaster::site.version'), '<')) {
        include __DIR__ . '/databaseMigrations.php';
        $updateStatus['migrations'] = config('coaster::site.version');
        file_put_contents($updatesFile, json_encode($updateStatus));
    }
}
include __DIR__ . '/publicAssets.php';