From 37117421e3e7ad8dabd4ff99762be8c7432a504b Mon Sep 17 00:00:00 2001
From: Stefan Galinski <stefan@sgalinski.de>
Date: Sat, 23 Oct 2021 19:25:25 +0200
Subject: [PATCH] [BUGFIX] Pagination throws 404 if no data is available,
 because of wrong type check

---
 Classes/Controller/ListByCategoryController.php | 2 +-
 Classes/Controller/OverviewController.php       | 6 +++---
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/Classes/Controller/ListByCategoryController.php b/Classes/Controller/ListByCategoryController.php
index 39df505..5be93e2 100644
--- a/Classes/Controller/ListByCategoryController.php
+++ b/Classes/Controller/ListByCategoryController.php
@@ -138,7 +138,7 @@ class ListByCategoryController extends AbstractController {
 		$newsPerPage = (int) $this->settings['newsLimitPerPage'];
 
 		$newsCount = $this->newsRepository->newsCountByCategories($categoryUids, $tagUids, $startTime, $endTime);
-		$numberOfPages = ($newsPerPage <= 0 ? 0 : ceil($newsCount / $newsPerPage));
+		$numberOfPages = (int) ($newsPerPage <= 0 ? 0 : ceil($newsCount / $newsPerPage));
 		if ($numberOfPages !== 0 && $currentPageBrowserPage >= $numberOfPages) {
 			/** @var ErrorController $errorController */
 			$errorController = GeneralUtility::makeInstance(ErrorController::class);
diff --git a/Classes/Controller/OverviewController.php b/Classes/Controller/OverviewController.php
index 79a608a..d3d589f 100644
--- a/Classes/Controller/OverviewController.php
+++ b/Classes/Controller/OverviewController.php
@@ -312,7 +312,7 @@ class OverviewController extends AbstractController {
 		$this->highlightBestFitNews($categoryIds);
 
 		$newsCount = $this->newsRepository->newsCountByCategories($categoryIds, $tagIds, $startTime, $endTime);
-		$numberOfPages = ($newsLimitPerCategory <= 0 ? 0 : ceil($newsCount / $newsLimitPerCategory));
+		$numberOfPages = (int) ($newsLimitPerCategory <= 0 ? 0 : ceil($newsCount / $newsLimitPerCategory));
 		if ($numberOfPages !== 0 && $currentPageBrowserPage >= $numberOfPages) {
 			/** @var ErrorController $errorController */
 			$errorController = GeneralUtility::makeInstance(ErrorController::class);
@@ -474,7 +474,7 @@ class OverviewController extends AbstractController {
 
 		// Check to achieve less Ajax calls.
 		$newsCount = $this->newsRepository->newsCountByCategories([], $tagIds, $startTime, $endTime);
-		$numberOfPages = ($newsLimitPerTag <= 0 ? 0 : ceil($newsCount / $newsLimitPerTag));
+		$numberOfPages = (int) ($newsLimitPerTag <= 0 ? 0 : ceil($newsCount / $newsLimitPerTag));
 		if ($numberOfPages !== 0 && $currentPageBrowserPage >= $numberOfPages) {
 			/** @var ErrorController $errorController */
 			$errorController = GeneralUtility::makeInstance(ErrorController::class);
@@ -614,7 +614,7 @@ class OverviewController extends AbstractController {
 		}
 
 		$this->highlightBestFitNews($categoryIds);
-		$numberOfPages = ($newsPerPage <= 0 ? 0 : ceil($newsCount / $newsPerPage));
+		$numberOfPages = (int) ($newsPerPage <= 0 ? 0 : ceil($newsCount / $newsPerPage));
 		if ($numberOfPages !== 0 && $currentPageBrowserPage >= $numberOfPages) {
 			/** @var ErrorController $errorController */
 			$errorController = GeneralUtility::makeInstance(ErrorController::class);
-- 
GitLab