Gets the number of new comments for the current user and the specified node.
$nid: Node ID to count comments for.
$timestamp: Time to count from (defaults to time of last user access to node).
The number of new comments or FALSE if the user is not logged in.
function comment_num_new($nid, $timestamp = 0) {
global $user;
if ($user->uid && module_exists('history')) {
// Retrieve the timestamp at which the current user last viewed this node.
if (!$timestamp) {
$timestamp = history_read($nid);
}
$timestamp = $timestamp > HISTORY_READ_LIMIT ? $timestamp : HISTORY_READ_LIMIT;
// Use the timestamp to retrieve the number of new comments.
return db_query('SELECT COUNT(cid) FROM {comment} WHERE nid = :nid AND created > :timestamp AND status = :status', array(
':nid' => $nid,
':timestamp' => $timestamp,
':status' => COMMENT_PUBLISHED,
))
->fetchField();
}
else {
return FALSE;
}
}