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_node_load

Implements hook_node_load().

File

modules/comment/comment.module, line 1267

Code

function comment_node_load ($nodes, $types) {
 $comments_enabled = array();
 // Check if comments are enabled for each node. If comments are disabled,
 // assign values without hitting the database.
 foreach ($nodes as $node) {
 // Store whether comments are enabled for this node.
 if ($node->comment  != COMMENT_NODE_HIDDEN ) {
 $comments_enabled[] = $node->nid;
 }
 else {
 $node->cid  = 0;
 $node->last_comment_timestamp = $node->created;
 $node->last_comment_name = '';
 $node->last_comment_uid = $node->uid;
 $node->comment_count = 0;
 }
 }
 // For nodes with comments enabled, fetch information from the database.
 if (!empty($comments_enabled)) {
 $result = db_query ('SELECT nid, cid, last_comment_timestamp, last_comment_name, last_comment_uid, comment_count FROM {node_comment_statistics} WHERE nid IN (:comments_enabled)', array(
 ':comments_enabled' => $comments_enabled,
 ));
 foreach ($result as $record) {
 $nodes[$record->nid]->cid  = $record->cid ;
 $nodes[$record->nid]->last_comment_timestamp = $record->last_comment_timestamp;
 $nodes[$record->nid]->last_comment_name = $record->last_comment_name;
 $nodes[$record->nid]->last_comment_uid = $record->last_comment_uid;
 $nodes[$record->nid]->comment_count = $record->comment_count;
 }
 }
}

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