From 2cab70c7dc441b931becc720bea8561dbf5f0443 Mon Sep 17 00:00:00 2001 From: Dominik Hebeler <dominik@suma-ev.de> Date: Thu, 23 Jan 2020 13:54:58 +0100 Subject: [PATCH] Fixed resultloader --- app/Http/Controllers/MetaGerSearch.php | 37 ++++++++++++++++---------- app/MetaGer.php | 1 + app/Models/Searchengine.php | 4 +-- resources/js/scriptResultPage.js | 2 +- 4 files changed, 27 insertions(+), 17 deletions(-) diff --git a/app/Http/Controllers/MetaGerSearch.php b/app/Http/Controllers/MetaGerSearch.php index 377de9311..134b92bed 100644 --- a/app/Http/Controllers/MetaGerSearch.php +++ b/app/Http/Controllers/MetaGerSearch.php @@ -63,7 +63,15 @@ class MetaGerSearch extends Controller # Ergebnisse der Suchmaschinen kombinieren: $metager->prepareResults(); - \App\CacheHelper::put($metager->getSearchUid(), $metager->getEngines(), 1 * 60); + $finished = true; + foreach ($metager->getEngines() as $engine) { + if ($engine->loaded) { + $engine->setNew(false); + $engine->markNew(); + } + } + + \App\CacheHelper::put("loader_" . $metager->getSearchUid(), $metager->getEngines(), 60 * 60); # Die Ausgabe erstellen: $resultpage = $metager->createView($quicktipResults); @@ -112,18 +120,7 @@ class MetaGerSearch extends Controller return response()->json(['finished' => true]); } - // Mark all engines that are already loaded - $finished = true; - foreach ($engines as $engine) { - if ($engine->loaded) { - $engine->setNew(false); - } else { - $finished = false; - $engine->setNew(true); - } - } - - $metager = new MetaGer($hash); + $metager = new MetaGer(substr($hash, strpos($hash, "loader_") + 7)); $metager->parseFormData($request); # Nach Spezialsuchen überprüfen: @@ -156,8 +153,20 @@ class MetaGerSearch extends Controller } } + $finished = true; + foreach ($engines as $engine) { + if (!$engine->loaded) { + $finished = false; + } else { + $engine->setNew(false); + $engine->markNew(); + } + } + + $result["finished"] = $finished; + // Update new Engines - \App\CacheHelper::put($metager->getSearchUid(), $metager->getEngines(), 1 * 60); + \App\CacheHelper::put("loader_" . $metager->getSearchUid(), $metager->getEngines(), 1 * 60); return response()->json($result); } diff --git a/app/MetaGer.php b/app/MetaGer.php index 6ff0a640c..01b358aae 100644 --- a/app/MetaGer.php +++ b/app/MetaGer.php @@ -71,6 +71,7 @@ class MetaGer protected $verificationCount; protected $searchUid; protected $redisResultWaitingKey, $redisResultEngineList, $redisEngineResult, $redisCurrentResultList; + public $starttime; public function __construct($hash = "") { diff --git a/app/Models/Searchengine.php b/app/Models/Searchengine.php index a37e1ab72..e8a7a4817 100644 --- a/app/Models/Searchengine.php +++ b/app/Models/Searchengine.php @@ -51,7 +51,7 @@ abstract class Searchengine $this->useragent = $metager->getUserAgent(); $this->ip = $metager->getIp(); - $this->startTime = microtime(); + $this->startTime = microtime(true); # check for http Auth if (!empty($this->engine->{"http-auth-credentials"}->username) && !empty($this->engine->{"http-auth-credentials"}->password)) { $this->username = $this->engine->{"http-auth-credentials"}->username; @@ -192,7 +192,7 @@ abstract class Searchengine } } - protected function markNew() + public function markNew() { foreach ($this->results as $result) { $result->new = $this->new; diff --git a/resources/js/scriptResultPage.js b/resources/js/scriptResultPage.js index 7efde427d..9e899d7da 100644 --- a/resources/js/scriptResultPage.js +++ b/resources/js/scriptResultPage.js @@ -55,7 +55,7 @@ function enableFormResetter() { function loadMoreResults() { var searchKey = $("meta[name=searchkey]").attr("content"); var updateUrl = document.location.href; - updateUrl += "&loadMore=" + searchKey + "&script=yes"; + updateUrl += "&loadMore=loader_" + searchKey + "&script=yes"; updateUrl = updateUrl.replace("/meta.ger3", "/loadMore"); -- GitLab