public function boot()
{
$this->publishes([__DIR__ . '/config/config.php' => config_path('laravel-widgets.php')]);
$routeConfig = ['namespace' => 'Arrilot\\Widgets\\Controllers', 'prefix' => 'arrilot', 'middleware' => $this->app['config']->get('laravel-widgets.route_middleware', [])];
if (!$this->app->routesAreCached()) {
$this->app['router']->group($routeConfig, function ($router) {
$router->get('load-widget', 'WidgetController@showWidget');
});
}
$omitParenthesis = version_compare($this->app->version(), '5.3', '<');
Blade::directive('widget', function ($expression) use($omitParenthesis) {
$expression = $omitParenthesis ? $expression : "({$expression})";
return "<?php echo app('arrilot.widget')->run{$expression}; ?>";
});
Blade::directive('asyncWidget', function ($expression) use($omitParenthesis) {
$expression = $omitParenthesis ? $expression : "({$expression})";
return "<?php echo app('arrilot.async-widget')->run{$expression}; ?>";
});
Blade::directive('widgetGroup', function ($expression) use($omitParenthesis) {
$expression = $omitParenthesis ? $expression : "({$expression})";
return "<?php echo app('arrilot.widget-group-collection')->group{$expression}->display(); ?>";
});
}