diff --git a/modules/comment/comment.module b/modules/comment/comment.module index ce84a6e343d..7e261b52ae2 100644 --- a/modules/comment/comment.module +++ b/modules/comment/comment.module @@ -418,10 +418,9 @@ function comment_link($type, $node = NULL, $teaser = FALSE) { if ($teaser) { // Main page: display the number of comments that have been posted. if (user_access('access comments')) { - $all = comment_num_all($node->nid); - if ($all) { + if ($node->comment_count) { $links['comment_comments'] = array( - 'title' => format_plural($all, '1 comment', '@count comments'), + 'title' => format_plural($node->comment_count, '1 comment', '@count comments'), 'href' => "node/$node->nid", 'attributes' => array('title' => t('Jump to the first comment of this posting.')), 'fragment' => 'comments' @@ -432,7 +431,7 @@ function comment_link($type, $node = NULL, $teaser = FALSE) { $links['comment_new_comments'] = array( 'title' => format_plural($new, '1 new comment', '@count new comments'), 'href' => "node/$node->nid", - 'query' => comment_new_page_count($all, $new, $node), + 'query' => comment_new_page_count($node->comment_count, $new, $node), 'attributes' => array('title' => t('Jump to the first new comment of this posting.')), 'fragment' => 'new' ); @@ -1085,24 +1084,6 @@ function comment_load($cid) { return db_fetch_object(db_query('SELECT * FROM {comments} WHERE cid = %d', $cid)); } -/** - * Get comment count for a node. - * - * @param $nid - * The node id. - * @return - * The comment count. - */ -function comment_num_all($nid) { - static $cache; - - if (!isset($cache[$nid])) { - $cache[$nid] = db_result(db_query('SELECT comment_count FROM {node_comment_statistics} WHERE nid = %d', $nid)); - } - - return $cache[$nid]; -} - /** * Get replies count for a comment. * diff --git a/modules/comment/comment.test b/modules/comment/comment.test index c1630d6ddcc..8b17b3b8710 100644 --- a/modules/comment/comment.test +++ b/modules/comment/comment.test @@ -27,7 +27,7 @@ class CommentTestCase extends DrupalWebTestCase { $this->web_user = $this->drupalCreateUser(array('access comments', 'post comments', 'create article content')); $this->drupalLogin($this->web_user); - $this->node = $this->drupalCreateNode(array('type' => 'article')); + $this->node = $this->drupalCreateNode(array('type' => 'article', 'promote' => 1)); $this->assertTrue($this->node, t('Article node created.')); $this->drupalLogout(); } @@ -68,6 +68,10 @@ class CommentTestCase extends DrupalWebTestCase { $this->drupalGet('comment/edit/' . $reply->id); $reply = $this->postComment(NULL, $this->randomName(), $this->randomName()); $this->assertTrue($this->commentExists($reply, TRUE), t('Modified reply found.')); + + // Correct link count + $this->drupalGet('node'); + $this->assertRaw('2 comments', t('Link to the 2 comments exist.')); // Pager $this->setCommentsPerPage(2);