comment_node_page_additions
- Versions
- 7
comment_node_page_additions($node)
Build the comment-related elements for node detail pages.
Parameters
$node A node object.
Code
modules/comment/comment.module, line 580
<?php
function comment_node_page_additions($node) {
$additions = array();
// Only attempt to render comments if the node has visible comments.
// Unpublished comments are not included in $node->comment_count, so show
// comments unconditionally if the user is an administrator.
if ($node->comment_count || user_access('administer comments')) {
$mode = variable_get('comment_default_mode_' . $node->type, COMMENT_MODE_THREADED);
$comments_per_page = variable_get('comment_default_per_page_' . $node->type, 50);
if ($cids = comment_get_thread($node, $mode, $comments_per_page)) {
$comments = comment_load_multiple($cids);
comment_prepare_thread($comments);
$build = comment_build_multiple($comments, $node);
$build['#attached']['css'][] = drupal_get_path('module', 'comment') . '/comment.css';
$build['pager']['#theme'] = 'pager';
$additions['comments'] = $build;
}
}
// Append comment form if needed.
if (user_access('post comments') && $node->comment == COMMENT_NODE_OPEN && (variable_get('comment_form_location_' . $node->type, COMMENT_FORM_BELOW) == COMMENT_FORM_BELOW)) {
$build = drupal_get_form('comment_form', (object) array('nid' => $node->nid));
$additions['comment_form'] = $build;
}
if ($additions) {
$additions += array(
'#theme' => 'comment_wrapper',
'#node' => $node,
'comments' => array(),
'comment_form' => array(),
);
}
return $additions;
}
?>Login or register to post comments 