From f3c51a115dca95d653d5fb07ea55fc2f90e7dd40 Mon Sep 17 00:00:00 2001 From: Karl <Karl Hasselbring> Date: Fri, 9 Sep 2016 12:59:34 +0200 Subject: [PATCH] Kleine Verbesserungen --- app/MetaGer.php | 51 +++++++++++++++++++++++++++++++++---------------- 1 file changed, 35 insertions(+), 16 deletions(-) diff --git a/app/MetaGer.php b/app/MetaGer.php index e42484e6e..06880db5f 100644 --- a/app/MetaGer.php +++ b/app/MetaGer.php @@ -156,17 +156,6 @@ class MetaGer } } - public function removeInvalids() - { - $results = []; - foreach ($this->results as $result) { - if ($result->isValid($this)) { - $results[] = $result; - } - - } - } - public function combineResults() { foreach ($this->engines as $engine) { @@ -362,6 +351,10 @@ class MetaGer return $results; } + /* + * Die Erstellung der Suchmaschinen bis die Ergebnisse da sind mit Unterfunktionen + */ + public function createSearchEngines(Request $request) { if (!$request->has("eingabe")) { @@ -375,6 +368,14 @@ class MetaGer $sumaCount = 0; $sumas = $xml->xpath("suma"); + /* Erstellt die Liste der eingestellten Sumas + * Der einzige Unterschied bei angepasstem Suchfokus ist, dass nicht nach den Typen einer Suma, sondern den im Request mitgegebenen Typen entschieden wird + * Ansonsten wird genau das selbe geprüft und gemacht: + * Handelt es sich um spezielle Suchmaschinen die immer an sein müssen + * Wenn es Overture ist vermerken dass Overture an ist + * Suma Zähler erhöhen + * Zu Liste hinzufügen + */ foreach ($sumas as $suma) { if ($this->fokus === "angepasst") { if ($request->has($suma["name"]) @@ -466,32 +467,35 @@ class MetaGer } else { foreach ($enabledSearchengines as $engine) { + # Wenn diese Suchmaschine gar nicht eingeschaltet sein soll if (!$siteSearchFailed && strlen($this->site) > 0 && (!isset($engine['hasSiteSearch']) || $engine['hasSiteSearch']->__toString() === "0")) { - continue; } - # Wenn diese Suchmaschine gar nicht eingeschaltet sein soll + + # Setze Pfad zu Parser $path = "App\Models\parserSkripte\\" . ucfirst($engine["package"]->__toString()); + # Prüfe ob Parser vorhanden if (!file_exists(app_path() . "/Models/parserSkripte/" . ucfirst($engine["package"]->__toString()) . ".php")) { Log::error("Konnte " . $engine["name"] . " nicht abfragen, da kein Parser existiert"); continue; } + # Es wird versucht die Suchengine zu erstellen $time = microtime(); - - try - { + try { $tmp = new $path($engine, $this); } catch (\ErrorException $e) { Log::error("Konnte " . $engine["name"] . " nicht abfragen." . var_dump($e)); continue; } + # Ausgabe bei Debug-Modus if ($tmp->enabled && isset($this->debug)) { $this->warnings[] = $tmp->service . " Connection_Time: " . $tmp->connection_time . " Write_Time: " . $tmp->write_time . " Insgesamt:" . ((microtime() - $time) / 1000); } + # Wenn die neu erstellte Engine eingeschaltet ist, wird sie der Liste hinzugefügt if ($tmp->isEnabled()) { $engines[] = $tmp; } @@ -654,6 +658,10 @@ class MetaGer $this->engines = $engines; } + /* + * Ende + */ + public function parseFormData(Request $request) { # Sichert, dass der request in UTF-8 formatiert ist @@ -864,6 +872,17 @@ class MetaGer # Hilfsfunktionen + public function removeInvalids() + { + $results = []; + foreach ($this->results as $result) { + if ($result->isValid($this)) { + $results[] = $result; + } + + } + } + public function showQuicktips() { return $this->quicktips; -- GitLab