From 24fda20af14832202644c20b2b3e32a810d618d0 Mon Sep 17 00:00:00 2001 From: Benni Mack <benni@typo3.org> Date: Thu, 11 May 2017 08:26:58 +0200 Subject: [PATCH] [BUGFIX] Use DBAL Restrictions for index_config queries The IndexSearch repository calls $TSFE->sys_page->enableFields for queries on index_config which has very static information (deleted/hidden) which the default restriction container handles. Changing this code was simply forgotton to migrate to the restriction container. Resolves: #81188 Releases: master, 8.7 Change-Id: I159b4c2cf898e97b0e92fd2a57bcd30de0806146 Reviewed-on: https://review.typo3.org/52755 Tested-by: TYPO3com <no-reply@typo3.com> Reviewed-by: Anja Leichsenring <aleichsenring@ab-softlab.de> Tested-by: Anja Leichsenring <aleichsenring@ab-softlab.de> Reviewed-by: Jan Helke <typo3@helke.de> Tested-by: Jan Helke <typo3@helke.de> Reviewed-by: Christian Kuhn <lolli@schwarzbu.ch> Tested-by: Christian Kuhn <lolli@schwarzbu.ch> --- .../Domain/Repository/IndexSearchRepository.php | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/typo3/sysext/indexed_search/Classes/Domain/Repository/IndexSearchRepository.php b/typo3/sysext/indexed_search/Classes/Domain/Repository/IndexSearchRepository.php index 154ba8f723e2..160597cbe574 100644 --- a/typo3/sysext/indexed_search/Classes/Domain/Repository/IndexSearchRepository.php +++ b/typo3/sysext/indexed_search/Classes/Domain/Repository/IndexSearchRepository.php @@ -908,7 +908,6 @@ class IndexSearchRepository // First, look if the freeIndexUid is a meta configuration: $queryBuilder = GeneralUtility::makeInstance(ConnectionPool::class) ->getQueryBuilderForTable('index_config'); - $queryBuilder->getRestrictions()->removeAll(); $indexCfgRec = $queryBuilder->select('indexcfgs') ->from('index_config') ->where( @@ -916,8 +915,7 @@ class IndexSearchRepository $queryBuilder->expr()->eq( 'uid', $queryBuilder->createNamedParameter($freeIndexUid, \PDO::PARAM_INT) - ), - QueryHelper::stripLogicalOperatorPrefix($this->enableFields('index_config')) + ) ) ->execute() ->fetch(); @@ -931,14 +929,12 @@ class IndexSearchRepository $uid = (int)$uid; $queryBuilder = GeneralUtility::makeInstance(ConnectionPool::class) ->getQueryBuilderForTable('index_config'); - $queryBuilder->getRestrictions()->removeAll(); $queryBuilder->select('uid') - ->from('index_config') - ->where(QueryHelper::stripLogicalOperatorPrefix($this->enableFields('index_config'))); + ->from('index_config'); switch ($table) { case 'index_config': $idxRec = $queryBuilder - ->andWhere( + ->where( $queryBuilder->expr()->eq( 'uid', $queryBuilder->createNamedParameter($uid, \PDO::PARAM_INT) @@ -952,7 +948,7 @@ class IndexSearchRepository break; case 'pages': $indexCfgRecordsFromPid = $queryBuilder - ->andWhere( + ->where( $queryBuilder->expr()->eq( 'pid', $queryBuilder->createNamedParameter($uid, \PDO::PARAM_INT) -- GitLab