122 lines
		
	
	
		
			4.2 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			122 lines
		
	
	
		
			4.2 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php
 | |
| 
 | |
| namespace App\Providers;
 | |
| 
 | |
| use App\Model\Update\BarNotification;
 | |
| use Illuminate\Queue\Events\JobFailed;
 | |
| use Illuminate\Support\Facades\Route;
 | |
| use Illuminate\Support\ServiceProvider;
 | |
| use Laravel\Dusk\DuskServiceProvider;
 | |
| use Queue;
 | |
| use View;
 | |
| 
 | |
| class AppServiceProvider extends ServiceProvider
 | |
| {
 | |
|     /**
 | |
|      * Register any application services.
 | |
|      *
 | |
|      * This service provider is a great spot to register your various container
 | |
|      * bindings with the application. As you can see, we are registering our
 | |
|      * "Registrar" implementation here. You can add your own bindings too!
 | |
|      *
 | |
|      * @return void
 | |
|      */
 | |
|     public function register()
 | |
|     {
 | |
|         $this->app->bind('Illuminate\Contracts\Auth\Registrar');
 | |
|         require_once __DIR__.'/../Http/helpers.php';
 | |
|         if ($this->app->environment('local', 'testing')) {
 | |
|             $this->app->register(DuskServiceProvider::class);
 | |
|         }
 | |
|         // if (isInstall()) {
 | |
|         //     $this->plugin();
 | |
|         // }
 | |
|     }
 | |
| 
 | |
|     public function boot()
 | |
|     {
 | |
|         Queue::failing(function (JobFailed $event) {
 | |
|             loging('Failed Job - '.$event->connectionName, json_encode([$event->job->payload(), 'error' => $event->exception->getMessage().' file=>'.$event->exception->getFile().' line=>'.$event->exception->getLine()]));
 | |
|         });
 | |
|         Route::singularResourceParameters(false);
 | |
|         $this->composer();
 | |
|     }
 | |
| 
 | |
|     public function composer()
 | |
|     {
 | |
|         \View::composer('themes.default1.update.notification', function () {
 | |
|             $notification = new BarNotification();
 | |
|             $not = [
 | |
|                 'notification' => $notification->where('value', '!=', '')->get(),
 | |
|             ];
 | |
|             view()->share($not);
 | |
|         });
 | |
|     }
 | |
| 
 | |
|     public function plugin()
 | |
|     {
 | |
|         if (isPlugin('Ldap') && $this->isPluginDir('Ldap')) {
 | |
|             $this->app->register(\App\Plugins\Ldap\ServiceProvider::class);
 | |
|         }
 | |
|         if (isPlugin('Chat') && $this->isPluginDir('Chat')) {
 | |
|             $this->app->register(\App\Plugins\Chat\ServiceProvider::class);
 | |
|         }
 | |
|         if (isPlugin('Envato') && $this->isPluginDir('Envato')) {
 | |
|             $this->app->register(\App\Plugins\Envato\ServiceProvider::class);
 | |
|         }
 | |
|         if (isPlugin('Htrunk') && $this->isPluginDir('Htrunk')) {
 | |
|             $this->app->register(\App\Plugins\Htrunk\ServiceProvider::class);
 | |
|         }
 | |
|         if (isPlugin('HtrunkDocs') && $this->isPluginDir('HtrunkDocs')) {
 | |
|             $this->app->register(\App\Plugins\HtrunkDocs\ServiceProvider::class);
 | |
|         }
 | |
|         if (isPlugin('Licenses') && $this->isPluginDir('Licenses')) {
 | |
|             $this->app->register(\App\Plugins\Licenses\ServiceProvider::class);
 | |
|         }
 | |
|         if (isPlugin('Migration') && $this->isPluginDir('Migration')) {
 | |
|             $this->app->register(\App\Plugins\Migration\ServiceProvider::class);
 | |
|         }
 | |
|         if (isPlugin('Reseller') && $this->isPluginDir('Reseller')) {
 | |
|             $this->app->register(\App\Plugins\Reseller\ServiceProvider::class);
 | |
|         }
 | |
|         if (isPlugin('SMS') && $this->isPluginDir('SMS')) {
 | |
|             $this->app->register(\App\Plugins\SMS\ServiceProvider::class);
 | |
|         }
 | |
|         if (isPlugin('ServiceDesk') && $this->isPluginDir('ServiceDesk')) {
 | |
|             $this->app->register(\App\Plugins\ServiceDesk\ServiceProvider::class);
 | |
|         }
 | |
|         if (isPlugin('Social') && $this->isPluginDir('Social')) {
 | |
|             $this->app->register(\App\Plugins\Social\ServiceProvider::class);
 | |
|         }
 | |
|         if (isPlugin('Telephony') && $this->isPluginDir('Telephony')) {
 | |
|             $this->app->register(\App\Plugins\Telephony\ServiceProvider::class);
 | |
|         }
 | |
|         if (isPlugin('Zapier') && $this->isPluginDir('Zapier')) {
 | |
|             $this->app->register(\App\Plugins\Zapier\ServiceProvider::class);
 | |
|         }
 | |
|         if ($this->isModuleDir('Location')) {
 | |
|             $this->app->register(\App\Location\LocationServiceProvider::class);
 | |
|         }
 | |
|     }
 | |
| 
 | |
|     public function isPluginDir($name)
 | |
|     {
 | |
|         $check = false;
 | |
|         if (is_dir(app_path('Plugins'.DIRECTORY_SEPARATOR.$name))) {
 | |
|             $check = true;
 | |
|         }
 | |
| 
 | |
|         return $check;
 | |
|     }
 | |
| 
 | |
|     public function isModuleDir($name)
 | |
|     {
 | |
|         $check = false;
 | |
|         if (is_dir(app_path($name))) {
 | |
|             $check = true;
 | |
|         }
 | |
| 
 | |
|         return $check;
 | |
|     }
 | |
| }
 | 
