Example #1
0
 /**
  * {@inheritdoc}
  */
 public function boot(Application $app)
 {
     parent::boot($app);
     $app['events']->addSubscriber(new AliasListener());
     $app->on('system.link', function (LinkEvent $event) {
         $event->register('Pagekit\\Page\\PageLink');
     });
     $app->on('system.locale', function (LocaleEvent $event) {
         $event->addMessages(['page.unsaved-form' => __('You\'ve made some changes! Leaving the page without saving will discard all changes.')]);
     });
 }
 /**
  * {@inheritdoc}
  */
 public function boot(Application $app)
 {
     parent::boot($app);
     $this['events']->addSubscriber(new HelloListener());
     $app->on('system.widget', function (RegisterWidgetEvent $event) {
         $event->register('Pagekit\\Hello\\HelloWidget');
     });
     $app->on('system.dashboard', function (RegisterWidgetEvent $event) {
         $event->register('Pagekit\\Hello\\HelloWidget');
     });
     $app->on('system.link', function (LinkEvent $event) {
         $event->register('Pagekit\\Hello\\HelloLink');
     });
     // dispatch event (check Hello\Event\HelloListener to see how subscribers work)
     $app['events']->dispatch('hello.boot');
 }
Example #3
0
 /**
  * {@inheritdoc}
  */
 public function boot(Application $app)
 {
     parent::boot($app);
     $app['events']->addSubscriber(new RouteListener());
     $app['events']->addSubscriber(new CommentListener());
     $app['events']->addSubscriber(new ReadmorePlugin());
     $app->on('system.init', function () use($app) {
         $app['config']->set('app.frontpage', $app['config']->get('app.frontpage') ?: '@blog/site');
     }, 10);
     $app->on('system.link', function (LinkEvent $event) {
         $event->register('Pagekit\\Blog\\Link\\BlogLink');
     });
     $app->on('system.locale', function (LocaleEvent $event) {
         $event->addMessages(['post.unsaved-form' => __('You\'ve made some changes! Leaving the post without saving will discard all changes.')]);
     });
 }
 /**
  * {@inheritdoc}
  */
 public function boot(Application $app)
 {
     if ($app['config']['app.installer']) {
         parent::boot($app);
         $app->error(function (NotFoundHttpException $e) use($app) {
             return $app['response']->redirect('@installer/installer');
         });
         $app->on('system.loaded', function () use($app) {
             if ($locale = $app['request']->getPreferredLanguage()) {
                 $app['translator']->setLocale($locale);
             }
             $app['view.scripts']->register('requirejs', 'extension://system/assets/js/require.min.js', 'requirejs-config');
             $app['view.scripts']->register('requirejs-config', 'extension://system/assets/js/require.js');
         });
     }
 }
 protected function disable(Extension $extension)
 {
     $this['option']->set('system:extensions', array_values(array_diff($this['option']->get('system:extensions', []), [$extension->getName()])), true);
     $extension->disable();
 }
 /**
  * {@inheritdoc}
  */
 public function boot(Application $app)
 {
     if (!(isset($this['config']) ? $this['config']['app.debug'] : true)) {
         $app['events']->addSubscriber(new ExceptionListener('Pagekit\\System\\Exception\\ExceptionController::showAction'));
     }
     $app['events']->addSubscriber(new AccessListener());
     $app['events']->addSubscriber(new AdminMenuListener());
     $app['events']->addSubscriber(new AliasListener());
     $app['events']->addSubscriber(new AuthorizationListener());
     $app['events']->addSubscriber(new CanonicalListener());
     $app['events']->addSubscriber(new FrontpageListener());
     $app['events']->addSubscriber(new LocaleListener());
     $app['events']->addSubscriber(new LoginAttemptListener());
     $app['events']->addSubscriber(new MaintenanceListener());
     $app['events']->addSubscriber(new MenuListener());
     $app['events']->addSubscriber(new MigrationListener());
     $app['events']->addSubscriber(new ResponseListener());
     $app['events']->addSubscriber(new SystemListener());
     $app['events']->addSubscriber(new UserListener());
     $app['events']->addSubscriber(new WidgetListener());
     $app['events']->addSubscriber(new ThemeListener());
     $app['events']->addSubscriber(new ThemeWidgetListener());
     parent::boot($app);
     $this->mergeOptions();
     $app['system'] = $this;
     $app['menus'] = function () {
         return new MenuProvider();
     };
     $app['user'] = function ($app) {
         if (!($user = $app['auth']->getUser())) {
             $user = new UserEntity();
             $roles = $app['users']->getRoleRepository()->where(['id' => RoleInterface::ROLE_ANONYMOUS])->get();
             $user->setRoles($roles);
         }
         return $user;
     };
     $app['users'] = function () {
         return new UserProvider();
     };
     $app['permissions'] = function ($app) {
         return $app['events']->dispatch('system.permission', new PermissionEvent())->getPermissions();
     };
     $app['content'] = function () {
         return new ContentHelper();
     };
     $app['languages'] = function () {
         return new LanguageHelper();
     };
     $app['countries'] = function () {
         return new CountryHelper();
     };
     $app['system.info'] = function () {
         return new SystemInfoHelper();
     };
     $app['oauth'] = function () {
         return new OAuthHelper();
     };
     $app['dates'] = function ($app) {
         $manager = new DateHelper();
         $manager->setTimezone($app['option']->get('system:app.timezone', 'UTC'));
         $manager->setFormats([DateHelper::NONE => '', DateHelper::FULL => __('DATE_FULL'), DateHelper::LONG => __('DATE_LONG'), DateHelper::MEDIUM => __('DATE_MEDIUM'), DateHelper::SHORT => __('DATE_SHORT'), DateHelper::INTERVAL => __('DATE_INTERVAL')]);
         return $manager;
     };
     $app->extend('mailer', function ($mailer, $app) {
         $address = $app['config']->get('mail.from.address');
         $name = $app['config']->get('mail.from.name');
         $mailer->registerPlugin(new ImpersonatePlugin($address, $name));
         return $mailer;
     });
     if (isset($app['profiler'])) {
         $app->on('system.init', function () use($app) {
             $app['profiler']->add(new SystemDataCollector($app['system.info']), 'extension://system/views/profiler/toolbar/system.php', 'extension://system/views/profiler/panel/system.php', 50);
             $app['profiler']->add(new UserDataCollector($app['auth']), 'extension://system/views/profiler/toolbar/user.php', null, -20);
         });
     }
 }