install(); $this->registerTranslations(); $this->registerConfig(); $this->registerViews(); } /** * Register the service provider. * * @return void */ public function register() { // register event provider for firing module-specific events $this->app->register('Modules\StaticPages\Providers\EventServiceProvider'); } /** * Method for installing module into database */ protected function install() { $handler = config('staticpages.handler'); $installedModules = Modules::getWithTranslations(); if (!isset($installedModules[$handler])) { // insert module into database Module::create([ 'handler' => $handler, 'name' => 'staticpages::module.name', 'description' => 'staticpages::module.description' ]); // insert action log types into database ActionLogType::create([ 'string_id' => 'staticpages::createNew', 'name' => 'staticpages::log.nameCreateNew', 'value' => 'staticpages::log.nameCreateNew' ]); ActionLogType::create([ 'string_id' => 'staticpages::edit', 'name' => 'staticpages::log.nameEdit', 'value' => 'staticpages::log.edit' ]); ActionLogType::create([ 'string_id' => 'staticpages::delete', 'name' => 'staticpages::log.nameDelete', 'value' => 'staticpages::log.delete' ]); ActionLogType::create([ 'string_id' => 'staticpages::makeDraft', 'name' => 'staticpages::log.nameMakeDraft', 'value' => 'staticpages::log.makeDraft' ]); ActionLogType::create([ 'string_id' => 'staticpages::publish', 'name' => 'staticpages::log.namePublish', 'value' => 'staticpages::log.publish' ]); } } /** * Register config. * * @return void */ protected function registerConfig() { $this->publishes([ __DIR__ . '/../Config/config.php' => config_path('staticpages.php'), ]); $this->mergeConfigFrom(__DIR__ . '/../Config/config.php', 'staticpages'); } /** * Register views. * * @return void */ public function registerViews() { $viewPath = base_path('resources/views/modules/staticpages'); $sourcePath = __DIR__ . '/../Resources/views'; $this->publishes([ $sourcePath => $viewPath ]); $this->loadViewsFrom(array_merge(array_map(function ($path) { return $path . '/modules/staticpages'; }, \Config::get('view.paths')), [$sourcePath]), 'staticpages'); } /** * Register translations. * * @return void */ public function registerTranslations() { $this->loadTranslationsFrom(__DIR__ . '/../Resources/lang', 'staticpages'); } }