Ejemplo n.º 1
0
 /**
  * {@inheritdoc}
  */
 public function main(App $app)
 {
     $app['system'] = $this;
     $app['isAdmin'] = false;
     $app->factory('finder', function () {
         return Finder::create();
     });
     $app['db.em'];
     // -TODO- fix me
     $theme = $this->config('site.theme');
     foreach (array_merge($this->config['extensions'], (array) $theme) as $module) {
         try {
             $app['module']->load($module);
         } catch (\RuntimeException $e) {
             $app['log']->warn("Unable to load extension: {$module}");
         }
     }
     if (!($app['theme'] = $app->module($theme))) {
         $app['theme'] = new Module(['name' => 'default-theme', 'path' => '', 'config' => [], 'layout' => 'views:system/blank.php']);
     }
     $app->extend('view', function ($view) use($app) {
         $theme = $app->isAdmin() ? $app->module('system/theme') : $app['theme'];
         $view->map('layout', $theme->get('layout', 'views:template.php'));
         return $view->addGlobal('theme', $app['theme']);
     });
 }
Ejemplo n.º 2
0
 /**
  * {@inheritdoc}
  */
 public function main(App $app)
 {
     $app['system'] = $this;
     $app['isAdmin'] = false;
     $app->factory('finder', function () {
         return Finder::create();
     });
     $app['db.em'];
     // -TODO- fix me
     $app->extend('view', function ($view) use($app) {
         $theme = $app->isAdmin() ? $app->module('system/theme') : $app['theme'];
         $view->map('layout', $theme->get('layout', 'views:template.php'));
         return $view->addGlobal('theme', $app['theme']);
     });
     $app->extend('assets', function ($factory) use($app) {
         $secret = $this->config['secret'];
         $version = substr(sha1($app['version'] . $secret), 0, 4);
         $factory->setVersion($version);
         return $factory;
     });
     $theme = $this->config('site.theme');
     $app['module']->addLoader(function ($module) use($app, $theme) {
         if (in_array($module['name'], $this->config['extensions'])) {
             $module['type'] = 'extension';
             $app['locator']->add("{$module['name']}:", $module['path']);
             $app['locator']->add("views:{$module['name']}", "{$module['path']}/views");
         } else {
             if ($module['name'] == $theme) {
                 $module['type'] = 'theme';
                 $app['locator']->add('theme:', $module['path']);
                 $app['locator']->add('views:', "{$module['path']}/views");
             }
         }
         return $module;
     });
     foreach (array_merge($this->config['extensions'], (array) $theme) as $module) {
         try {
             $app['module']->load($module);
         } catch (\RuntimeException $e) {
             $module = ucfirst($module);
             $app['log']->error("[{$module} exception]: {$e->getMessage()}");
         }
     }
     if (!($app['theme'] = $app->module($theme))) {
         $app['theme'] = new Module(['name' => 'theme-default', 'type' => 'theme', 'path' => '', 'config' => [], 'layout' => 'views:system/blank.php']);
     }
 }
 /**
  * Puts the page in maintenance mode.
  */
 public function onRequest($event, $request)
 {
     if (!$event->isMasterRequest()) {
         return;
     }
     $site = App::module('system/site');
     if ($site->config('maintenance.enabled') && !(App::isAdmin() || $request->attributes->get('_maintenance') || App::user()->hasAccess('site: maintenance access'))) {
         $message = $site->config('maintenance.msg') ?: __("We'll be back soon.");
         $response = App::view('system/theme:views/maintenance.php', compact('message'));
         $request->attributes->set('_disable_debugbar', true);
         $types = $request->getAcceptableContentTypes();
         if ('json' == $request->getFormat(array_shift($types))) {
             $response = App::response()->json($message, 503);
         } else {
             $response = App::response($response, 503);
         }
         $event->setResponse($response);
     }
 }
Ejemplo n.º 4
0
 /**
  * Puts the page in maintenance mode.
  */
 public function onRequest($event, $request)
 {
     if (!$event->isMasterRequest()) {
         return;
     }
     $site = App::module('system/site');
     if ($site->config('maintenance.enabled') && !(App::isAdmin() || $request->attributes->get('_maintenance') || App::user()->hasAccess('site: maintenance access') || App::user()->hasAccess('system: access admin area'))) {
         $message = $site->config('maintenance.msg') ?: __("We'll be back soon.");
         $logo = $site->config('maintenance.logo') ?: 'app/system/assets/images/pagekit-logo-large-black.svg';
         $response = App::view('system/theme:views/maintenance.php', compact('message', 'logo'));
         $request->attributes->set('_disable_debugbar', true);
         $types = $request->getAcceptableContentTypes();
         if (!App::user()->isAuthenticated() && $request->isXMLHttpRequest()) {
             App::abort('401', 'Unauthorized');
         } elseif ('json' == $request->getFormat(array_shift($types))) {
             $response = App::response()->json($message, 503);
         } else {
             $response = App::response($response, 503);
         }
         $event->setResponse($response);
     }
 }