In the 7.x version of linkchecker.install, the hook_requirements returns a status message using "http requests". This looks like a copy of Drupal's own "HTTP request status" message from the system.install file.

Alsp, this causes a conflict with Drupal's message, which results in The copy in linkchecker conflicts with the Drupal message to overwrite it, causing a status message with erroneous "Array" text.

Support from Acquia helps fund testing for Drupal Acquia logo

Comments

arithmetric’s picture

Attached is a patch that removes hook_requirements() from linkchecker.install.

arithmetric’s picture

Status: Active » Needs review
hass’s picture

Status: Needs review » Closed (duplicate)
arithmetric’s picture

Status: Closed (duplicate) » Needs review

I agree that it is a core bug that the system status page can be messed up if two modules use the same key.

However, since Drupal 7's system module includes a check for HTTP requests, linkchecker doesn't need to do the same thing. For the sake of coding simplicity, why not remove the duplication?

hass’s picture

The status could have changed... that's why it tried again.

hass’s picture

Status: Needs review » Closed (duplicate)

I remember the reason. I'd like to show a Linkchecker status message on status page. System module only says it cannot check update status and linkchecker need to tell it cannot check any link without http requests.

dergachev’s picture

Version: 7.x-1.x-dev » 6.x-2.x-dev
Status: Closed (duplicate) » Needs review
FileSize
1.43 KB

OK I mean no disrespect, but hass is almost certainly wrong on this issue.
As far as I can tell, the fact that linkchecker.install DUPLICATES code from system.install is logically wrong, and causes the following problems:

  • Status Report page rendering breaks (as per above screenshot)
  • unnecessarily repeated checks to see whether drupal can issue HTTP requests
  • warning: strcmp() expects parameter 2 to be string, array given in /var/shared/sites/muhc/site/modules/system/system.module on line 1159. when visiting Status Report page (at least in PHP 5.3)

It might be the case that hass may been trying to workaround something buggy about core's 'http request' check (which is indeed complex and potentially buggy), but this workaround is no way to deal with that!!

I've re-rolled the patch from #1 against 6.x-2.x-dev, which fixes the problems for me.

I also notice that the 7.x-1.x branch doesn't seem to have this requirement checking, so this really seems to be only a 6.x issue.

hass’s picture

Status: Needs review » Fixed

Status: Fixed » Closed (fixed)

Automatically closed -- issue fixed for 2 weeks with no activity.