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));