From 5c39e5a975c7f8814f413b648273afbbdc75d2b6 Mon Sep 17 00:00:00 2001
From: Markus Klein <klein.t3@reelworx.at>
Date: Wed, 26 Nov 2014 18:39:36 +0100
Subject: [PATCH] [BUGFIX] Pagination wrong in IndexedSearch

Fix variable type issues in IndexedSearch pagination.
(classic and extbase VH)

This will ensure the CSS classes are correct again for current page and
next/prev page.

Resolves: #63350
Releases: master, 6.2
Change-Id: I6db4f2850ca9adc9d0aa07e908fc613036071676
Reviewed-on: http://review.typo3.org/34646
Reviewed-by: Wouter Wolters <typo3@wouterwolters.nl>
Tested-by: Wouter Wolters <typo3@wouterwolters.nl>
Reviewed-by: Markus Klein <klein.t3@reelworx.at>
Tested-by: Markus Klein <klein.t3@reelworx.at>
---
 .../Classes/Controller/SearchFormController.php               | 2 +-
 .../Classes/ViewHelpers/PageBrowsingViewHelper.php            | 4 ++--
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/typo3/sysext/indexed_search/Classes/Controller/SearchFormController.php b/typo3/sysext/indexed_search/Classes/Controller/SearchFormController.php
index 0cca36b69655..6ecd242a5683 100644
--- a/typo3/sysext/indexed_search/Classes/Controller/SearchFormController.php
+++ b/typo3/sysext/indexed_search/Classes/Controller/SearchFormController.php
@@ -1495,7 +1495,7 @@ class SearchFormController extends \TYPO3\CMS\Frontend\Plugin\AbstractPlugin {
 		$pointer = (int)$this->piVars['pointer'];
 		$count = (int)$this->internal['res_count'];
 		$results_at_a_time = \TYPO3\CMS\Core\Utility\MathUtility::forceIntegerInRange($this->internal['results_at_a_time'], 1, 1000);
-		$pageCount = ceil($count / $results_at_a_time);
+		$pageCount = (int)ceil($count / $results_at_a_time);
 
 		$links = array();
 		// only show the result browser if more than one page is needed
diff --git a/typo3/sysext/indexed_search/Classes/ViewHelpers/PageBrowsingViewHelper.php b/typo3/sysext/indexed_search/Classes/ViewHelpers/PageBrowsingViewHelper.php
index 050dd88e84ca..ddd9d6ab73c0 100644
--- a/typo3/sysext/indexed_search/Classes/ViewHelpers/PageBrowsingViewHelper.php
+++ b/typo3/sysext/indexed_search/Classes/ViewHelpers/PageBrowsingViewHelper.php
@@ -40,7 +40,7 @@ class PageBrowsingViewHelper extends \TYPO3\CMS\Fluid\Core\ViewHelper\AbstractVi
 	 * @return string The content
 	 */
 	public function render($maximumNumberOfResultPages, $numberOfResults, $resultsPerPage, $currentPage = 0, $freeIndexUid = NULL) {
-		$pageCount = ceil($numberOfResults / $resultsPerPage);
+		$pageCount = (int)ceil($numberOfResults / $resultsPerPage);
 		// only show the result browser if more than one page is needed
 		if ($pageCount === 1) {
 			return '';
@@ -59,7 +59,7 @@ class PageBrowsingViewHelper extends \TYPO3\CMS\Fluid\Core\ViewHelper\AbstractVi
 		// Check if $maximumNumberOfResultPages is in range
 		$maximumNumberOfResultPages = \TYPO3\CMS\Core\Utility\MathUtility::forceIntegerInRange($maximumNumberOfResultPages, 1, $pageCount, 10);
 		// Assume $currentPage is in the middle and calculate the index limits of the result page listing
-		$minPage = $currentPage - floor($maximumNumberOfResultPages / 2);
+		$minPage = $currentPage - (int)floor($maximumNumberOfResultPages / 2);
 		$maxPage = $minPage + $maximumNumberOfResultPages - 1;
 		// Check if the indexes are within the page limits
 		if ($minPage < 0) {
-- 
GitLab