From d4925ddbb43066a8752c791314d6d4fd0134d62d Mon Sep 17 00:00:00 2001 From: Morton Jonuschat <m.jonuschat@mojocode.de> Date: Mon, 18 Apr 2016 19:52:03 +0200 Subject: [PATCH] [TASK] Rename QueryContextType::NONE to QueryContextType::UNRESTRICTED This name change transports the intent of the query context better and makes it more intuitive to use. Instead of explicitly disabling all enable fields and the deleted flag using the following code: $queryBuilder->getQueryContext() ->setIgnoreEnableFields(true) ->setIncludeDeleted(true); the more descriptive predefined context can be used: $queryBuilder->getQueryContext()->setContext('unrestricted') Releases: master Resolves: #75751 Change-Id: I4d38a328c2b6707a32f26022b4abfc48e945c0ed Reviewed-on: https://review.typo3.org/47759 Reviewed-by: Andreas Fernandez <typo3@scripting-base.de> Reviewed-by: Georg Ringer <georg.ringer@gmail.com> Tested-by: Georg Ringer <georg.ringer@gmail.com> Reviewed-by: Susanne Moog <typo3@susannemoog.de> Tested-by: Susanne Moog <typo3@susannemoog.de> --- typo3/sysext/backend/Classes/History/RecordHistory.php | 8 +++----- .../sysext/core/Classes/Database/Query/QueryContext.php | 2 +- .../core/Classes/Database/Query/QueryContextType.php | 2 +- .../Classes/Database/Query/QueryRestrictionBuilder.php | 2 +- .../Unit/Database/Query/QueryRestrictionBuilderTest.php | 5 +++-- typo3/sysext/recycler/Classes/Domain/Model/Tables.php | 9 +++------ 6 files changed, 12 insertions(+), 16 deletions(-) diff --git a/typo3/sysext/backend/Classes/History/RecordHistory.php b/typo3/sysext/backend/Classes/History/RecordHistory.php index acd500115bd6..3a5fba8a2436 100644 --- a/typo3/sysext/backend/Classes/History/RecordHistory.php +++ b/typo3/sysext/backend/Classes/History/RecordHistory.php @@ -17,12 +17,12 @@ namespace TYPO3\CMS\Backend\History; use TYPO3\CMS\Backend\Utility\BackendUtility; use TYPO3\CMS\Core\Database\ConnectionPool; use TYPO3\CMS\Core\Database\Query\QueryBuilder; +use TYPO3\CMS\Core\Database\Query\QueryContextType; use TYPO3\CMS\Core\DataHandling\DataHandler; use TYPO3\CMS\Core\Imaging\Icon; use TYPO3\CMS\Core\Imaging\IconFactory; use TYPO3\CMS\Core\Utility\DiffUtility; use TYPO3\CMS\Core\Utility\GeneralUtility; -use TYPO3\CMS\Core\Utility\HttpUtility; use TYPO3\CMS\Fluid\View\StandaloneView; /** @@ -663,10 +663,8 @@ class RecordHistory // check if there are records on the page /** @var QueryBuilder $queryBuilder */ $queryBuilder = GeneralUtility::makeInstance(ConnectionPool::class)->getQueryBuilderForTable($tablename); - $queryBuilder - ->getQueryContext() - ->setIgnoreEnableFields(true) - ->setIncludeDeleted(true); + $queryBuilder->getQueryContext()->setContext(QueryContextType::UNRESTRICTED); + $rows = $queryBuilder ->select('uid') ->from($tablename) diff --git a/typo3/sysext/core/Classes/Database/Query/QueryContext.php b/typo3/sysext/core/Classes/Database/Query/QueryContext.php index 393924b38c3a..caf0e4d8ff06 100644 --- a/typo3/sysext/core/Classes/Database/Query/QueryContext.php +++ b/typo3/sysext/core/Classes/Database/Query/QueryContext.php @@ -147,7 +147,7 @@ class QueryContext } elseif (TYPO3_REQUESTTYPE & TYPO3_REQUESTTYPE_BE) { return QueryContextType::BACKEND; } else { - return QueryContextType::NONE; + return QueryContextType::UNRESTRICTED; } } diff --git a/typo3/sysext/core/Classes/Database/Query/QueryContextType.php b/typo3/sysext/core/Classes/Database/Query/QueryContextType.php index f716411036e3..6ca782d26215 100644 --- a/typo3/sysext/core/Classes/Database/Query/QueryContextType.php +++ b/typo3/sysext/core/Classes/Database/Query/QueryContextType.php @@ -27,7 +27,7 @@ class QueryContextType extends \TYPO3\CMS\Core\Type\Enumeration * Constants reflecting the query context type */ const AUTO = 'AUTO'; - const NONE = 'NONE'; + const UNRESTRICTED = 'UNRESTRICTED'; const FRONTEND = 'FRONTEND'; const BACKEND = 'BACKEND'; diff --git a/typo3/sysext/core/Classes/Database/Query/QueryRestrictionBuilder.php b/typo3/sysext/core/Classes/Database/Query/QueryRestrictionBuilder.php index d46da949c96c..4d6c560b9e9c 100644 --- a/typo3/sysext/core/Classes/Database/Query/QueryRestrictionBuilder.php +++ b/typo3/sysext/core/Classes/Database/Query/QueryRestrictionBuilder.php @@ -92,7 +92,7 @@ class QueryRestrictionBuilder return $this->getFrontendVisibilityRestrictions(); case QueryContextType::BACKEND: return $this->getBackendVisibilityConstraints(); - case QueryContextType::NONE: + case QueryContextType::UNRESTRICTED: return $this->expressionBuilder->andX(); default: throw new \RuntimeException( diff --git a/typo3/sysext/core/Tests/Unit/Database/Query/QueryRestrictionBuilderTest.php b/typo3/sysext/core/Tests/Unit/Database/Query/QueryRestrictionBuilderTest.php index e32b0702f784..2f5557242431 100644 --- a/typo3/sysext/core/Tests/Unit/Database/Query/QueryRestrictionBuilderTest.php +++ b/typo3/sysext/core/Tests/Unit/Database/Query/QueryRestrictionBuilderTest.php @@ -19,6 +19,7 @@ use Prophecy\Argument; use TYPO3\CMS\Core\Database\Connection; use TYPO3\CMS\Core\Database\Query\Expression\ExpressionBuilder; use TYPO3\CMS\Core\Database\Query\QueryContext; +use TYPO3\CMS\Core\Database\Query\QueryContextType; use TYPO3\CMS\Core\Database\Query\QueryRestrictionBuilder; use TYPO3\CMS\Core\Tests\Unit\Database\Mocks\MockPlatform; use TYPO3\CMS\Core\Tests\UnitTestCase; @@ -85,9 +86,9 @@ class QueryRestrictionBuilderTest extends UnitTestCase /** * @test */ - public function getVisibilityConstraintsReturnsEmptyConstraintForNoneContext() + public function getVisibilityConstraintsReturnsEmptyConstraintForUnrestrictedContext() { - $this->queryContext->setContext('none'); + $this->queryContext->setContext(QueryContextType::UNRESTRICTED); $subject = GeneralUtility::makeInstance( QueryRestrictionBuilder::class, diff --git a/typo3/sysext/recycler/Classes/Domain/Model/Tables.php b/typo3/sysext/recycler/Classes/Domain/Model/Tables.php index e0670131feaf..a17270ec37f6 100644 --- a/typo3/sysext/recycler/Classes/Domain/Model/Tables.php +++ b/typo3/sysext/recycler/Classes/Domain/Model/Tables.php @@ -14,9 +14,9 @@ namespace TYPO3\CMS\Recycler\Domain\Model; * The TYPO3 project - inspiring people to share! */ -use TYPO3\CMS\Core\Utility\GeneralUtility; -use TYPO3\CMS\Core\Database\Connection; use TYPO3\CMS\Core\Database\ConnectionPool; +use TYPO3\CMS\Core\Database\Query\QueryContextType; +use TYPO3\CMS\Core\Utility\GeneralUtility; use TYPO3\CMS\Recycler\Utility\RecyclerUtility; /** @@ -42,10 +42,7 @@ class Tables if ($deletedField) { // Determine whether the table has deleted records: $queryBuilder = $connection->getQueryBuilderForTable($tableName); - $queryBuilder - ->getQueryContext() - ->setIgnoreEnableFields(true) - ->setIncludeDeleted(true); + $queryBuilder->getQueryContext()->setContext(QueryContextType::UNRESTRICTED); $deletedCount = $queryBuilder->count('uid') ->from($tableName) -- GitLab