Error message

You are browsing documentation for drupal 7.x, which is not supported anymore. Read the updated version of this page for drupal 11.x (the latest version).

function comment_preview

Same name and namespace in other branches
  1. 11.x core/modules/comment/comment.module \comment_preview()
  2. 9 core/modules/comment/comment.module \comment_preview()
  3. 10 core/modules/comment/comment.module \comment_preview()
  4. 8.9.x core/modules/comment/comment.module \comment_preview()

Generate a comment preview.

1 call to comment_preview()
comment_form_build_preview in modules/comment/comment.module
Build a preview from submitted form values.
2 string references to 'comment_preview'
CommentHelperCase::setCommentPreview in modules/comment/comment.test
Set comment preview setting.
comment_node_type_delete in modules/comment/comment.module
Implements hook_node_type_delete().

File

modules/comment/comment.module, line 2080

Code

function comment_preview ($comment) {
 global $user;
 drupal_set_title (t ('Preview comment'), PASS_THROUGH );
 $node = node_load ($comment->nid);
 if (!form_get_errors ()) {
 $comment_body = field_get_items ('comment', $comment, 'comment_body');
 $comment->format  = $comment_body[0]['format'];
 // Attach the user and time information.
 if (!empty($comment->name )) {
 $account = user_load_by_name ($comment->name );
 }
 elseif ($user->uid && empty($comment->is_anonymous)) {
 $account = $user;
 }
 if (!empty($account->uid)) {
 $comment->uid = $account->uid;
 $comment->name  = check_plain ($account->name );
 $comment->signature = $account->signature;
 $comment->signature_format = $account->signature_format;
 $comment->picture = $account->picture;
 }
 elseif (empty($comment->name )) {
 $comment->name  = variable_get ('anonymous', t ('Anonymous'));
 }
 $comment->created = !empty($comment->created) ? $comment->created : REQUEST_TIME ;
 $comment->changed  = REQUEST_TIME ;
 $comment->in_preview = TRUE;
 $comment_build = comment_view ($comment, $node);
 $comment_build['#weight'] = -100;
 $form['comment_preview'] = $comment_build;
 }
 if ($comment->pid) {
 $build = array();
 if ($comments = comment_load_multiple (array(
 $comment->pid,
 ), array(
 'status' => COMMENT_PUBLISHED ,
 ))) {
 $parent_comment = $comments[$comment->pid];
 $build = comment_view ($parent_comment, $node);
 }
 }
 else {
 $build = node_view ($node);
 }
 $form['comment_output_below'] = $build;
 $form['comment_output_below']['#weight'] = 100;
 return $form;
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.