You are here

function comment_num_new in Drupal 7

Same name and namespace in other branches
  1. 4 modules/comment.module \comment_num_new()
  2. 5 modules/comment/comment.module \comment_num_new()
  3. 6 modules/comment/comment.module \comment_num_new()

Get number of new comments for current user and specified node.

Parameters

$nid: Node-id to count comments for.

$timestamp: Time to count from (defaults to time of last user access to node).

Return value

The result or FALSE on error.

4 calls to comment_num_new()
comment_node_view in modules/comment/comment.module
Implements hook_node_view().
comment_tokens in modules/comment/comment.tokens.inc
Implements hook_tokens().
forum_get_topics in modules/forum/forum.module
Gets all the topics in a forum.
tracker_page in modules/tracker/tracker.pages.inc
Page callback: prints a listing of active nodes on the site.
1 string reference to 'comment_num_new'
comment_update_7003 in modules/comment/comment.install
Split {comment}.timestamp into 'created' and 'changed', improve indexing on {comment}.

File

modules/comment/comment.module, line 1733
Enables users to comment on published content.

Code

function comment_num_new($nid, $timestamp = 0) {
  global $user;
  if ($user->uid) {

    // Retrieve the timestamp at which the current user last viewed this node.
    if (!$timestamp) {
      $timestamp = node_last_viewed($nid);
    }
    $timestamp = $timestamp > NODE_NEW_LIMIT ? $timestamp : NODE_NEW_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;
  }
}