From 0ac8c40c0a2439c07b81a59378a197f07f814274 Mon Sep 17 00:00:00 2001 From: Matthias Adrowski <matthias.adrowski@sgalinski.de> Date: Thu, 27 Jan 2022 17:12:47 +0100 Subject: [PATCH] [TASK] Fix last Issues, get index full working --- Classes/Paginator/QueryBuilderPaginator.php | 3 ++- .../ViewHelpers/Backend/ControlViewHelper.php | 21 +++++++++++++++---- 2 files changed, 19 insertions(+), 5 deletions(-) diff --git a/Classes/Paginator/QueryBuilderPaginator.php b/Classes/Paginator/QueryBuilderPaginator.php index 4dd6f50..5d9dd48 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 29079f3..c490812 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') { -- GitLab