123 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			123 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php
 | |
| 
 | |
| namespace Modules\OfflinePayment\Providers;
 | |
| 
 | |
| use Illuminate\Support\ServiceProvider;
 | |
| use Illuminate\Database\Eloquent\Factory;
 | |
| 
 | |
| use App\Events\AdminMenuCreated;
 | |
| use Modules\OfflinePayment\Events\Handlers\OfflinePaymentAdminMenu;
 | |
| 
 | |
| use App\Events\PaymentGatewayListing;
 | |
| use Modules\OfflinePayment\Events\Handlers\OfflinePaymentGateway;
 | |
| 
 | |
| class OfflinePaymentServiceProvider extends ServiceProvider
 | |
| {
 | |
|     /**
 | |
|      * Indicates if loading of the provider is deferred.
 | |
|      *
 | |
|      * @var bool
 | |
|      */
 | |
|     protected $defer = false;
 | |
| 
 | |
|     /**
 | |
|      * Boot the application events.
 | |
|      *
 | |
|      * @return void
 | |
|      */
 | |
|     public function boot()
 | |
|     {
 | |
|         $this->registerTranslations();
 | |
|         $this->registerConfig();
 | |
|         $this->registerViews();
 | |
|         $this->registerFactories();
 | |
| 
 | |
|         $this->loadMigrationsFrom(__DIR__ . '/../Database/Migrations');
 | |
| 
 | |
|         $this->app['events']->listen(AdminMenuCreated::class, OfflinePaymentAdminMenu::class);
 | |
|         $this->app['events']->listen(PaymentGatewayListing::class, OfflinePaymentGateway::class);
 | |
|     }
 | |
| 
 | |
|     /**
 | |
|      * Register the service provider.
 | |
|      *
 | |
|      * @return void
 | |
|      */
 | |
|     public function register()
 | |
|     {
 | |
|         //
 | |
|     }
 | |
| 
 | |
|     /**
 | |
|      * Register config.
 | |
|      *
 | |
|      * @return void
 | |
|      */
 | |
|     protected function registerConfig()
 | |
|     {
 | |
|         $this->publishes([
 | |
|             __DIR__.'/../Config/config.php' => config_path('offlinepayment.php'),
 | |
|         ], 'config');
 | |
|         $this->mergeConfigFrom(
 | |
|             __DIR__.'/../Config/config.php', 'offlinepayment'
 | |
|         );
 | |
|     }
 | |
| 
 | |
|     /**
 | |
|      * Register views.
 | |
|      *
 | |
|      * @return void
 | |
|      */
 | |
|     public function registerViews()
 | |
|     {
 | |
|         $viewPath = resource_path('views/modules/offlinepayment');
 | |
| 
 | |
|         $sourcePath = __DIR__.'/../Resources/views';
 | |
| 
 | |
|         $this->publishes([
 | |
|             $sourcePath => $viewPath
 | |
|         ]);
 | |
| 
 | |
|         $this->loadViewsFrom(array_merge(array_map(function ($path) {
 | |
|             return $path . '/modules/offlinepayment';
 | |
|         }, \Config::get('view.paths')), [$sourcePath]), 'offlinepayment');
 | |
|     }
 | |
| 
 | |
|     /**
 | |
|      * Register translations.
 | |
|      *
 | |
|      * @return void
 | |
|      */
 | |
|     public function registerTranslations()
 | |
|     {
 | |
|         $langPath = resource_path('lang/modules/offlinepayment');
 | |
| 
 | |
|         if (is_dir($langPath)) {
 | |
|             $this->loadTranslationsFrom($langPath, 'offlinepayment');
 | |
|         } else {
 | |
|             $this->loadTranslationsFrom(__DIR__ .'/../Resources/lang', 'offlinepayment');
 | |
|         }
 | |
|     }
 | |
| 
 | |
|     /**
 | |
|      * Register an additional directory of factories.
 | |
|      * @source https://github.com/sebastiaanluca/laravel-resource-flow/blob/develop/src/Modules/ModuleServiceProvider.php#L66
 | |
|      */
 | |
|     public function registerFactories()
 | |
|     {
 | |
|         if (! app()->environment('production')) {
 | |
|             app(Factory::class)->load(__DIR__ . '/Database/factories');
 | |
|         }
 | |
|     }
 | |
| 
 | |
|     /**
 | |
|      * Get the services provided by the provider.
 | |
|      *
 | |
|      * @return array
 | |
|      */
 | |
|     public function provides()
 | |
|     {
 | |
|         return [];
 | |
|     }
 | |
| }
 |