From a2412504213cd7a036a519f9199455fbc60a9436 Mon Sep 17 00:00:00 2001 From: Nicole Cordes <typo3@cordes.co> Date: Thu, 21 Jun 2018 10:43:31 +0200 Subject: [PATCH] [TASK] Revert "[BUGFIX] Honor l18n_cfg settings in PageRepository" This reverts commit 7e8a72cfde06597eca5c4d30ecbdb6b3ab7a541d. Handling l18n_cfg in PageRespository is the wrong place and breaks current core behaviour. The problem needs to be resolved somewhere else. Reverts: #85063 Resolves: #85339 Releases: master Change-Id: Ic61c64be8769ba85208efa7635dcb1f1cbaa2f08 Reviewed-on: https://review.typo3.org/57277 Tested-by: TYPO3com <no-reply@typo3.com> Reviewed-by: Benni Mack <benni@typo3.org> Tested-by: Benni Mack <benni@typo3.org> Reviewed-by: Nicole Cordes <typo3@cordes.co> Tested-by: Nicole Cordes <typo3@cordes.co> --- .../frontend/Classes/Page/PageRepository.php | 25 ++++++------------- .../Tests/Functional/Fixtures/pages.xml | 17 ------------- .../Functional/Page/PageRepositoryTest.php | 9 ------- 3 files changed, 7 insertions(+), 44 deletions(-) diff --git a/typo3/sysext/frontend/Classes/Page/PageRepository.php b/typo3/sysext/frontend/Classes/Page/PageRepository.php index 2a62d44ec186..5c82755afadb 100644 --- a/typo3/sysext/frontend/Classes/Page/PageRepository.php +++ b/typo3/sysext/frontend/Classes/Page/PageRepository.php @@ -235,7 +235,7 @@ class PageRepository implements LoggerAwareInterface * The page record is either served from a first-level cache or loaded from the * database. If no page can be found, an empty array is returned. * - * Language overlay and version overlay are applied. Mount Point + * Language overlay and versioning overlay are applied. Mount Point * handling is not done, an overlaid Mount Point is not replaced. * * The result is conditioned by the public properties where_groupAccess @@ -297,16 +297,9 @@ class PageRepository implements LoggerAwareInterface $row = $queryBuilder->execute()->fetch(); if ($row) { - $tsfe = $this->getTypoScriptFrontendController(); - if ($tsfe->sys_language_uid > 0 || !GeneralUtility::hideIfDefaultLanguage($row['l18n_cfg'])) { - $this->versionOL('pages', $row); - if (is_array($row)) { - $row = $this->getPageOverlay($row); - - if ($tsfe->sys_language_uid === 0 || isset($row['_PAGES_OVERLAY']) || !GeneralUtility::hideIfNotTranslated($row['l18n_cfg'])) { - $result = $row; - } - } + $this->versionOL('pages', $row); + if (is_array($row)) { + $result = $this->getPageOverlay($row); } } $this->cache_getPage[$uid][$cacheKey] = $result; @@ -734,10 +727,6 @@ class PageRepository implements LoggerAwareInterface $queryBuilder = GeneralUtility::makeInstance(ConnectionPool::class)->getQueryBuilderForTable('pages'); $queryBuilder->getRestrictions()->removeAll(); - // Always ensure fetching l18n_cfg for further processing - if ($fields !== '*' && !GeneralUtility::inList($fields, 'l18n_cfg')) { - $fields .= ',l18n_cfg'; - } $res = $queryBuilder->select(...GeneralUtility::trimExplode(',', $fields, true)) ->from('pages') ->where( @@ -768,9 +757,9 @@ class PageRepository implements LoggerAwareInterface // Versioning Preview Overlay $this->versionOL('pages', $page, true); - // Skip if page got disabled due to version overlay or default language should be hidden - // (might be deleted or move placeholder) - if (empty($page) || GeneralUtility::hideIfDefaultLanguage($page['l18n_cfg'])) { + // Skip if page got disabled due to version overlay + // (might be delete or move placeholder) + if (empty($page)) { continue; } diff --git a/typo3/sysext/frontend/Tests/Functional/Fixtures/pages.xml b/typo3/sysext/frontend/Tests/Functional/Fixtures/pages.xml index 40e7612bacfa..abb60ee80448 100644 --- a/typo3/sysext/frontend/Tests/Functional/Fixtures/pages.xml +++ b/typo3/sysext/frontend/Tests/Functional/Fixtures/pages.xml @@ -95,23 +95,6 @@ <perms_everybody>15</perms_everybody> </pages> - <pages> - <uid>501</uid> - <pid>1</pid> - <title>Localization 1-501</title> - <deleted>0</deleted> - <l18n_cfg>1</l18n_cfg> - </pages> - <pages> - <uid>502</uid> - <pid>1</pid> - <title>Ãœbersetzung 1-501</title> - <deleted>0</deleted> - <l10n_parent>501</l10n_parent> - <l18n_cfg>1</l18n_cfg> - <sys_language_uid>1</sys_language_uid> - </pages> - <pages> <uid>901</uid> <pid>0</pid> diff --git a/typo3/sysext/frontend/Tests/Functional/Page/PageRepositoryTest.php b/typo3/sysext/frontend/Tests/Functional/Page/PageRepositoryTest.php index c99603ac033b..b24b527a6a5e 100644 --- a/typo3/sysext/frontend/Tests/Functional/Page/PageRepositoryTest.php +++ b/typo3/sysext/frontend/Tests/Functional/Page/PageRepositoryTest.php @@ -95,15 +95,6 @@ class PageRepositoryTest extends \TYPO3\TestingFramework\Core\Functional\Functio $this->assertCount(5, $rows); } - /** - * @test - */ - public function getPageReturnsEmptyArrayWithHideIfDefaultLanguage() - { - $row = $this->pageRepo->getPage(501); - $this->assertSame([], $row); - } - /** * @test */ -- GitLab