Determines the max timestamp between $node->changed and the last comment.
$nid: A node ID.
The $node->changed timestamp, or most recent comment timestamp, whichever is the greatest.
function _tracker_calculate_changed($nid) {
$changed = db_query('SELECT changed FROM {node} WHERE nid = :nid', array(
':nid' => $nid,
), array(
'target' => 'slave',
))
->fetchField();
$latest_comment = db_query_range('SELECT cid, changed FROM {comment} WHERE nid = :nid AND status = :status ORDER BY changed DESC', 0, 1, array(
':nid' => $nid,
':status' => COMMENT_PUBLISHED,
), array(
'target' => 'slave',
))
->fetchObject();
if ($latest_comment && $latest_comment->changed > $changed) {
$changed = $latest_comment->changed;
}
return $changed;
}