From fce29d5020b4691074585901800b83738208433c Mon Sep 17 00:00:00 2001
From: Karl <Karl Hasselbring>
Date: Wed, 14 Dec 2016 09:38:05 +0100
Subject: [PATCH] Next result methoden sind jetzt auch absturzsicherer, bei
 openclipart ist ein beispiel wie man alles komplett sichern kann

---
 app/Models/parserSkripte/Europeana.php    |  1 +
 app/Models/parserSkripte/Flickr.php       |  1 +
 app/Models/parserSkripte/Openclipart.php  | 69 ++++++++++++-----------
 app/Models/parserSkripte/Overture.php     |  1 +
 app/Models/parserSkripte/Pixabay.php      |  1 +
 app/Models/parserSkripte/Radiobrowser.php |  1 +
 app/Models/parserSkripte/Yandex.php       |  1 +
 7 files changed, 42 insertions(+), 33 deletions(-)

diff --git a/app/Models/parserSkripte/Europeana.php b/app/Models/parserSkripte/Europeana.php
index 2f3b80ee3..0225cc873 100644
--- a/app/Models/parserSkripte/Europeana.php
+++ b/app/Models/parserSkripte/Europeana.php
@@ -3,6 +3,7 @@
 namespace app\Models\parserSkripte;
 
 use App\Models\Searchengine;
+use Log;
 
 class Europeana extends Searchengine
 {
diff --git a/app/Models/parserSkripte/Flickr.php b/app/Models/parserSkripte/Flickr.php
index 49be5da20..744837e6c 100644
--- a/app/Models/parserSkripte/Flickr.php
+++ b/app/Models/parserSkripte/Flickr.php
@@ -3,6 +3,7 @@
 namespace app\Models\parserSkripte;
 
 use App\Models\Searchengine;
+use Log;
 
 class Flickr extends Searchengine
 {
diff --git a/app/Models/parserSkripte/Openclipart.php b/app/Models/parserSkripte/Openclipart.php
index 29ac91bc3..9836ed24d 100644
--- a/app/Models/parserSkripte/Openclipart.php
+++ b/app/Models/parserSkripte/Openclipart.php
@@ -3,6 +3,7 @@
 namespace app\Models\parserSkripte;
 
 use App\Models\Searchengine;
+use Log;
 
 class Openclipart extends Searchengine
 {
@@ -18,52 +19,54 @@ class Openclipart extends Searchengine
         $result = preg_replace("/\r\n/si", "", $result);
         try {
             $content = json_decode($result);
+            if (!$content) {
+                return;
+            }
+
+            $results = $content->payload;
+            foreach ($results as $result) {
+                $title       = $result->title;
+                $link        = $result->detail_link;
+                $anzeigeLink = $link;
+                $descr       = $result->description;
+                $image       = $result->svg->png_thumb;
+                $this->counter++;
+                $this->results[] = new \App\Models\Result(
+                    $this->engine,
+                    $title,
+                    $link,
+                    $anzeigeLink,
+                    $descr,
+                    $this->gefVon,
+                    $this->counter,
+                    false,
+                    $image
+                );
+            }
         } catch (\Exception $e) {
             Log::error("Results from $this->name are not a valid json string");
             return;
         }
-        if (!$content) {
-            return;
-        }
-        $results = $content->payload;
-        foreach ($results as $result) {
-            $title       = $result->title;
-            $link        = $result->detail_link;
-            $anzeigeLink = $link;
-            $descr       = $result->description;
-            $image       = $result->svg->png_thumb;
-            $this->counter++;
-            $this->results[] = new \App\Models\Result(
-                $this->engine,
-                $title,
-                $link,
-                $anzeigeLink,
-                $descr,
-                $this->gefVon,
-                $this->counter,
-                false,
-                $image
-            );
-        }
     }
 
     public function getNext(\App\MetaGer $metager, $result)
     {
         try {
             $content = json_decode($result);
+            if (!$content) {
+                return;
+            }
+
+            if ($content->info->current_page > $content->info->pages) {
+                return;
+            }
+            $next = new Openclipart(simplexml_load_string($this->engine), $metager);
+            $next->getString .= "&page=" . ($metager->getPage() + 1);
+            $next->hash = md5($next->host . $next->getString . $next->port . $next->name);
+            $this->next = $next;
         } catch (\Exception $e) {
             Log::error("Results from $this->name are not a valid json string");
             return;
         }
-        if (!$content) {
-            return;
-        }
-        if ($content->info->current_page > $content->info->pages) {
-            return;
-        }
-        $next = new Openclipart(simplexml_load_string($this->engine), $metager);
-        $next->getString .= "&page=" . ($metager->getPage() + 1);
-        $next->hash = md5($next->host . $next->getString . $next->port . $next->name);
-        $this->next = $next;
     }
 }
diff --git a/app/Models/parserSkripte/Overture.php b/app/Models/parserSkripte/Overture.php
index c3739b752..108e55690 100644
--- a/app/Models/parserSkripte/Overture.php
+++ b/app/Models/parserSkripte/Overture.php
@@ -3,6 +3,7 @@
 namespace app\Models\parserSkripte;
 
 use App\Models\Searchengine;
+use Log;
 
 class Overture extends Searchengine
 {
diff --git a/app/Models/parserSkripte/Pixabay.php b/app/Models/parserSkripte/Pixabay.php
index d50dc11aa..7ed67f4b5 100644
--- a/app/Models/parserSkripte/Pixabay.php
+++ b/app/Models/parserSkripte/Pixabay.php
@@ -3,6 +3,7 @@
 namespace app\Models\parserSkripte;
 
 use App\Models\Searchengine;
+use Log;
 
 class Pixabay extends Searchengine
 {
diff --git a/app/Models/parserSkripte/Radiobrowser.php b/app/Models/parserSkripte/Radiobrowser.php
index 015c6d22b..6e78eb1f9 100644
--- a/app/Models/parserSkripte/Radiobrowser.php
+++ b/app/Models/parserSkripte/Radiobrowser.php
@@ -3,6 +3,7 @@
 namespace app\Models\parserSkripte;
 
 use App\Models\Searchengine;
+use Log;
 
 class Radiobrowser extends Searchengine
 {
diff --git a/app/Models/parserSkripte/Yandex.php b/app/Models/parserSkripte/Yandex.php
index b8dd77138..6248297b2 100644
--- a/app/Models/parserSkripte/Yandex.php
+++ b/app/Models/parserSkripte/Yandex.php
@@ -3,6 +3,7 @@
 namespace app\Models\parserSkripte;
 
 use App\Models\Searchengine;
+use Log;
 
 class Yandex extends Searchengine
 {
-- 
GitLab