Hi,
In the validate case in comment_nodeapi, there is currently the following:
if (!user_access('administer nodes')) {
// Force default for normal users:
$node->comment = variable_get("comment_$node->type", 2);
}
The check for 'adminster nodes' should instead be for 'administer comments'. As seen in the 'form admin' case, the comment options are only output if the user has 'administer comments' permission:
if (user_access('administer comments')) {
$selected = isset($node->comment) ? $node->comment : variable_get("comment_$node->type", 2);
$output = form_radios('', 'comment', $selected, array(t('Disabled'), t('Read only'), t('Read/write')));
return form_group(t('User comments'), $output);
}
So, the bug I ran into was with users who had 'administer nodes' but not 'administer comments' permission. Everything was posted with comments disabled (the validate case DIDN'T force comments to the default, but neither were they given an option to select anything). This one line patch fixes the issue.
This is present in 4.6 (where I discovered it) and in HEAD.
Cheers,
Eric
Comment | File | Size | Author |
---|---|---|---|
comment.module.remove_administer_nodes.patch | 810 bytes | ejort | |
Comments
Comment #1
ejort CreditAttribution: ejort commentedCan anybody confirm or deny this issue?
Comment #2
ricmadeira CreditAttribution: ricmadeira commentedYes, I can confirm it! I have had this same problem since I started using Drupal (from 4.5.2 onwards); I was just too stupid to file a bug report.
Please include this fix with the next release. Drupal 4.6.2 doesn't have it yet (I just tested it) so I have to patch it manually again.
Comment #3
ejort CreditAttribution: ejort commentedThis patch still applies, and the problem is still present. Anybody care to fix this? I'm lazy and want to minimise my diffs to the mainline drupal (even if it is just changing one word) :-)
Cheers,
Eric
Comment #4
Steven CreditAttribution: Steven commentedFixed in 4.6 / HEAD.
Comment #5
(not verified) CreditAttribution: commentedComment #6
(not verified) CreditAttribution: commentedComment #7
(not verified) CreditAttribution: commentedComment #8
(not verified) CreditAttribution: commentedComment #9
(not verified) CreditAttribution: commented