From 0f9c1354d1077e5d13dc57090de802b00b0adbe4 Mon Sep 17 00:00:00 2001 From: webchick Date: Wed, 29 Jun 2011 23:51:36 -0700 Subject: Issue #813052 by lyricnz, droplet, dinknaround: Fixed Undefined index: format in comment_preview() line 2065 and line 2183. --- modules/comment/comment.module | 9 ++++++++- modules/comment/comment.test | 15 +++++++++++++++ 2 files changed, 23 insertions(+), 1 deletion(-) (limited to 'modules') diff --git a/modules/comment/comment.module b/modules/comment/comment.module index 8d0c3d362..393318a21 100644 --- a/modules/comment/comment.module +++ b/modules/comment/comment.module @@ -2161,7 +2161,14 @@ function comment_submit($comment) { // 1) Filter it into HTML // 2) Strip out all HTML tags // 3) Convert entities back to plain-text. - $comment->subject = truncate_utf8(trim(decode_entities(strip_tags(check_markup($comment->comment_body[LANGUAGE_NONE][0]['value'], $comment->comment_body[LANGUAGE_NONE][0]['format'])))), 29, TRUE); + $comment_body = $comment->comment_body[LANGUAGE_NONE][0]; + if (isset($comment_body['format'])) { + $comment_text = check_markup($comment_body['value'], $comment_body['format']); + } + else { + $comment_text = check_plain($comment_body['value']); + } + $comment->subject = truncate_utf8(trim(decode_entities(strip_tags($comment_text))), 29, TRUE); // Edge cases where the comment body is populated only by HTML tags will // require a default subject. if ($comment->subject == '') { diff --git a/modules/comment/comment.test b/modules/comment/comment.test index 770e01d4a..82c600893 100644 --- a/modules/comment/comment.test +++ b/modules/comment/comment.test @@ -1912,4 +1912,19 @@ class CommentFieldsTest extends CommentHelperCase { $this->postComment($book_node, $this->randomName(), $this->randomName()); $this->postComment($poll_node, $this->randomName(), $this->randomName()); } + + /** + * Test that comment module works correctly with plain text format. + */ + function testCommentFormat() { + // Disable text processing for comments. + $this->drupalLogin($this->admin_user); + $edit = array('instance[settings][text_processing]' => 0); + $this->drupalPost('admin/structure/types/manage/article/comment/fields/comment_body', $edit, t('Save settings')); + + // Post a comment without an explicit subject. + $this->drupalLogin($this->web_user); + $edit = array('comment_body[und][0][value]' => $this->randomName(8)); + $this->drupalPost('node/' . $this->node->nid, $edit, t('Save')); + } } -- cgit v1.2.3