From c1cf12087dcf70bc232f62f70eeea9e9a8ba4eae Mon Sep 17 00:00:00 2001
From: Dominik Hebeler <dominik@suma-ev.de>
Date: Fri, 21 Sep 2018 15:35:34 +0200
Subject: [PATCH] We now catch the error in case of Database connection issues
 so that MetaGer works anyways

---
 app/Http/Controllers/StartpageController.php | 11 +++++++++++
 resources/views/index.blade.php              |  2 +-
 2 files changed, 12 insertions(+), 1 deletion(-)

diff --git a/app/Http/Controllers/StartpageController.php b/app/Http/Controllers/StartpageController.php
index b7f8608de..aeab97a45 100644
--- a/app/Http/Controllers/StartpageController.php
+++ b/app/Http/Controllers/StartpageController.php
@@ -7,6 +7,8 @@ use Illuminate\Http\Request;
 use Jenssegers\Agent\Agent;
 use LaravelLocalization;
 use Response;
+use DB;
+use Log;
 
 class StartpageController extends Controller
 {
@@ -41,6 +43,14 @@ class StartpageController extends Controller
         if ($lang === 'de' || $lang === "en") {
             $lang = 'all';
         }
+        
+        # Sponsorenlinks
+        $sponsors = [];
+        try{
+            $sponsors = DB::table('sponsorenlinks')->where('langcode', 'de')->orderByRaw('LENGTH(linktext)', 'ASC')->get();
+        } catch(\Illuminate\Database\QueryException $e){
+            Log::info($e);
+        }
 
         return view('index')
             ->with('title', trans('titles.index'))
@@ -52,6 +62,7 @@ class StartpageController extends Controller
             ->with('request', $request->input('request', 'GET'))
             ->with('option_values', $option_values)
             ->with('autocomplete', $autocomplete)
+            ->with('sponsors', $sponsors)
             ->with('pluginmodal', $request->input('plugin-modal', 'off'));
     }
 
diff --git a/resources/views/index.blade.php b/resources/views/index.blade.php
index b05c226df..5d0336606 100644
--- a/resources/views/index.blade.php
+++ b/resources/views/index.blade.php
@@ -25,7 +25,7 @@
 		<div id="sponsors">
 			<h2>{{ trans('index.sponsors.head.2') }}</h2>
 			<ul class="startpage">
-				@foreach(DB::table('sponsorenlinks')->where('langcode', 'de')->orderByRaw('LENGTH(linktext)', 'ASC')->get() as $link)
+				@foreach($sponsors as $link)
 				<li class="sponsor">
 					<a href="{{ $link->link }}" target="_blank" rel="noopener"><p>{{ $link->linktext }}</p> <i class="fa fa-external-link"></i></a>
 				</li>
-- 
GitLab