From 343dafb8271750ce1332c710debbb10afde4274d Mon Sep 17 00:00:00 2001
From: Davide Aprea <davide@suma-ev.de>
Date: Tue, 24 Nov 2020 16:20:22 +0100
Subject: [PATCH] add pagination for dummy

---
 app/Models/parserSkripte/Dummy.php | 42 +++++++++++++++++++++++++++++-
 1 file changed, 41 insertions(+), 1 deletion(-)

diff --git a/app/Models/parserSkripte/Dummy.php b/app/Models/parserSkripte/Dummy.php
index 2f787c3f8..842a6b92f 100644
--- a/app/Models/parserSkripte/Dummy.php
+++ b/app/Models/parserSkripte/Dummy.php
@@ -40,7 +40,9 @@ class Dummy extends Searchengine
                         $this->counter
                     );
                 } catch (\ErrorException $e) {
-
+                    Log::error("A problem occurred parsing results from $this->name:");
+                    Log::error($e->getMessage());
+                    return;
                 }
             }
         } catch (\Exception $e) {
@@ -49,4 +51,42 @@ class Dummy extends Searchengine
             return;
         }
     }
+    public function getNext(\App\MetaGer $metager, $result)
+    {
+        try {
+            $results = json_decode($result);
+
+            $newEngine = unserialize(serialize($this->engine));
+
+            $perPage = 0;
+            if(isset($newEngine->{"get-parameter"}->count)){
+                $perPage = $newEngine->{"get-parameter"}->count;
+            } else {
+                $perPage = 10;
+            }
+
+            $offset = 0;
+            if(empty($newEngine->{"get-parameter"}->skip)){
+                $offset = $perPage;
+            } else {
+                $offset = $newEngine->{"get-parameter"}->skip + $perPage;
+            }
+
+            if (PHP_INT_MAX - $perPage < ($offset + $perPage)) {
+                return;
+            } else {
+                $newEngine->{"get-parameter"}->skip = $offset;
+            }
+
+            
+            $next = new Dummy($this->name, $newEngine, $metager);
+            $this->next = $next;
+
+        } catch (\Exception $e) {
+            Log::error("A problem occurred parsing results from $this->name:");
+            Log::error($e->getMessage());
+            return;
+        }
+
+    }
 }
\ No newline at end of file
-- 
GitLab