sonarrradarrplexorganizrnginxdashboardmuximuxlandingpagestartpagelandinghtpcserverhomepagesabnzbdheimdallembycouchpotatonzbgetbookmarkapplication-dashboard
		
		
		
		
			You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							70 lines
						
					
					
						
							2.1 KiB
						
					
					
				
			
		
		
		
			
			
			
				
					
				
				
					
				
			
		
		
	
	
							70 lines
						
					
					
						
							2.1 KiB
						
					
					
				
								<?php
							 | 
						|
								
							 | 
						|
								namespace App\Providers;
							 | 
						|
								
							 | 
						|
								use Illuminate\Support\ServiceProvider;
							 | 
						|
								use Artisan;
							 | 
						|
								use Schema;
							 | 
						|
								use App\Setting;
							 | 
						|
								
							 | 
						|
								class AppServiceProvider extends ServiceProvider
							 | 
						|
								{
							 | 
						|
								    /**
							 | 
						|
								     * Bootstrap any application services.
							 | 
						|
								     *
							 | 
						|
								     * @return void
							 | 
						|
								     */
							 | 
						|
								    public function boot()
							 | 
						|
								    {
							 | 
						|
								        $alt_bg = '';
							 | 
						|
								
							 | 
						|
								        if(!is_file(base_path('.env'))) {
							 | 
						|
								            touch(base_path('.env'));
							 | 
						|
								            Artisan::call('key:generate');
							 | 
						|
								        }
							 | 
						|
								        if(!is_file(database_path('app.sqlite'))) {
							 | 
						|
								            // first time setup
							 | 
						|
								            touch(database_path('app.sqlite'));
							 | 
						|
								            Artisan::call('migrate', array('--path' => 'database/migrations', '--force' => true, '--seed' => true));
							 | 
						|
								            //Cache
							 | 
						|
								            //Artisan::call('config:cache');
							 | 
						|
								            //Artisan::call('route:cache');
							 | 
						|
								        }
							 | 
						|
								        if(is_file(database_path('app.sqlite'))) {
							 | 
						|
								            if(Schema::hasTable('settings')) {
							 | 
						|
								                if($bg_image = Setting::fetch('background_image')) {
							 | 
						|
								                    $alt_bg = ' style="background-image: url(/storage/'.$bg_image.')"';
							 | 
						|
								                }
							 | 
						|
								
							 | 
						|
								                // check version to see if an upgrade is needed
							 | 
						|
								                $db_version = Setting::fetch('version');
							 | 
						|
								                $app_version = config('app.version');
							 | 
						|
								                if(version_compare($app_version, $db_version) == 1) { // app is higher than db, so need to run migrations etc
							 | 
						|
								                    Artisan::call('migrate', array('--path' => 'database/migrations', '--force' => true, '--seed' => true));                   
							 | 
						|
								                }
							 | 
						|
								            } else {
							 | 
						|
								                Artisan::call('migrate', array('--path' => 'database/migrations', '--force' => true, '--seed' => true)); 
							 | 
						|
								            }
							 | 
						|
								            $lang = Setting::fetch('language');
							 | 
						|
								            \App::setLocale($lang);
							 | 
						|
								
							 | 
						|
								        }
							 | 
						|
								        if(!is_file(public_path('storage'))) {
							 | 
						|
								            Artisan::call('storage:link');
							 | 
						|
								        }
							 | 
						|
								        view()->share('alt_bg', $alt_bg);
							 | 
						|
								
							 | 
						|
								    }
							 | 
						|
								
							 | 
						|
								    /**
							 | 
						|
								     * Register any application services.
							 | 
						|
								     *
							 | 
						|
								     * @return void
							 | 
						|
								     */
							 | 
						|
								    public function register()
							 | 
						|
								    {
							 | 
						|
								        $this->app->singleton('settings', function () {
							 | 
						|
								            return new Setting();
							 | 
						|
								        });
							 | 
						|
								    }
							 | 
						|
								}
							 | 
						|
								
							 |