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.