_tracker_add

Versions
7
_tracker_add($nid, $uid, $changed)

Update indexing tables when a node is added, updated or commented on.

Parameters

$nid A node ID.

$uid The node or comment author.

$changed The node updated timestamp or comment timestamp.

▾ 3 functions call _tracker_add()

tracker_comment_publish in modules/tracker/tracker.module
Implements hook_comment_publish().
tracker_node_insert in modules/tracker/tracker.module
Implements hook_nodeapi_insert().
tracker_node_update in modules/tracker/tracker.module
Implements hook_nodeapi_update().

Code

modules/tracker/tracker.module, line 234

<?php
function _tracker_add($nid, $uid, $changed) {
  $node = db_query('SELECT nid, status, uid, changed FROM {node} WHERE nid = :nid', array(':nid' => $nid))->fetchObject();

  // Adding a comment can only increase the changed timestamp, so our
  // calculation here is simple.
  $changed = max($node->changed, $changed);

  // Update the node-level data.
  db_merge('tracker_node')
    ->key(array('nid' => $nid))
    ->fields(array(
      'changed' => $changed,
      'published' => $node->status,
    ))
    ->execute();

  // Create or update the user-level data.
  db_merge('tracker_user')
    ->key(array(
      'nid' => $nid,
      'uid' => $uid,
    ))
    ->fields(array(
      'changed' => $changed,
      'published' => $node->status,
    ))
    ->execute();
}
?>
Login or register to post comments
 
 

All source code and documentation on this site is released under the terms of the GNU General Public License, version 2 and later. Drupal is a registered trademark of Dries Buytaert.