function comment_preview

Same name in other branches
  1. 9 core/modules/comment/comment.module \comment_preview()
  2. 8.9.x core/modules/comment/comment.module \comment_preview()
  3. 10 core/modules/comment/comment.module \comment_preview()
  4. 11.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.