diff --git a/app/MetaGer.php b/app/MetaGer.php index 0a509284ef760260069891befe7718d39b85575e..fc7c408c1ced9471f9c5b365906c7a66969937a7 100644 --- a/app/MetaGer.php +++ b/app/MetaGer.php @@ -3,12 +3,12 @@ namespace App; use App; use Cache; +use Carbon; use Illuminate\Http\Request; use Illuminate\Support\Facades\Redis; use Jenssegers\Agent\Agent; use LaravelLocalization; use Log; -use Carbon; use Predis\Connection\ConnectionException; class MetaGer @@ -53,6 +53,7 @@ class MetaGer protected $domainsBlacklisted = []; protected $urlsBlacklisted = []; protected $url; + protected $fullUrl; protected $languageDetect; protected $verificationId; protected $verificationCount; @@ -306,7 +307,12 @@ class MetaGer } 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) { @@ -453,10 +459,11 @@ class MetaGer return $results; } - public function humanVerification($results){ + public function humanVerification($results) + { # Let's check if we need to implement a redirect for human verification - if($this->verificationCount > 10){ - foreach($results as $result){ + if ($this->verificationCount > 10) { + foreach ($results as $result) { $link = $result->link; $day = Carbon::now()->day; $pw = md5($this->verificationId . $day . $link . env("PROXY_PASSWORD")); @@ -464,7 +471,7 @@ class MetaGer $result->link = $url; } return $results; - }else{ + } else { return $results; } } @@ -941,6 +948,7 @@ class MetaGer $request->replace($input); } $this->url = $request->url(); + $this->fullUrl = $request->fullUrl(); # Zunächst überprüfen wir die eingegebenen Einstellungen: # Fokus $this->fokus = $request->input('focus', 'web'); @@ -955,7 +963,7 @@ class MetaGer } # Sucheingabe $this->eingabe = trim($request->input('eingabe', '')); - $this->q = $this->eingabe; + $this->q = $this->eingabe; # IP $this->ip = $request->ip(); # Unser erster Schritt wird sein, IP-Adresse und USER-Agent zu anonymisieren, damit @@ -1230,7 +1238,7 @@ class MetaGer $tmp = $this->q; // matches '[... ]"test satz"[ ...]' while (preg_match("/(^|.+\s)\"(.+)\"(?:\s(.+)|($))/si", $tmp, $match)) { - $tmp = $match[1] . $match[3]; + $tmp = $match[1] . $match[3]; $this->phrases[] = $match[2]; } foreach ($this->phrases as $phrase) { diff --git a/resources/lang/de/metaGer.php b/resources/lang/de/metaGer.php index 60c52e0acd5f7db3faf4b569beda9b290714658f..4668449ec948619ed7210db39f7b6893e21ccc33 100644 --- a/resources/lang/de/metaGer.php +++ b/resources/lang/de/metaGer.php @@ -1,22 +1,23 @@ <?php 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.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.hostBlacklist' => 'Ergebnisse von folgenden Hosts werden nicht angezeigt: ":host"', + '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.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.domainBlacklist' => 'Ergebnisse von folgenden Domains werden nicht angezeigt: ":domain"', - '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.phrase' => 'Sie führen eine Phrasensuche durch: :phrase', + '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.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.success' => 'Sie führen eine Sitesearch durch. Es werden nur Ergebnisse von der Seite: ":site" angezeigt.', - 'feedback' => 'Nichts Passendes dabei? Geben Sie uns Feedback: ', + '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.', + 'feedback' => 'Nichts Passendes dabei? Geben Sie uns Feedback: ', ]; diff --git a/resources/views/parts/errors.blade.php b/resources/views/parts/errors.blade.php index cf1e826af7b1b00f529177573741d87d2bfc6174..f40b8b0ef270f70b8e273adad4d8abbe7449deac 100644 --- a/resources/views/parts/errors.blade.php +++ b/resources/views/parts/errors.blade.php @@ -3,8 +3,8 @@ <div class="alert alert-danger"> <ul> @foreach($errors as $error) - <li>{{ $error }}</li> + <li>{!! $error !!}</li> @endforeach </ul> </div> -@endif \ No newline at end of file +@endif