From 64868010d454ca0f5e863a71f3e3e149f1dfa787 Mon Sep 17 00:00:00 2001 From: Olivier Legat Date: Sun, 11 Sep 2022 16:40:18 +0200 Subject: [PATCH] proper way for cinjecting view shares taking fresh migration into account --- app/Providers/AppServiceProvider.php | 48 ++++++++++++++++------------ 1 file changed, 28 insertions(+), 20 deletions(-) diff --git a/app/Providers/AppServiceProvider.php b/app/Providers/AppServiceProvider.php index 740f8ab..4954f32 100644 --- a/app/Providers/AppServiceProvider.php +++ b/app/Providers/AppServiceProvider.php @@ -9,6 +9,7 @@ use Illuminate\Support\Facades\View; use Illuminate\Support\ServiceProvider; use Illuminate\Support\Facades\Blade; use Illuminate\Pagination\Paginator; +use Illuminate\Support\Facades\Schema; use Illuminate\Support\Facades\URL; class AppServiceProvider extends ServiceProvider @@ -38,29 +39,36 @@ class AppServiceProvider extends ServiceProvider setlocale(LC_TIME, strtoupper(config('app.locale')) . "_" . config('app.locale') . '.utf8'); } - config([ - 'bosettings' => Setting::all() - ->keyBy('key') - // Key every setting by its name. - ->transform(function ($setting) { - return $setting->value; - // Return only the value. - }) - ->toArray() - // Make it an array. - ]); + if (Schema::hasTable('settings')) { + // The "settings" table exists... + config([ + 'bosettings' => Setting::all() + ->keyBy('key') + // Key every setting by its name. + ->transform(function ($setting) { + return $setting->value; + // Return only the value. + }) + ->toArray() + // Make it an array. + ]); - // On partage les ranges (gammes produit). - $ranges = Range::where('status', '1')->get(); - View::share('published_ranges', $ranges); + $front_settings = Setting::where('key', 'LIKE', 'theme_%')->get(); + // Front theme settings. + View::share('front_settings', $front_settings); + } - // On partage les tags. - $tags = Tag::where('status', '1')->orderBy('order', 'ASC')->get(); - View::share('published_tags', $tags); + if (Schema::hasTable('ranges')) { + // On partage les ranges (gammes produit). + $ranges = Range::where('status', '1')->get(); + View::share('published_ranges', $ranges); + } - $front_settings = Setting::where('key', 'LIKE', 'theme_%')->get(); - // Front theme settings. - View::share('front_settings', $front_settings); + if (Schema::hasTable('tags')) { + // On partage les tags. + $tags = Tag::where('status', '1')->orderBy('order', 'ASC')->get(); + View::share('published_tags', $tags); + } Blade::directive('fmt_currency', function ($expression) { return "