Commit c6903284 authored by Karl Hasselbring's avatar Karl Hasselbring
Browse files

Spezielle Fehlermeldung für leere Seitensuche eingefügt

parent a58f8995
...@@ -3,12 +3,12 @@ namespace App; ...@@ -3,12 +3,12 @@ namespace App;
use App; use App;
use Cache; use Cache;
use Carbon;
use Illuminate\Http\Request; use Illuminate\Http\Request;
use Illuminate\Support\Facades\Redis; use Illuminate\Support\Facades\Redis;
use Jenssegers\Agent\Agent; use Jenssegers\Agent\Agent;
use LaravelLocalization; use LaravelLocalization;
use Log; use Log;
use Carbon;
use Predis\Connection\ConnectionException; use Predis\Connection\ConnectionException;
class MetaGer class MetaGer
...@@ -53,6 +53,7 @@ class MetaGer ...@@ -53,6 +53,7 @@ class MetaGer
protected $domainsBlacklisted = []; protected $domainsBlacklisted = [];
protected $urlsBlacklisted = []; protected $urlsBlacklisted = [];
protected $url; protected $url;
protected $fullUrl;
protected $languageDetect; protected $languageDetect;
protected $verificationId; protected $verificationId;
protected $verificationCount; protected $verificationCount;
...@@ -306,7 +307,12 @@ class MetaGer ...@@ -306,7 +307,12 @@ class MetaGer
} }
if (count($this->results) <= 0) { if (count($this->results) <= 0) {
$this->errors[] = trans('metaGer.results.failed'); if (strlen($this->site) > 0) {
$no_sitesearch_query = str_replace(urlencode("site:" . $this->site), "", $this->fullUrl);
$this->errors[] = trans('metaGer.results.failedSitesearch', ['altSearch' => $no_sitesearch_query]);
} else {
$this->errors[] = trans('metaGer.results.failed');
}
} }
if ($this->canCache() && isset($this->next) && count($this->next) > 0 && count($this->results) > 0) { if ($this->canCache() && isset($this->next) && count($this->next) > 0 && count($this->results) > 0) {
...@@ -453,10 +459,11 @@ class MetaGer ...@@ -453,10 +459,11 @@ class MetaGer
return $results; return $results;
} }
public function humanVerification($results){ public function humanVerification($results)
{
# Let's check if we need to implement a redirect for human verification # Let's check if we need to implement a redirect for human verification
if($this->verificationCount > 10){ if ($this->verificationCount > 10) {
foreach($results as $result){ foreach ($results as $result) {
$link = $result->link; $link = $result->link;
$day = Carbon::now()->day; $day = Carbon::now()->day;
$pw = md5($this->verificationId . $day . $link . env("PROXY_PASSWORD")); $pw = md5($this->verificationId . $day . $link . env("PROXY_PASSWORD"));
...@@ -464,7 +471,7 @@ class MetaGer ...@@ -464,7 +471,7 @@ class MetaGer
$result->link = $url; $result->link = $url;
} }
return $results; return $results;
}else{ } else {
return $results; return $results;
} }
} }
...@@ -941,6 +948,7 @@ class MetaGer ...@@ -941,6 +948,7 @@ class MetaGer
$request->replace($input); $request->replace($input);
} }
$this->url = $request->url(); $this->url = $request->url();
$this->fullUrl = $request->fullUrl();
# Zunächst überprüfen wir die eingegebenen Einstellungen: # Zunächst überprüfen wir die eingegebenen Einstellungen:
# Fokus # Fokus
$this->fokus = $request->input('focus', 'web'); $this->fokus = $request->input('focus', 'web');
...@@ -955,7 +963,7 @@ class MetaGer ...@@ -955,7 +963,7 @@ class MetaGer
} }
# Sucheingabe # Sucheingabe
$this->eingabe = trim($request->input('eingabe', '')); $this->eingabe = trim($request->input('eingabe', ''));
$this->q = $this->eingabe; $this->q = $this->eingabe;
# IP # IP
$this->ip = $request->ip(); $this->ip = $request->ip();
# Unser erster Schritt wird sein, IP-Adresse und USER-Agent zu anonymisieren, damit # Unser erster Schritt wird sein, IP-Adresse und USER-Agent zu anonymisieren, damit
...@@ -1230,7 +1238,7 @@ class MetaGer ...@@ -1230,7 +1238,7 @@ class MetaGer
$tmp = $this->q; $tmp = $this->q;
// matches '[... ]"test satz"[ ...]' // matches '[... ]"test satz"[ ...]'
while (preg_match("/(^|.+\s)\"(.+)\"(?:\s(.+)|($))/si", $tmp, $match)) { while (preg_match("/(^|.+\s)\"(.+)\"(?:\s(.+)|($))/si", $tmp, $match)) {
$tmp = $match[1] . $match[3]; $tmp = $match[1] . $match[3];
$this->phrases[] = $match[2]; $this->phrases[] = $match[2];
} }
foreach ($this->phrases as $phrase) { foreach ($this->phrases as $phrase) {
......
<?php <?php
return [ return [
'results.failed' => 'Leider konnten wir zu Ihrer Sucheingabe keine passenden Ergebnisse finden.', 'results.failed' => 'Leider konnten wir zu Ihrer Sucheingabe keine passenden Ergebnisse finden.',
'results.failedSitesearch' => 'Leider konnten wir zu Ihrer Sucheingabe keine passenden Ergebnisse finden. Dies könnte daran liegen, dass Sie aktuell eine Suche ausführen, die sich auf Ergebnisse der Seite ":site" beschränkt. Wenn sie diese beschränkung entfernen möchten, klicken Sie hier: <a href=":altSearch">Neue Suche</a>',
'settings.noneSelected' => 'Achtung: Sie haben in ihren Einstellungen keine Suchmaschine ausgewählt.', 'settings.noneSelected' => 'Achtung: Sie haben in ihren Einstellungen keine Suchmaschine ausgewählt.',
'engines.noParser' => 'Beim Abfragen von :engine ist ein Fehler aufgetreten. Bitte benachrichtigen Sie uns unter: office@suma-ev.de', 'engines.noParser' => 'Beim Abfragen von :engine ist ein Fehler aufgetreten. Bitte benachrichtigen Sie uns unter: office@suma-ev.de',
'formdata.cantLoad' => 'Suma-File konnte nicht gefunden werden', 'formdata.cantLoad' => 'Suma-File konnte nicht gefunden werden',
'formdata.noSearch' => 'Achtung: Sie haben keinen Suchbegriff eingegeben. Sie können ihre Suchbegriffe oben eingeben und es erneut versuchen.', 'formdata.noSearch' => 'Achtung: Sie haben keinen Suchbegriff eingegeben. Sie können ihre Suchbegriffe oben eingeben und es erneut versuchen.',
'formdata.dartEurope' => 'Hinweis: Sie haben Dart-Europe aktiviert. Die Suche kann deshalb länger dauern und die maximale Suchzeit wurde auf 10 Sekunden hochgesetzt.', 'formdata.dartEurope' => 'Hinweis: Sie haben Dart-Europe aktiviert. Die Suche kann deshalb länger dauern und die maximale Suchzeit wurde auf 10 Sekunden hochgesetzt.',
'formdata.hostBlacklist' => 'Ergebnisse von folgenden Hosts werden nicht angezeigt: ":host"', 'formdata.hostBlacklist' => 'Ergebnisse von folgenden Hosts werden nicht angezeigt: ":host"',
'formdata.domainBlacklist' => 'Ergebnisse von folgenden Domains werden nicht angezeigt: ":domain"', 'formdata.domainBlacklist' => 'Ergebnisse von folgenden Domains werden nicht angezeigt: ":domain"',
'formdata.urlBlacklist' => 'Ergebnisse mit URLs, die ":url" beinhalten, werden nicht angezeigt', 'formdata.urlBlacklist' => 'Ergebnisse mit URLs, die ":url" beinhalten, werden nicht angezeigt',
'formdata.stopwords' => 'Sie machen eine Ausschlusssuche. Ergebnisse mit folgenden Wörtern werden nicht angezeigt: ":stopwords"', 'formdata.stopwords' => 'Sie machen eine Ausschlusssuche. Ergebnisse mit folgenden Wörtern werden nicht angezeigt: ":stopwords"',
'formdata.phrase' => 'Sie führen eine Phrasensuche durch: :phrase', 'formdata.phrase' => 'Sie führen eine Phrasensuche durch: :phrase',
'sitesearch.failed' => 'Sie wollten eine Sitesearch auf :site durchführen. Leider unterstützen die eingestellten Suchmaschinen diese nicht. Sie können die Sitesearch im Web-Fokus durchführen. Es werden ihnen Ergebnisse ohne Sitesearch angezeigt.', 'sitesearch.failed' => 'Sie wollten eine Sitesearch auf :site durchführen. Leider unterstützen die eingestellten Suchmaschinen diese nicht. Sie können die Sitesearch im Web-Fokus durchführen. Es werden ihnen Ergebnisse ohne Sitesearch angezeigt.',
'sitesearch.success' => 'Sie führen eine Sitesearch durch. Es werden nur Ergebnisse von der Seite: ":site" angezeigt.', 'sitesearch.success' => 'Sie führen eine Sitesearch durch. Es werden nur Ergebnisse von der Seite: ":site" angezeigt.',
'feedback' => 'Nichts Passendes dabei? Geben Sie uns Feedback: ', 'feedback' => 'Nichts Passendes dabei? Geben Sie uns Feedback: ',
]; ];
...@@ -3,8 +3,8 @@ ...@@ -3,8 +3,8 @@
<div class="alert alert-danger"> <div class="alert alert-danger">
<ul> <ul>
@foreach($errors as $error) @foreach($errors as $error)
<li>{{ $error }}</li> <li>{!! $error !!}</li>
@endforeach @endforeach
</ul> </ul>
</div> </div>
@endif @endif
\ No newline at end of file
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment