- Patch #255918 by R.Muilwijk: performance improvement: comment_link querying for already retrieved data.
parent
6e2358b232
commit
61cc35f2b0
|
@ -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.
|
||||
*
|
||||
|
|
|
@ -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);
|
||||
|
|
Loading…
Reference in New Issue