function theme_comment_post_forbidden in Drupal 6
Same name and namespace in other branches
- 4 modules/comment.module \theme_comment_post_forbidden()
- 5 modules/comment/comment.module \theme_comment_post_forbidden()
- 7 modules/comment/comment.module \theme_comment_post_forbidden()
Theme a "you can't post comments" notice.
Parameters
$node: The comment node.
Related topics
2 theme calls to theme_comment_post_forbidden()
- comment_link in modules/
comment/ comment.module - Implementation of hook_link().
- comment_links in modules/
comment/ comment.module - Build command links for a comment (e.g.\ edit, reply, delete) with respect to the current user's access permissions.
File
- modules/
comment/ comment.module, line 1785 - Enables users to comment on published content.
Code
function theme_comment_post_forbidden($node) {
global $user;
static $authenticated_post_comments;
if (!$user->uid) {
if (!isset($authenticated_post_comments)) {
// We only output any link if we are certain, that users get permission
// to post comments by logging in. We also locally cache this information.
$authenticated_post_comments = array_key_exists(DRUPAL_AUTHENTICATED_RID, user_roles(TRUE, 'post comments') + user_roles(TRUE, 'post comments without approval'));
}
if ($authenticated_post_comments) {
// We cannot use drupal_get_destination() because these links
// sometimes appear on /node and taxonomy listing pages.
if (variable_get('comment_form_location_' . $node->type, COMMENT_FORM_SEPARATE_PAGE) == COMMENT_FORM_SEPARATE_PAGE) {
$destination = 'destination=' . rawurlencode("comment/reply/{$node->nid}#comment-form");
}
else {
$destination = 'destination=' . rawurlencode("node/{$node->nid}#comment-form");
}
if (variable_get('user_register', 1)) {
// Users can register themselves.
return t('<a href="@login">Login</a> or <a href="@register">register</a> to post comments', array(
'@login' => url('user/login', array(
'query' => $destination,
)),
'@register' => url('user/register', array(
'query' => $destination,
)),
));
}
else {
// Only admins can add new users, no public registration.
return t('<a href="@login">Login</a> to post comments', array(
'@login' => url('user/login', array(
'query' => $destination,
)),
));
}
}
}
}