diff --git a/src/Models/Zones/Zone.php b/src/Models/Zones/Zone.php index e00d899..cc6b683 100644 --- a/src/Models/Zones/Zone.php +++ b/src/Models/Zones/Zone.php @@ -293,14 +293,15 @@ public function allRRSets(?RRSetRequestOpts $requestOpts = null): array } $entities = []; $requestOpts->per_page = HetznerAPIClient::MAX_ENTITIES_PER_PAGE; - $max_pages = PHP_INT_MAX; - for ($i = 1; $i < $max_pages; $i++) { - $requestOpts->page = $i; + $page = 1; + while (true) { + $requestOpts->page = $page; $_f = $this->listRRSets($requestOpts); $entities = array_merge($entities, $_f->rrsets); - if ($_f->meta->pagination->page === $_f->meta->pagination->last_page || $_f->meta->pagination->last_page === null) { - $max_pages = 0; + if (!$_f->meta->pagination->next_page || $_f->meta->pagination->next_page <= $page) { + break; } + $page = $_f->meta->pagination->next_page; } return $entities;