diff --git a/Classes/Paginator/QueryBuilderPaginator.php b/Classes/Paginator/QueryBuilderPaginator.php index 4dd6f5009a77f2c95948c6be6bb3e65c99a05aa5..5d9dd48b349fab0a66ffed2baf914e2dd7a53694 100644 --- a/Classes/Paginator/QueryBuilderPaginator.php +++ b/Classes/Paginator/QueryBuilderPaginator.php @@ -67,7 +67,8 @@ final class QueryBuilderPaginator extends AbstractPaginator { } protected function getTotalAmountOfItems(): int { - $totalItems = $this->queryBuilder + $countBuilder = clone $this->queryBuilder; + $totalItems = $countBuilder ->setMaxResults(99999) ->setFirstResult(0) ->count('uid') diff --git a/Classes/ViewHelpers/Backend/ControlViewHelper.php b/Classes/ViewHelpers/Backend/ControlViewHelper.php index 29079f3cebbbf483ab0576f22380b8fe99561f53..c49081232943d6f2f552a00a57911eb1c24706be 100644 --- a/Classes/ViewHelpers/Backend/ControlViewHelper.php +++ b/Classes/ViewHelpers/Backend/ControlViewHelper.php @@ -65,9 +65,24 @@ class ControlViewHelper extends AbstractViewHelper { } $databaseRecordList = GeneralUtility::makeInstance(DatabaseRecordList::class); + if ($table === 'pages') { + if (version_compare(\TYPO3\CMS\Core\Utility\VersionNumberUtility::getCurrentTypo3Version(), '11.0.0', '<')) { + $databaseRecordList->searchlevels = 1; + } + else { + // searchLevels is Init with 0 and can only be set by using ->start + $databaseRecordList->start($row['uid'], $table, 0, '', 1, 1); + } + } + $backendUser = $GLOBALS['BE_USER']; $pageInfo = BackendUtility::readPageAccess($row['pid'], $backendUser->getPagePermsClause(1)); - $databaseRecordList->calcPerms = $GLOBALS['BE_USER']->calcPerms($pageInfo); + if (version_compare(\TYPO3\CMS\Core\Utility\VersionNumberUtility::getCurrentTypo3Version(), '11.0.0', '<')) { + $databaseRecordList->calcPerms = $GLOBALS['BE_USER']->calcPerms($pageInfo); + } + else { + $databaseRecordList->calcPerms = new \TYPO3\CMS\Core\Type\Bitmask\Permission($GLOBALS['BE_USER']->calcPerms($pageInfo)); + } $pageRenderer = GeneralUtility::makeInstance(PageRenderer::class); $pageRenderer->loadRequireJsModule('TYPO3/CMS/Backend/AjaxDataHandler'); $pageRenderer->addInlineLanguageLabelFile('EXT:backend/Resources/Private/Language/locallang_alt_doc.xlf'); @@ -75,9 +90,7 @@ class ControlViewHelper extends AbstractViewHelper { $languageService->includeLLFile('EXT:backend/Resources/Private/Language/locallang_alt_doc.xlf'); $databaseRecordList->currentTable = $sortingData; - if ($table === 'pages') { - $databaseRecordList->searchLevels = 1; - } + $out = $databaseRecordList->makeControl($table, $row); if ($table === 'pages') {