/** * {@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'); }
/** * {@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'); }); } }
/** * {@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); }); } }