There seems to be a conflict with the captcha module. I'm not sure where the offense is. When captcha and mollom are enabled on the same site pages protected by the captcha module throw errors. Details at http://drupal.org/node/241248

CommentFileSizeAuthor
#1 241249_prerender_overwriting.patch709 bytessoxofaan

Comments

soxofaan’s picture

Category: bug » task
Status: Active » Needs review
StatusFileSize
new709 bytes

The problem was an obscure bug in CAPTCHA module (involving lost pre_render functions)
fixed by http://drupal.org/node/241248#comment-794193

However, the mollom.module has a related issue:
mollom_form_alter overwrites $form['#pre_render'] instead of appending to it

bryansd’s picture

Considering Mollom provides CAPTCHA, when needed, why would you need to have the CAPTCHA module enabled?

mfer’s picture

Priority: Normal » Critical

@BryanSD - I can't think of a really good reason unless someone wants to go with more than one.

The issue here is that the mollom is removing other pre_render function callbacks on all forms. This will affect other modules as well.

The troublesome code is in the function mollom_form_alter where it has:

if (!user_access('post with no checking')) {
  $form['#pre_render'] = array('mollom_captcha_prerender');
  $form['#validate']['mollom_validate'] = array();
}

The issue is line 323. It should read:

  $form['#pre_render'][] = 'mollom_captcha_prerender';

Ugh, to be stuck without being able to roll a patch.

dries’s picture

Status: Needs review » Fixed

Thanks for the fix. I've made the change and committed it to DRUPAL-5. According to Saxofaan, this is a non-issue in the DRUPAL-6 branch of Mollom.

Anonymous’s picture

Status: Fixed » Closed (fixed)

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