Merge branch 'dev' into widget_menu
This commit is contained in:
@@ -11,20 +11,30 @@ use App\Handlers\Search\Content;
|
||||
use App\Handlers\Search\Files;
|
||||
use App\Handlers\Search\Presenters\AdminContent as AdminContentPresenter;
|
||||
use App\Handlers\Search\Presenters\AdminFiles;
|
||||
use App\Models\Template;
|
||||
use App\Widgets\HtmlCode\HtmlCode;
|
||||
use App\Widgets\Menu\Extensions\URL;
|
||||
use App\Widgets\Menu\Menu;
|
||||
use App\Widgets\OrbitSlider\OrbitSlider;
|
||||
use Illuminate\Support\Facades\App;
|
||||
use Illuminate\Support\Facades\File;
|
||||
use Illuminate\Support\ServiceProvider;
|
||||
|
||||
class AppServiceProvider extends ServiceProvider
|
||||
{
|
||||
/**
|
||||
* Bootstrap any application services.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function boot()
|
||||
{
|
||||
// ignore running from artisan
|
||||
if (App::runningInConsole()) {
|
||||
$this->publishViewResources();
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
$this->registerWidgets();
|
||||
$this->registerTemplates();
|
||||
$this->registerSettings();
|
||||
@@ -33,7 +43,6 @@ class AppServiceProvider extends ServiceProvider
|
||||
|
||||
/**
|
||||
* Register any application services.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function register()
|
||||
@@ -87,6 +96,7 @@ class AppServiceProvider extends ServiceProvider
|
||||
// register some menu extensions
|
||||
$menuExtensions = $this->app->make('registerMenuExtension');
|
||||
$menuExtensions->register(new URL());
|
||||
$registrator->register(OrbitSlider::class);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -121,7 +131,48 @@ class AppServiceProvider extends ServiceProvider
|
||||
{
|
||||
$registrator = $this->app->make('registerSearchEngine');
|
||||
|
||||
$registrator->register(new Content(), new AdminContentPresenter());
|
||||
$registrator->register(new Files(), new AdminFiles());
|
||||
$registrator->register(new Content(), new AdminContentPresenter(), SearchEngineRegistrator::ADMIN);
|
||||
$registrator->register(new Files(), new AdminFiles(), SearchEngineRegistrator::ADMIN);
|
||||
}
|
||||
|
||||
/**
|
||||
* Publish all public assets from all themes
|
||||
*/
|
||||
private function publishViewResources()
|
||||
{
|
||||
$themes = File::directories(resource_path('views/visitor'));
|
||||
|
||||
$assets = [];
|
||||
foreach ($themes as $theme) {
|
||||
$themeName = basename($theme);
|
||||
|
||||
if (is_dir($theme . '/'.Template::ASSETS_DIRECTORY)) {
|
||||
$assets[$theme . '/'.Template::ASSETS_DIRECTORY] = public_path('assets/' . $themeName);
|
||||
}
|
||||
|
||||
if (is_dir($theme . '/'.Template::MODULES_DIRECTORY)) {
|
||||
$this->publishModuleViews($theme . '/'.Template::MODULES_DIRECTORY, $themeName);
|
||||
}
|
||||
}
|
||||
|
||||
if (!empty($assets)) {
|
||||
$this->publishes($assets, 'public-assets');
|
||||
}
|
||||
}
|
||||
|
||||
private function publishModuleViews($themeModules, $themeName)
|
||||
{
|
||||
$modules = File::directories($themeModules);
|
||||
|
||||
$moduleViews = [];
|
||||
foreach ($modules as $module) {
|
||||
$moduleName = strtolower(basename($module));
|
||||
|
||||
$moduleViews[$module] = resource_path('views/modules/' . $moduleName . '/visitor/' . $themeName);
|
||||
}
|
||||
|
||||
if (!empty($moduleViews)) {
|
||||
$this->publishes($moduleViews, 'module-views');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user