Index: atom.module =================================================================== RCS file: /cvs/drupal-contrib/contributions/modules/atom/atom.module,v retrieving revision 1.22.2.8 diff -u -p -r1.22.2.8 atom.module --- atom.module 7 May 2009 14:04:14 -0000 1.22.2.8 +++ atom.module 21 Sep 2009 01:07:16 -0000 @@ -34,7 +34,7 @@ function atom_init() { if (arg(0) == 'blog' && is_numeric(arg(1))) { drupal_set_html_head(''); } - elseif (arg(0) == 'node' && is_numeric(arg(1))) { + elseif (arg(0) == 'node' && is_numeric(arg(1)) && ($node = node_load(arg(1))) && node_access('view', $node)) { drupal_set_html_head(''); } elseif (arg(0) == 'taxonomy' && arg(1) == 'term' && is_numeric(arg(2))) { @@ -115,7 +115,7 @@ function atom_feed() { die(drupal_not_found()); } global $base_url; - $nodes = db_query_range("SELECT n.nid FROM {node} n WHERE n.promote = '1' AND n.status = '1' ORDER BY n.created DESC", 0, variable_get('atom_feed_entries', 15)); + $nodes = db_query_range(db_rewrite_sql("SELECT n.nid FROM {node} n WHERE n.promote = '1' AND n.status = '1' ORDER BY n.created DESC"), 0, variable_get('atom_feed_entries', 15)); $feed_info = array(); $feed_info['title'] = strip_tags(variable_get('site_name', 'Drupal')); @@ -129,7 +129,7 @@ function atom_blog_feed() { if (strpos(arg(3), 'atom') === 0 || strpos(arg(3), 'feed') === 0) { die(drupal_not_found()); } - $nodes = db_query_range("SELECT n.nid FROM {node} n WHERE n.type = 'blog' AND n.status = '1' ORDER BY n.created DESC", 0, variable_get('atom_feed_entries', 15)); + $nodes = db_query_range(db_rewrite_sql("SELECT n.nid FROM {node} n WHERE n.type = 'blog' AND n.status = '1' ORDER BY n.created DESC"), 0, variable_get('atom_feed_entries', 15)); $feed_info = array(); $feed_info['title'] = strip_tags(sprintf(t('%s blogs'), variable_get('site_name', 'Drupal'))); @@ -143,7 +143,7 @@ function atom_node_feed($nid) { if (strpos(arg(4), 'atom') === 0 || strpos(arg(4), 'feed') === 0) { die(drupal_not_found()); } - $nodes = db_query_range("SELECT n.nid FROM {node} n WHERE n.nid = %d AND n.status = '1' ORDER BY n.created DESC", $nid, 0, 1); + $nodes = db_query_range(db_rewrite_sql("SELECT n.nid FROM {node} n WHERE n.nid = %d AND n.status = '1' ORDER BY n.created DESC"), $nid, 0, 1); $feed_info = array(); $feed_info['title'] = variable_get('site_name', 'Drupal'); @@ -154,15 +154,11 @@ function atom_node_feed($nid) { } function atom_user_blog_feed($uid) { - if (strpos(arg(4), 'atom') === 0 || strpos(arg(4), 'feed') === 0) { + if (strpos(arg(4), 'atom') === 0 || strpos(arg(4), 'feed') === 0 || !user_load($uid)) { die(drupal_not_found()); } - $user_result = db_query_range("SELECT u.name FROM {users} u WHERE u.uid = %d", $uid, 0, 1); - if (!$user = db_result($user_result)) { - return t('User does not exist.'); - } - $nodes = db_query_range("SELECT n.nid FROM {node} n WHERE n.type = 'blog' AND n.uid = %d AND n.status = '1' ORDER BY n.created DESC", $uid, 0, variable_get('atom_feed_entries', 15)); + $nodes = db_query_range(db_rewrite_sql("SELECT n.nid FROM {node} n WHERE n.type = 'blog' AND n.uid = %d AND n.status = '1' ORDER BY n.created DESC"), $uid, 0, variable_get('atom_feed_entries', 15)); $feed_info = array(); $feed_info['title'] = sprintf(t("%s's blog"), $user); @@ -210,9 +206,6 @@ function _atom_print_feed($nodes, $feed_ $last_mod = 0; while ($node = db_fetch_object($nodes)) { $item = node_load(array('nid' => $node->nid)); - if (!node_access('view', $item)) { - continue; - } $link = url("node/$node->nid", array('absolute' => TRUE));