[BUGFIX] Pagination wrong in IndexedSearch 47/34647/2
authorMarkus Klein <klein.t3@reelworx.at>
Wed, 26 Nov 2014 17:39:36 +0000 (18:39 +0100)
committerMarkus Klein <klein.t3@reelworx.at>
Wed, 26 Nov 2014 18:51:07 +0000 (19:51 +0100)
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/34647
Reviewed-by: Markus Klein <klein.t3@reelworx.at>
Tested-by: Markus Klein <klein.t3@reelworx.at>
typo3/sysext/indexed_search/Classes/Controller/SearchFormController.php
typo3/sysext/indexed_search/Classes/ViewHelpers/PageBrowsingViewHelper.php

index 635cbfc..3b505b9 100644 (file)
@@ -1597,7 +1597,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
index 45121f0..b8e3e34 100644 (file)
@@ -39,7 +39,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 '';
@@ -58,7 +58,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) {