Project

General

Profile

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

Back