From 0c275da45665a3806b8476d6e65d62d95c9e7942 Mon Sep 17 00:00:00 2001 From: Andreas Fernandez <a.fernandez@scripting-base.de> Date: Tue, 15 Aug 2017 14:42:06 +0200 Subject: [PATCH] [BUGFIX] Catch error due to invalid record in Linkvalidator scheduler task Resolves: #82103 Releases: master, 8.7, 7.6 Change-Id: I3e04559c05381c49ab390dc3ad0d3eebddc5a57f Reviewed-on: https://review.typo3.org/53707 Tested-by: TYPO3com <no-reply@typo3.com> Reviewed-by: Joerg Boesche <typo3@joergboesche.de> Reviewed-by: Markus Klein <markus.klein@typo3.org> Reviewed-by: Frank Naegler <frank.naegler@typo3.org> Reviewed-by: Wouter Wolters <typo3@wouterwolters.nl> Tested-by: Wouter Wolters <typo3@wouterwolters.nl> Reviewed-by: Georg Ringer <georg.ringer@gmail.com> Tested-by: Georg Ringer <georg.ringer@gmail.com> --- typo3/sysext/linkvalidator/Classes/Task/ValidatorTask.php | 7 +++++++ .../linkvalidator/Resources/Private/Language/locallang.xlf | 3 +++ 2 files changed, 10 insertions(+) diff --git a/typo3/sysext/linkvalidator/Classes/Task/ValidatorTask.php b/typo3/sysext/linkvalidator/Classes/Task/ValidatorTask.php index 0de4b10bed52..e4f7b5d4c7aa 100644 --- a/typo3/sysext/linkvalidator/Classes/Task/ValidatorTask.php +++ b/typo3/sysext/linkvalidator/Classes/Task/ValidatorTask.php @@ -305,6 +305,7 @@ class ValidatorTask extends AbstractTask * * @param int $page Uid of the page to parse * @return string $pageSections Content of page section + * @throws \InvalidArgumentException */ protected function checkPageLinks($page) { @@ -321,6 +322,12 @@ class ValidatorTask extends AbstractTask $rootLineHidden = false; } else { $pageRow = BackendUtility::getRecord('pages', $page, '*', '', false); + if ($pageRow === null) { + throw new \InvalidArgumentException( + sprintf($this->getLanguageService()->sL($this->languageFile . ':tasks.error.invalidPageUid'), $page), + 1502800555 + ); + } $rootLineHidden = $processor->getRootLineIsHidden($pageRow); } if (!$rootLineHidden || $modTs['checkhidden'] == 1) { diff --git a/typo3/sysext/linkvalidator/Resources/Private/Language/locallang.xlf b/typo3/sysext/linkvalidator/Resources/Private/Language/locallang.xlf index 9af0f8c8adb6..9adf68e338ec 100644 --- a/typo3/sysext/linkvalidator/Resources/Private/Language/locallang.xlf +++ b/typo3/sysext/linkvalidator/Resources/Private/Language/locallang.xlf @@ -54,6 +54,9 @@ <trans-unit id="tasks.error.invalidEmailTemplateFile"> <source>The email template file is not existing!</source> </trans-unit> + <trans-unit id="tasks.error.invalidPageUid"> + <source>The given page id %d is invalid!</source> + </trans-unit> </body> </file> </xliff> -- GitLab