diff --git a/app/Http/Controllers/FokiLoader.php b/app/Http/Controllers/FokiLoader.php
index bc450f053208ccad01d86438a4b82ed3fbd908b8..5b1a06713d667e43f9c96dac55545ccdf73a0f26 100644
--- a/app/Http/Controllers/FokiLoader.php
+++ b/app/Http/Controllers/FokiLoader.php
@@ -10,12 +10,12 @@ class FokiLoader
     {
         $sumaFile = "";
         if (App::isLocale('en')) {
-            $sumaFile = config_path() . "/sumas.xml";
+            $sumaFile = config_path() . "/sumasEn.xml";
         } else {
             $sumaFile = config_path() . "/sumas.xml";
         }
 
-        $xml   = simplexml_load_file($sumaFile);
+        $xml = simplexml_load_file($sumaFile);
         $sumas = $xml->xpath("suma");
 
         $foki = [];
@@ -24,13 +24,13 @@ class FokiLoader
                 if (isset($suma['type'])) {
                     $f = explode(",", $suma['type']->__toString());
                     foreach ($f as $tmp) {
-                        $displayName                             = $suma['displayName']->__toString();
-                        $url                                     = isset($suma['homepage']) ? $suma['homepage']->__toString() : "https://metager.de";
+                        $displayName = $suma['displayName']->__toString();
+                        $url = isset($suma['homepage']) ? $suma['homepage']->__toString() : "https://metager.de";
                         $foki[$tmp][$suma['name']->__toString()] = ['displayName' => $displayName, 'url' => $url];
                     }
                 } else {
-                    $displayName                                 = $suma['displayName']->__toString();
-                    $url                                         = isset($suma['homepage']) ? $suma['homepage']->__toString() : "https://metager.de";
+                    $displayName = $suma['displayName']->__toString();
+                    $url = isset($suma['homepage']) ? $suma['homepage']->__toString() : "https://metager.de";
                     $foki["andere"][$suma['name']->__toString()] = ['displayName' => $displayName, 'url' => $url];
                 }
             }
diff --git a/app/Http/Controllers/StartpageController.php b/app/Http/Controllers/StartpageController.php
index 5c0ef9397fe7d0d4e268f276e47bcc26a0a6ec32..b7f8608de80b78aa2d3954ff3f1cc8befb797632 100644
--- a/app/Http/Controllers/StartpageController.php
+++ b/app/Http/Controllers/StartpageController.php
@@ -5,8 +5,8 @@ namespace App\Http\Controllers;
 use App;
 use Illuminate\Http\Request;
 use Jenssegers\Agent\Agent;
-use Response;
 use LaravelLocalization;
