Index: modules/node.module =================================================================== RCS file: /cvs/drupal/drupal/modules/node.module,v retrieving revision 1.641.2.5 diff -u -F^f -r1.641.2.5 node.module --- modules/node.module 14 May 2006 23:57:58 -0000 1.641.2.5 +++ modules/node.module 27 May 2006 13:27:28 -0000 @@ -338,7 +338,7 @@ function node_invoke_nodeapi(&$node, $op * @return * A fully-populated node object. */ -function node_load($param = array(), $revision = NULL, $reset = NULL) { +function node_load($param = array(), $revision = NULL, $reset = NULL, $rewrite = TRUE) { static $nodes = array(); if ($reset) { @@ -366,10 +366,15 @@ function node_load($param = array(), $re // Retrieve the node. if ($revision) { array_unshift($arguments, $revision); - $node = db_fetch_object(db_query(db_rewrite_sql('SELECT n.nid, r.vid, n.type, n.status, n.created, n.changed, n.comment, n.promote, n.moderate, n.sticky, r.timestamp AS revision_timestamp, r.title, r.body, r.teaser, r.log, r.format, u.uid, u.name, u.picture, u.data FROM {node} n INNER JOIN {users} u ON u.uid = n.uid INNER JOIN {node_revisions} r ON r.nid = n.nid AND r.vid = %d WHERE '. $cond), $arguments)); + $sql = 'SELECT n.nid, r.vid, n.type, n.status, n.created, n.changed, n.comment, n.promote, n.moderate, n.sticky, r.timestamp AS revision_timestamp, r.title, r.body, r.teaser, r.log, r.format, u.uid, u.name, u.picture, u.data FROM {node} n INNER JOIN {users} u ON u.uid = n.uid INNER JOIN {node_revisions} r ON r.nid = n.nid AND r.vid = %d WHERE '. $cond ; + + if ($rewrite) {$sql = db_rewrite_sql($sql);} + $node = db_fetch_object(db_query($sql,$arguments)); } else { - $node = db_fetch_object(db_query(db_rewrite_sql('SELECT n.nid, n.vid, n.type, n.status, n.created, n.changed, n.comment, n.promote, n.moderate, n.sticky, r.timestamp AS revision_timestamp, r.title, r.body, r.teaser, r.log, r.format, u.uid, u.name, u.picture, u.data FROM {node} n INNER JOIN {users} u ON u.uid = n.uid INNER JOIN {node_revisions} r ON r.vid = n.vid WHERE '. $cond), $arguments)); + $sql = 'SELECT n.nid, n.vid, n.type, n.status, n.created, n.changed, n.comment, n.promote, n.moderate, n.sticky, r.timestamp AS revision_timestamp, r.title, r.body, r.teaser, r.log, r.format, u.uid, u.name, u.picture, u.data FROM {node} n INNER JOIN {users} u ON u.uid = n.uid INNER JOIN {node_revisions} r ON r.vid = n.vid WHERE '. $cond; + if ($rewrite) {$sql = db_rewrite_sql($sql);} + $node = db_fetch_object(db_query($sql,$arguments)); } if ($node->nid) { @@ -2100,7 +2105,7 @@ function node_update_index() { while ($node = db_fetch_object($result)) { $last_change = $node->last_change; $last_nid = $node->nid; - $node = node_load($node->nid); + $node = node_load($node->nid,NULL,NULL,FALSE); // Get node output (filtered and with module-specific fields). if (node_hook($node, 'view')) {