registerTranslations(); $this->registerConfig(); $this->registerViews(); } /** * Register the service provider. * * @return void */ public function register() { $registrator = $this->app->make('registerSettingsExtension'); $registrator->register('contactForm', 'contactform::module.name', 'contactform::admin.settings.form'); } /** * Register config. * * @return void */ protected function registerConfig() { $this->publishes([ __DIR__ . DIRECTORY_SEPARATOR.'..'.DIRECTORY_SEPARATOR.'Config'.DIRECTORY_SEPARATOR.'config.php' => config_path('contactform.php'), ]); $this->mergeConfigFrom(__DIR__ . DIRECTORY_SEPARATOR.'..'.DIRECTORY_SEPARATOR.'Config'.DIRECTORY_SEPARATOR.'config.php', 'contactform'); } /** * Register views. * * @return void */ public function registerViews() { $viewPath = base_path('resources'.DIRECTORY_SEPARATOR.'views'.DIRECTORY_SEPARATOR.'modules'.DIRECTORY_SEPARATOR.'contactform'); $sourcePath = __DIR__ . DIRECTORY_SEPARATOR.'..'.DIRECTORY_SEPARATOR.'Resources'.DIRECTORY_SEPARATOR.'views'; $this->publishes([$sourcePath => $viewPath]); $this->loadViewsFrom(array_merge(array_map(function ($path) { return $path . DIRECTORY_SEPARATOR.'modules'.DIRECTORY_SEPARATOR.'contactform'; }, \Config::get('view.paths')), [$sourcePath]), 'contactform'); /** * @var $registrator TemplateRegistrator */ $registrator = $this->app->make('registerTemplateDir'); try { // setup some global variables $registrator->setBaseDirectory('resources/views/modules/contactform/visitor'); $registrator->setNamespace('contactform'); $registrator->setModuleId(call_user_func([config('contactform.handler'), 'getModuleId'])); // register path with current template name $registrator->register(config('app.theme'), 'contactform::admin/adminMenu.templatePath'); } catch (InvalidArgumentException $e) { // ignore this exception } } /** * Register translations. * * @return void */ public function registerTranslations() { $this->loadTranslationsFrom(__DIR__ . DIRECTORY_SEPARATOR.'..'.DIRECTORY_SEPARATOR.'Resources'.DIRECTORY_SEPARATOR.'lang', 'contactform'); } /** * Get the services provided by the provider. * * @return array */ public function provides() { return array (); } }