+use Response;
 
 class StartpageController extends Controller
 {
@@ -20,7 +20,7 @@ class StartpageController extends Controller
     public function loadStartPage(Request $request)
     {
         $focusPages = [];
-        $theme      = "default";
+        $theme = "default";
 
         $optionParams = ['param_sprueche', 'param_newtab', 'param_maps', 'param_autocomplete', 'param_lang', 'param_key'];
         $option_values = [];
@@ -33,12 +33,12 @@ class StartpageController extends Controller
         }
 
         $autocomplete = 'on';
-        if(in_array('autocomplete', array_keys($option_values))) {
+        if (in_array('autocomplete', array_keys($option_values))) {
             $autocomplete = $option_values['autocomplete'];
         }
 
         $lang = LaravelLocalization::getCurrentLocale();
-        if ($lang === 'de') {
+        if ($lang === 'de' || $lang === "en") {
             $lang = 'all';
         }
 
@@ -78,9 +78,9 @@ class StartpageController extends Controller
 
     public function loadPlugin($params, $locale = "de")
     {
-        $params   = unserialize(base64_decode($params));
+        $params = unserialize(base64_decode($params));
         $requests = $params;
-        $params   = [];
+        $params = [];
         foreach ($requests as $key => $value) {
             if (strpos($key, "param_") === 0) {
                 $key = substr($key, strpos($key, "param_") + 6);
@@ -135,12 +135,12 @@ class StartpageController extends Controller
 
     public function berlin(Request $request)
     {
-        $link     = "";
+        $link = "";
         $password = "";
         if ($request->filled('eingabe')) {
             $password = getenv('berlin');
             $password = md5($request->input('eingabe') . " -host:userpage.fu-berlin.de" . $password);
-            $link     = "/meta/meta.ger3?eingabe=" . $request->input('eingabe') . " -host:userpage.fu-berlin.de&focus=web&password=" . $password . "&encoding=utf8&lang=all&site=fu-berlin.de&quicktips=off&out=results-with-style";
+            $link = "/meta/meta.ger3?eingabe=" . $request->input('eingabe') . " -host:userpage.fu-berlin.de&focus=web&password=" . $password . "&encoding=utf8&lang=all&site=fu-berlin.de&quicktips=off&out=results-with-style";
         }
         return view('berlin')
             ->with('title', 'Testseite für die FU-Berlin')
diff --git a/app/MetaGer.php b/app/MetaGer.php
index 57d89a841fd1ba1608578ce416f69c13ec96ba1e..c0d76f6cba6851f84fbe66ab5c41e5f2b4f31efa 100644
--- a/app/MetaGer.php
+++ b/app/MetaGer.php
@@ -34,6 +34,7 @@ class MetaGer
     protected $warnings = [];
     protected $errors = [];
     protected $addedHosts = [];
+    protected $availableFoki = [];
     protected $startCount = 0;
     protected $canCache = false;
     # Daten über die Abfrage$
@@ -525,6 +526,20 @@ class MetaGer
         $overtureEnabled = false;
         $sumaCount = 0;
 
+        /*
+        * Erstellt eine Liste mit Foki, die verfügbar sind
+        */
+        $this->availableFoki = [];
+        foreach ($sumas as $suma) {
+            $foki = explode(",", trim($suma["type"]));
+            foreach ($foki as $fokus) {
+                if (!empty($fokus)) {
+                    $this->availableFoki[$fokus] = "available";
+                }
+
+            }
+        }
+
         $isCustomSearch = $this->startsWith($this->fokus, 'focus_');
 
         # Im Falle einer Custom-Suche ohne mindestens einer selektierter Suchmaschine wird eine Web-Suche durchgeführt
@@ -646,7 +661,7 @@ class MetaGer
     public function sumaIsSelected($suma, $request, $custom)
     {
         if ($custom) {
-            if ($request->filled("engine_" . $suma["name"])) {
+            if ($request->filled("engine_" . strtolower($suma["name"]))) {
                 return true;
             }
         } else {
@@ -950,7 +965,7 @@ class MetaGer
         $this->fokus = $request->input('focus', 'web');
         # Suma-File
         if (App::isLocale("en")) {
-            $this->sumaFile = config_path() . "/sumas.xml";
+            $this->sumaFile = config_path() . "/sumasEn.xml";
         } else {
             $this->sumaFile = config_path() . "/sumas.xml";
         }
@@ -1561,6 +1576,12 @@ class MetaGer
         return $this->lang;
     }
 
+    public function getAvailableFoki()
+    {
+        return $this->availableFoki;
+    }
+
+
     public function getSprueche()
     {
         return $this->sprueche;
diff --git a/app/Models/Searchengine.php b/app/Models/Searchengine.php
index e537a164942d4e6811453fcdcbeac81c2acd2138..f3242cbc58d784fa5d133e39be4ab80ff83fb726 100644
--- a/app/Models/Searchengine.php
+++ b/app/Models/Searchengine.php
@@ -31,6 +31,9 @@ abstract class Searchengine
     public $startTime; # Die Zeit der Erstellung dieser Suchmaschine
     public $hash; # Der Hash-Wert dieser Suchmaschine
 
+    private $user; # Username für HTTP-Auth (falls angegeben)
+    private $password; # Passwort für HTTP-Auth (falls angegeben)
+
     public $fp; # Wird für Artefakte benötigt
     public $socketNumber = null; # Wird für Artefakte benötigt
     public $counter = 0; # Wird eventuell für Artefakte benötigt
diff --git a/app/Models/parserSkripte/Overture.php b/app/Models/parserSkripte/Overture.php
index 1cd0b69a9d577382cbe2886bed7e5313a44eba76..c54d531f2732facdd035c9dcab06b5e00e39faf4 100644
--- a/app/Models/parserSkripte/Overture.php
+++ b/app/Models/parserSkripte/Overture.php
@@ -25,10 +25,10 @@ class Overture extends Searchengine
 
             $results = $content->xpath('//Results/ResultSet[@id="inktomi"]/Listing');
             foreach ($results as $result) {
-                $title       = $result["title"];
-                $link        = $result->{"ClickUrl"}->__toString();
+                $title = $result["title"];
+                $link = $result->{"ClickUrl"}->__toString();
                 $anzeigeLink = $result["siteHost"];
-                $descr       = $result["description"];
+                $descr = $result["description"];
                 $this->counter++;
                 $this->results[] = new \App\Models\Result(
                     $this->engine,
@@ -36,7 +36,8 @@ class Overture extends Searchengine
                     $link,
                     $anzeigeLink,
                     $descr,
-                    $this->displayName,$this->homepage,
+                    $this->displayName,
+                    $this->homepage,
                     $this->counter
                 );
             }
@@ -44,10 +45,10 @@ class Overture extends Searchengine
             # Nun noch die Werbeergebnisse:
             $ads = $content->xpath('//Results/ResultSet[@id="searchResults"]/Listing');
             foreach ($ads as $ad) {
-                $title       = $ad["title"];
-                $link        = $ad->{"ClickUrl"}->__toString();
+                $title = $ad["title"];
+                $link = $ad->{"ClickUrl"}->__toString();
                 $anzeigeLink = $ad["siteHost"];
-                $descr       = $ad["description"];
+                $descr = $ad["description"];
                 $this->counter++;
                 $this->ads[] = new \App\Models\Result(
                     $this->engine,
@@ -55,7 +56,7 @@ class Overture extends Searchengine
                     $link,
                     $anzeigeLink,
                     $descr,
-                    $this->displayName,$this->homepage,
+                    $this->displayName, $this->homepage,
                     $this->counter
                 );
             }
@@ -87,9 +88,9 @@ class Overture extends Searchengine
         // Yahoo liefert, wenn es keine weiteren Ergebnisse hat immer wieder die gleichen Ergebnisse
         // Wir müssen also überprüfen, ob wir am Ende der Ergebnisse sind
         $resultCount = $content->xpath('//Results/ResultSet[@id="inktomi"]/MetaData/TotalHits');
-        $results     = $content->xpath('//Results/ResultSet[@id="inktomi"]/Listing');
+        $results = $content->xpath('//Results/ResultSet[@id="inktomi"]/Listing');
         if (isset($resultCount[0]) && sizeof($results) > 0) {
-            $resultCount      = intval($resultCount[0]->__toString());
+            $resultCount = intval($resultCount[0]->__toString());
             $lastResultOnPage = intval($results[sizeof($results) - 1]["rank"]);
             if ($resultCount <= $lastResultOnPage) {
                 return;
@@ -111,9 +112,9 @@ class Overture extends Searchengine
         }
 
         # Erstellen des neuen Suchmaschinenobjekts und anpassen des GetStrings:
-        $next            = new Overture(simplexml_load_string($this->engine), $metager);
+        $next = new Overture(simplexml_load_string($this->engine), $metager);
         $next->getString = preg_replace("/&Keywords=.*?&/si", "&", $next->getString) . "&" . $nextArgs;
-        $next->hash      = md5($next->host . $next->getString . $next->port . $next->name);
-        $this->next      = $next;
+        $next->hash = md5($next->host . $next->getString . $next->port . $next->name);
+        $this->next = $next;
     }
 }
diff --git a/app/Models/parserSkripte/Scopia.php b/app/Models/parserSkripte/Scopia.php
index b728de0bdd478007ac851ce5f8f7864bbe38cad3..8516eacb0d032c6ee774755c0fc7f3485effa08a 100644
--- a/app/Models/parserSkripte/Scopia.php
+++ b/app/Models/parserSkripte/Scopia.php
@@ -17,7 +17,10 @@ class Scopia extends Searchengine
     public function loadResults($result)
     {
         $result = html_entity_decode($result);
-        $result = str_replace("&", "&amp;", $result);
+        $result = preg_replace("/<description>(.*?)<\/description>/si", "<description><![CDATA[ $1 ]]></description>", $result);
+        $result = preg_replace("/<title>(.*?)<\/title>/si", "<title><![CDATA[ $1 ]]></title>", $result);
+        $result = preg_replace("/<url>(.*?)<\/url>/si", "<url><![CDATA[ $1 ]]></url>", $result);
+
         try {
 
             $content = simplexml_load_string($result);
@@ -38,7 +41,8 @@ class Scopia extends Searchengine
                     $link,
                     $anzeigeLink,
                     $descr,
-                    $this->gefVon,
+                    $this->displayName,
+                    $this->homepage,
                     $this->counter
                 );
             }
diff --git a/resources/views/parts/foki.blade.php b/resources/views/parts/foki.blade.php
index dfda2acf6e931550ca8100d369cf2fc037cfc46b..1b3746f1b50e9b680c3940ad20ea67d9c5662fa8 100644
--- a/resources/views/parts/foki.blade.php
+++ b/resources/views/parts/foki.blade.php
@@ -1,15 +1,23 @@
+@if( array_has($metager->getAvailableFoki(), "web"))
 <div id="web" @if($metager->getFokus() === "web")class="active"@endif>
 	<a href="@if($metager->getFokus() === "web")#@else{!!$metager->generateSearchLink('web')!!}@endif" target="_self" tabindex="2">@lang('index.foki.web')</a>
 </div>
+@endif
+@if( array_has($metager->getAvailableFoki(), "nachrichten"))
 <div id="nachrichten" @if($metager->getFokus() === "nachrichten")class="active"@endif>
 	<a href="@if($metager->getFokus() === "nachrichten")#@else{!!$metager->generateSearchLink('nachrichten')!!}@endif" target="_self" tabindex="3">@lang('index.foki.nachrichten')</a>
 </div>
+@endif
+@if( array_has($metager->getAvailableFoki(), "wissenschaft"))
 <div id="wissenschaft" @if($metager->getFokus() === "wissenschaft")class="active"@endif>
 	<a href="@if($metager->getFokus() === "wissenschaft")#@else{!!$metager->generateSearchLink('wissenschaft')!!}@endif" target="_self" tabindex="4">@lang('index.foki.wissenschaft')</a>
 </div>
+@endif
+@if( array_has($metager->getAvailableFoki(), "produktsuche"))
 <div id="produkte" @if($metager->getFokus() === "produktsuche")class="active"@endif>
 	<a href="@if($metager->getFokus() === "produktsuche")#@else{!!$metager->generateSearchLink('produktsuche')!!}@endif" target="_self" tabindex="5">@lang('index.foki.produkte')</a>
 </div>
+@endif
 <div id="maps">
 	<a href="https://maps.metager.de/map/{{ $metager->getQ() }}/9.7380161,52.37119740000003,12" target="_self" tabindex="6">@lang('index.foki.maps')</a>
 </div>