Bug #103691
Updated by Sybille Peters 7 months ago
h2. 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
h2. 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:
<pre>
[
0 => 'external'
1 => 'file'
2 => 'db'
]
</pre>
2. On recheck
LinkvalidatorController calls LinkAnalyzer::recheckLinks()
with first parameter $this->checkOpt['check']
<pre>
[
'external' => 1
'file' => 1
'db' => 1
]
</pre>
h2. Versions
* v11
* v12
* v13