Bug #103691
openRechecking links after edit in linkvalidator will always result in link being removed because of wrong linktypes
0%
Description
Reproduce¶
1. On pages with broken links, run "Check links" in the linkvalidator module
2. Jump to "Report" and click "edit" action button for one of the links
3. Change the link - but make sure it is still broken
4. Save and close
The broken links should now still be in the list of broken links, but it is removed
Analyze¶
The reason that this happens is that wrong linktypes array is passed to the function LinkAnalyzer::checkLinks.
In function checkLinks, compare value of second parameter $linkTypes.
1. On full check:
LinkvalidatorController calls LinkAnalyzer::getLinkStatistics()
with first parameter $linkTypes (which is a modified list of $this->checkOpt['check'] where the link type is the value, not the array
LinkAnalyzer::checkLinks is called with second parameter $linkTypes:
[ 0 => 'external' 1 => 'file' 2 => 'db' ]
2. On recheck
LinkvalidatorController calls LinkAnalyzer::recheckLinks()
with first parameter $this->checkOpt['check']
[ 'external' => 1 'file' => 1 'db' => 1 ]
Versions¶
- v11
- v12
- v13
Updated by Gerrit Code Review 7 months ago
- Status changed from New to Under Review
Patch set 7 for branch main of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/c/Packages/TYPO3.CMS/+/83613
Updated by Sybille Peters 7 months ago
- Priority changed from Should have to Must have
Updated by Gerrit Code Review about 1 month ago
Patch set 8 for branch main of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/c/Packages/TYPO3.CMS/+/83613