From 75a08edc700e2e7b61651ff8bd276100890ca13d Mon Sep 17 00:00:00 2001 From: Dominik Pfennig <dominik@suma-ev.de> Date: Thu, 1 Sep 2016 07:52:28 +0200 Subject: [PATCH] =?UTF-8?q?Pagination=20f=C3=BCr=20Onenewspage=20implement?= =?UTF-8?q?iert?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/Models/parserSkripte/Onenewspage.php | 35 ++++++++++++++++++- .../parserSkripte/Onenewspagegermany.php | 35 ++++++++++++++++++- app/Models/parserSkripte/Onenewspagevideo.php | 34 +++++++++++++++++- 3 files changed, 101 insertions(+), 3 deletions(-) diff --git a/app/Models/parserSkripte/Onenewspage.php b/app/Models/parserSkripte/Onenewspage.php index 127378be6..1502c9c64 100644 --- a/app/Models/parserSkripte/Onenewspage.php +++ b/app/Models/parserSkripte/Onenewspage.php @@ -6,8 +6,10 @@ use App\Models\Searchengine; class Onenewspage extends Searchengine { - public $results = []; + public $results = []; + public $resultCount = 0; + private $offset = 0; public function __construct(\SimpleXMLElement $engine, \App\MetaGer $metager) { parent::__construct($engine, $metager); @@ -38,6 +40,37 @@ class Onenewspage extends Searchengine $this->counter ); } + if (count($this->results) > $this->resultCount) { + $this->resultCount += count($this->results); + } + + } + + public function getLast(\App\MetaGer $metager, $result) + { + if ($metager->getPage() <= 1) { + return; + } + + $last = new Onenewspage(simplexml_load_string($this->engine), $metager); + $last->resultCount = $this->resultCount; + $last->offset = $this->offset - $this->resultCount; + $last->getString .= "&o=" . $last->offset; + $last->hash = md5($last->host . $last->getString . $last->port . $last->name); + $this->last = $last; + } + + public function getNext(\App\MetaGer $metager, $result) + { + if (count($this->results) <= 0) { + return; + } + $next = new Onenewspage(simplexml_load_string($this->engine), $metager); + $next->resultCount = $this->resultCount; + $next->offset = $this->offset + $this->resultCount; + $next->getString .= "&o=" . $next->offset; + $next->hash = md5($next->host . $next->getString . $next->port . $next->name); + $this->next = $next; } } diff --git a/app/Models/parserSkripte/Onenewspagegermany.php b/app/Models/parserSkripte/Onenewspagegermany.php index 14585dd8f..6426787d1 100644 --- a/app/Models/parserSkripte/Onenewspagegermany.php +++ b/app/Models/parserSkripte/Onenewspagegermany.php @@ -7,8 +7,10 @@ use App\Models\Searchengine; class Onenewspagegermany extends Searchengine { - public $results = []; + public $results = []; + public $resultCount = 0; + private $offset = 0; public function __construct(\SimpleXMLElement $engine, \App\MetaGer $metager) { parent::__construct($engine, $metager); @@ -38,6 +40,37 @@ class Onenewspagegermany extends Searchengine } } + if (count($this->results) > $this->resultCount) { + $this->resultCount += count($this->results); + } + + } + + public function getLast(\App\MetaGer $metager, $result) + { + if ($metager->getPage() <= 1) { + return; + } + + $last = new Onenewspagegermany(simplexml_load_string($this->engine), $metager); + $last->resultCount = $this->resultCount; + $last->offset = $this->offset - $this->resultCount; + $last->getString .= "&o=" . $last->offset; + $last->hash = md5($last->host . $last->getString . $last->port . $last->name); + $this->last = $last; + } + + public function getNext(\App\MetaGer $metager, $result) + { + if (count($this->results) <= 0) { + return; + } + $next = new Onenewspagegermany(simplexml_load_string($this->engine), $metager); + $next->resultCount = $this->resultCount; + $next->offset = $this->offset + $this->resultCount; + $next->getString .= "&o=" . $next->offset; + $next->hash = md5($next->host . $next->getString . $next->port . $next->name); + $this->next = $next; } } diff --git a/app/Models/parserSkripte/Onenewspagevideo.php b/app/Models/parserSkripte/Onenewspagevideo.php index 52414dade..cf70a57eb 100644 --- a/app/Models/parserSkripte/Onenewspagevideo.php +++ b/app/Models/parserSkripte/Onenewspagevideo.php @@ -6,8 +6,10 @@ use App\Models\Searchengine; class Onenewspagevideo extends Searchengine { - public $results = []; + public $results = []; + public $resultCount = 0; + private $offset = 0; public function __construct(\SimpleXMLElement $engine, \App\MetaGer $metager) { parent::__construct($engine, $metager); @@ -37,6 +39,36 @@ class Onenewspagevideo extends Searchengine $this->counter ); } + if (count($this->results) > $this->resultCount) { + $this->resultCount += count($this->results); + } + } + + public function getLast(\App\MetaGer $metager, $result) + { + if ($metager->getPage() <= 1) { + return; + } + + $last = new Onenewspagevideo(simplexml_load_string($this->engine), $metager); + $last->resultCount = $this->resultCount; + $last->offset = $this->offset - $this->resultCount; + $last->getString .= "&o=" . $last->offset; + $last->hash = md5($last->host . $last->getString . $last->port . $last->name); + $this->last = $last; + } + + public function getNext(\App\MetaGer $metager, $result) + { + if (count($this->results) <= 0) { + return; + } + $next = new Onenewspagevideo(simplexml_load_string($this->engine), $metager); + $next->resultCount = $this->resultCount; + $next->offset = $this->offset + $this->resultCount; + $next->getString .= "&o=" . $next->offset; + $next->hash = md5($next->host . $next->getString . $next->port . $next->name); + $this->next = $next; } } -- GitLab