diff --git a/typo3/sysext/core/Classes/Integrity/DatabaseIntegrityCheck.php b/typo3/sysext/core/Classes/Integrity/DatabaseIntegrityCheck.php index 1dfdd08681d68afc7ed673ec0c645dd4c783650a..ba5fed651ee32ae1073f83fa9dd42cf502363e0c 100644 --- a/typo3/sysext/core/Classes/Integrity/DatabaseIntegrityCheck.php +++ b/typo3/sysext/core/Classes/Integrity/DatabaseIntegrityCheck.php @@ -53,6 +53,11 @@ class DatabaseIntegrityCheck */ public $page_idArray = []; + /** + * @var array Will hold id/rec pairs from genTree() that are not default language + */ + protected $page_translatedPageIDArray = []; + /** * @var array */ @@ -92,6 +97,14 @@ class DatabaseIntegrityCheck */ public $lostPagesList = ''; + /** + * @return array + */ + public function getPageTranslatedPageIDArray(): array + { + return $this->page_translatedPageIDArray; + } + /** * Generates a list of Page-uid's that corresponds to the tables in the tree. * This list should ideally include all records in the pages-table. @@ -107,7 +120,7 @@ class DatabaseIntegrityCheck if (!$this->genTree_includeDeleted) { $queryBuilder->getRestrictions()->add(GeneralUtility::makeInstance(DeletedRestriction::class)); } - $queryBuilder->select('uid', 'title', 'doktype', 'deleted', 'hidden') + $queryBuilder->select('uid', 'title', 'doktype', 'deleted', 'hidden', 'sys_language_uid') ->from('pages') ->orderBy('sorting'); if ($versions) { @@ -126,7 +139,11 @@ class DatabaseIntegrityCheck while ($row = $result->fetch()) { $newID = $row['uid']; // Register various data for this item: - $this->page_idArray[$newID] = $row; + if ($row['sys_language_uid'] === 0) { + $this->page_idArray[$newID] = $row; + } else { + $this->page_translatedPageIDArray[$newID] = $row; + } $this->recStats['all_valid']['pages'][$newID] = $newID; if ($row['deleted']) { $this->recStats['deleted']['pages'][$newID] = $newID; diff --git a/typo3/sysext/lowlevel/Classes/Controller/DatabaseIntegrityController.php b/typo3/sysext/lowlevel/Classes/Controller/DatabaseIntegrityController.php index 5cc96505a6f8f01fd45c19a161522455992ca8e0..8cc6b9eb7710f63baca23d951de8a58343ad1012 100644 --- a/typo3/sysext/lowlevel/Classes/Controller/DatabaseIntegrityController.php +++ b/typo3/sysext/lowlevel/Classes/Controller/DatabaseIntegrityController.php @@ -378,6 +378,10 @@ class DatabaseIntegrityController 'icon' => $this->iconFactory->getIconForRecord('pages', [], Icon::SIZE_SMALL)->render(), 'count' => count($admin->page_idArray) ], + 'translated_pages' => [ + 'icon' => $this->iconFactory->getIconForRecord('pages', [], Icon::SIZE_SMALL)->render(), + 'count' => count($admin->getPageTranslatedPageIDArray()), + ], 'hidden_pages' => [ 'icon' => $this->iconFactory->getIconForRecord('pages', ['hidden' => 1], Icon::SIZE_SMALL)->render(), 'count' => $admin->recStats['hidden'] diff --git a/typo3/sysext/lowlevel/Resources/Private/Language/locallang.xlf b/typo3/sysext/lowlevel/Resources/Private/Language/locallang.xlf index 59178aa94e7fa885a77f1a6ca3b996dc73a0e59c..ebfa1a77d0523eeb4fb906cf292e3c99ac973846 100644 --- a/typo3/sysext/lowlevel/Resources/Private/Language/locallang.xlf +++ b/typo3/sysext/lowlevel/Resources/Private/Language/locallang.xlf @@ -226,7 +226,10 @@ <source>Pages</source> </trans-unit> <trans-unit id="total_pages"> - <source>Total number of pages</source> + <source>Total number of default language pages</source> + </trans-unit> + <trans-unit id="translated_pages"> + <source>Total number of translated pages</source> </trans-unit> <trans-unit id="deleted_pages"> <source>Marked-deleted pages</source>