comment_view

Versions
mediamosa-21
comment_view($comment, $node, $view_mode = 'full')

Generate an array for rendering the given comment.

Parameters

$comment A comment object.

$node The node the comment is attached to.

$view_mode View mode, e.g. 'full', 'teaser'...

Return value

An array as expected by drupal_render().

▾ 3 functions call comment_view()

comment_preview in modules/comment/comment.module
Generate a comment preview.
comment_reply in modules/comment/comment.pages.inc
This function is responsible for generating a comment reply form. There are several cases that have to be handled, including:
comment_view_multiple in modules/comment/comment.module
Construct a drupal_render() style array from an array of loaded comments.

Code

modules/comment/comment.module, line 881

<?php
function comment_view($comment, $node, $view_mode = 'full') {
  // Populate $comment->content with a render() array.
  comment_build_content($comment, $node, $view_mode);

  $build = $comment->content;
  // We don't need duplicate rendering info in comment->content.
  unset($comment->content);

  $build += array(
    '#theme' => 'comment',
    '#comment' => $comment,
    '#node' => $node,
    '#view_mode' => $view_mode,
  );

  $prefix = '';
  $is_threaded = isset($comment->divs) && variable_get('comment_default_mode_' . $node->type, COMMENT_MODE_THREADED) == COMMENT_MODE_THREADED;

  // Add 'new' anchor if needed.
  if (!empty($comment->first_new)) {
    $prefix .= "<a id=\"new\"></a>\n";
  }

  // Add indentation div or close open divs as needed.
  if ($is_threaded) {
    $prefix .= $comment->divs <= 0 ? str_repeat('</div>', abs($comment->divs)) : "\n" . '<div class="indented">';
  }

  // Add anchor for each comment.
  $prefix .= "<a id=\"comment-$comment->cid\"></a>\n";
  $build['#prefix'] = $prefix;

  // Close all open divs.
  if ($is_threaded && !empty($comment->divs_final)) {
    $build['#suffix'] = str_repeat('</div>', $comment->divs_final);
  }

  // Allow modules to modify the structured comment.
  drupal_alter('comment_view', $build);

  return $build;
}
?>