From 71db419d5b2455685ab5e6b0f925aaf00179076c Mon Sep 17 00:00:00 2001
From: Dominik Pfennig <dominik@suma-ev.de>
Date: Wed, 30 Nov 2016 12:49:30 +0100
Subject: [PATCH] Wetter wird nur noch angezeigt, wenn der Ortsname exakt als
 Ergebnis vorkommt.

---
 app/Http/Controllers/MetaGerSearch.php | 52 +++++++++++++++-----------
 1 file changed, 31 insertions(+), 21 deletions(-)

diff --git a/app/Http/Controllers/MetaGerSearch.php b/app/Http/Controllers/MetaGerSearch.php
index 98b80f6d1..2b174f1de 100644
--- a/app/Http/Controllers/MetaGerSearch.php
+++ b/app/Http/Controllers/MetaGerSearch.php
@@ -96,28 +96,38 @@ class MetaGerSearch extends Controller
             }
 
             $result           = json_decode($this->get($url), true);
-            $weather          = [];
-            $weather["title"] = "Wetter in " . $result["name"];
-            $weather["URL"]   = "http://openweathermap.org/city/" . $result["id"];
-
-            $summary = '<b class="detail-short">' . $result["main"]["temp"] . " °C, " . $result["weather"][0]["description"] . "</b>";
-            $details = '<table  class="table table-condensed"><tr><td>Temperatur</td><td>' . $result["main"]["temp_min"] . " bis " . $result["main"]["temp_max"] . " °C</td></tr>";
-            $details .= "<tr><td>Druck</td><td>" . $result["main"]["pressure"] . " hPa</td></tr>";
-            $details .= "<tr><td>Luftfeuchtigkeit</td><td>" . $result["main"]["humidity"] . " %</td></tr>";
-            $details .= "<tr><td>Wind</td><td>" . $result["wind"]["speed"] . " m/s, " . $result["wind"]["deg"] . "°</td></tr>";
-            $details .= "<tr><td>Bewölkung</td><td>" . $result["clouds"]["all"] . " %</td></tr>";
-            if (isset($result->rain)) {
-                $details .= " | Regen letzte drei Stunden: " . $result["rain"]["3h"] . " h";
+            
+            $searchWords = explode(' ', $q);
+            $within = false;
+            foreach($q as $word){
+                if(stripos($word, $result["name"]) !== false){
+                    $within = true;
+                }
+            }
+            if($within){
+                $weather          = [];
+                $weather["title"] = "Wetter in " . $result["name"];
+                $weather["URL"]   = "http://openweathermap.org/city/" . $result["id"];
+    
+                $summary = '<b class="detail-short">' . $result["main"]["temp"] . " °C, " . $result["weather"][0]["description"] . "</b>";
+                $details = '<table  class="table table-condensed"><tr><td>Temperatur</td><td>' . $result["main"]["temp_min"] . " bis " . $result["main"]["temp_max"] . " °C</td></tr>";
+                $details .= "<tr><td>Druck</td><td>" . $result["main"]["pressure"] . " hPa</td></tr>";
+                $details .= "<tr><td>Luftfeuchtigkeit</td><td>" . $result["main"]["humidity"] . " %</td></tr>";
+                $details .= "<tr><td>Wind</td><td>" . $result["wind"]["speed"] . " m/s, " . $result["wind"]["deg"] . "°</td></tr>";
+                $details .= "<tr><td>Bewölkung</td><td>" . $result["clouds"]["all"] . " %</td></tr>";
+                if (isset($result->rain)) {
+                    $details .= " | Regen letzte drei Stunden: " . $result["rain"]["3h"] . " h";
+                }
+                $details .= "</table>";
+                $weather["summary"]   = $summary;
+                $weather["details"]   = $details;
+                $weather["gefVon"]    = "von <a href = \"https://openweathermap.org\" target=\"_blank\" rel=\"noopener\">Openweathermap</a>";
+                $requestData          = [];
+                $requestData["url"]   = "http://openweathermap.org/img/w/";
+                $weather["image"]     = action('Pictureproxy@get', $requestData) . $result["weather"][0]["icon"] . ".png";
+                $weather["image-alt"] = $result["weather"][0]["main"];
+                $mquicktips[]         = $weather;
             }
-            $details .= "</table>";
-            $weather["summary"]   = $summary;
-            $weather["details"]   = $details;
-            $weather["gefVon"]    = "von <a href = \"https://openweathermap.org\" target=\"_blank\" rel=\"noopener\">Openweathermap</a>";
-            $requestData          = [];
-            $requestData["url"]   = "http://openweathermap.org/img/w/";
-            $weather["image"]     = action('Pictureproxy@get', $requestData) . $result["weather"][0]["icon"] . ".png";
-            $weather["image-alt"] = $result["weather"][0]["main"];
-            $mquicktips[]         = $weather;
         } catch (\ErrorException $e) {
 
         }
-- 
GitLab