? generate-content.php ? generate-taxonomy.php ? modules/devel Index: includes/common.inc =================================================================== RCS file: /cvs/drupal/drupal/includes/common.inc,v retrieving revision 1.555 diff -u -F^f -r1.555 common.inc --- includes/common.inc 14 Aug 2006 07:14:48 -0000 1.555 +++ includes/common.inc 16 Aug 2006 20:39:19 -0000 @@ -148,6 +148,31 @@ function drupal_get_headers() { return drupal_set_header(); } +/* + * Add a feed URL for the current page. + * + * @param $url + * The url for the feed + * @param $theme_function + * The name of the theming function to use to style the feed icon, defaults to theme_feed_icon() + */ +function drupal_add_feed($url = NULL, $theme_function = 'feed_icon') { + static $stored_feed_links = array(); + + if (!is_null($url)) { + $stored_feed_links[$url] = theme($theme_function, $url); + } + return $stored_feed_links; +} + +/** + * Get the feed URLs for the current page. + */ +function drupal_get_feeds() { + $feeds = drupal_add_feed(); + return implode($feeds, "\n"); +} + /** * @name HTTP handling * @{ Index: includes/theme.inc =================================================================== RCS file: /cvs/drupal/drupal/includes/theme.inc,v retrieving revision 1.306 diff -u -F^f -r1.306 theme.inc --- includes/theme.inc 5 Aug 2006 22:17:31 -0000 1.306 +++ includes/theme.inc 16 Aug 2006 20:39:20 -0000 @@ -387,6 +387,7 @@ function theme_page($content) { $output .= "\n\n"; $output .= $content; + $output .= drupal_get_feeds(); $output .= "\n\n"; $output .= ''; Index: modules/aggregator/aggregator.module =================================================================== RCS file: /cvs/drupal/drupal/modules/aggregator/aggregator.module,v retrieving revision 1.296 diff -u -F^f -r1.296 aggregator.module --- modules/aggregator/aggregator.module 14 Aug 2006 07:14:48 -0000 1.296 +++ modules/aggregator/aggregator.module 16 Aug 2006 20:39:21 -0000 @@ -1097,12 +1097,11 @@ function _aggregator_page_list($sql, $op // arg(1) is undefined if we are at the top aggregator URL // is there a better way to do this? if (!arg(1)) { - $form['feed_icon'] = array('#value' => theme('feed_icon', url('aggregator/rss'))); + drupal_add_feed(url('aggregator/rss')); } elseif (arg(1) == 'categories' && arg(2) && !arg(3)) { - $form['feed_icon'] = array('#value' => theme('feed_icon', url('aggregator/rss/' . arg(2)))); + drupal_add_feed(url('aggregator/rss/' . arg(2))); } - $output .= $form['feed_icon']['#value']; return ($categorize) ? drupal_get_form('aggregator_page_list', $form) : $output; } Index: modules/blog/blog.module =================================================================== RCS file: /cvs/drupal/drupal/modules/blog/blog.module,v retrieving revision 1.256 diff -u -F^f -r1.256 blog.module --- modules/blog/blog.module 10 Aug 2006 15:42:32 -0000 1.256 +++ modules/blog/blog.module 16 Aug 2006 20:39:21 -0000 @@ -163,7 +163,7 @@ function blog_page_user($uid) { $output .= node_view(node_load($node->nid), 1); } $output .= theme('pager', NULL, variable_get('default_nodes_main', 10)); - $output .= theme('feed_icon', url("blog/$account->uid/feed")); + drupal_add_feed(url("blog/$account->uid/feed")); drupal_add_link(array('rel' => 'alternate', 'type' => 'application/rss+xml', @@ -190,7 +190,7 @@ function blog_page_last() { $output .= node_view(node_load($node->nid), 1); } $output .= theme('pager', NULL, variable_get('default_nodes_main', 10)); - $output .= theme('feed_icon', url('blog/feed')); + drupal_add_feed(url('blog/feed')); drupal_add_link(array('rel' => 'alternate', 'type' => 'application/rss+xml', Index: modules/forum/forum.module =================================================================== RCS file: /cvs/drupal/drupal/modules/forum/forum.module,v retrieving revision 1.347 diff -u -F^f -r1.347 forum.module --- modules/forum/forum.module 14 Aug 2006 07:14:49 -0000 1.347 +++ modules/forum/forum.module 16 Aug 2006 20:39:22 -0000 @@ -933,7 +933,7 @@ function theme_forum_display($forums, $t 'href' => url('taxonomy/term/'. $tid .'/0/feed'))); $output .= theme('forum_topic_list', $tid, $topics, $sortby, $forum_per_page); - $output .= theme('feed_icon', url("taxonomy/term/$tid/0/feed")); + drupal_add_feed(url("taxonomy/term/$tid/0/feed")); } $output .= ''; } Index: modules/node/node.module =================================================================== RCS file: /cvs/drupal/drupal/modules/node/node.module,v retrieving revision 1.674 diff -u -F^f -r1.674 node.module --- modules/node/node.module 15 Aug 2006 07:30:17 -0000 1.674 +++ modules/node/node.module 16 Aug 2006 20:39:25 -0000 @@ -2247,10 +2247,12 @@ function node_page_default() { $result = pager_query(db_rewrite_sql('SELECT n.nid, n.sticky, n.created FROM {node} n WHERE n.promote = 1 AND n.status = 1 ORDER BY n.sticky DESC, n.created DESC'), variable_get('default_nodes_main', 10)); if (db_num_rows($result)) { + $feed_url = url('rss.xml', NULL, NULL, TRUE); + drupal_add_feed($feed_url); drupal_add_link(array('rel' => 'alternate', 'type' => 'application/rss+xml', 'title' => t('RSS'), - 'href' => url('rss.xml', NULL, NULL, TRUE))); + 'href' => $feed_url)); $output = ''; while ($node = db_fetch_object($result)) { Index: modules/taxonomy/taxonomy.module =================================================================== RCS file: /cvs/drupal/drupal/modules/taxonomy/taxonomy.module,v retrieving revision 1.301 diff -u -F^f -r1.301 taxonomy.module --- modules/taxonomy/taxonomy.module 15 Aug 2006 05:50:48 -0000 1.301 +++ modules/taxonomy/taxonomy.module 16 Aug 2006 20:39:26 -0000 @@ -1257,7 +1257,7 @@ function taxonomy_term_page($str_tids = 'href' => url('taxonomy/term/'. $str_tids .'/'. $depth .'/feed'))); $output = taxonomy_render_nodes(taxonomy_select_nodes($tids, $terms['operator'], $depth, TRUE)); - $output .= theme('feed_icon', url('taxonomy/term/'. $str_tids .'/'. $depth .'/feed')); + drupal_add_feed(url('taxonomy/term/'. $str_tids .'/'. $depth .'/feed')); return $output; break; Index: themes/bluemarine/page.tpl.php =================================================================== RCS file: /cvs/drupal/drupal/themes/bluemarine/page.tpl.php,v retrieving revision 1.17 diff -u -F^f -r1.17 page.tpl.php --- themes/bluemarine/page.tpl.php 1 Feb 2006 16:04:02 -0000 1.17 +++ themes/bluemarine/page.tpl.php 16 Aug 2006 20:39:26 -0000 @@ -42,6 +42,7 @@ + Index: themes/chameleon/chameleon.theme =================================================================== RCS file: /cvs/drupal/drupal/themes/chameleon/chameleon.theme,v retrieving revision 1.46 diff -u -F^f -r1.46 chameleon.theme --- themes/chameleon/chameleon.theme 3 Aug 2006 07:06:36 -0000 1.46 +++ themes/chameleon/chameleon.theme 16 Aug 2006 20:39:26 -0000 @@ -91,6 +91,7 @@ function chameleon_page($content) { $output .= "\n\n"; $output .= $content; + $output .= drupal_get_feeds(); $output .= "\n\n"; if ($footer = variable_get('site_footer', '')) { Index: themes/engines/phptemplate/phptemplate.engine =================================================================== RCS file: /cvs/drupal/drupal/themes/engines/phptemplate/phptemplate.engine,v retrieving revision 1.40 diff -u -F^f -r1.40 phptemplate.engine --- themes/engines/phptemplate/phptemplate.engine 15 Aug 2006 05:32:46 -0000 1.40 +++ themes/engines/phptemplate/phptemplate.engine 16 Aug 2006 20:39:26 -0000 @@ -196,6 +196,7 @@ function phptemplate_page($content) { 'breadcrumb' => theme('breadcrumb', drupal_get_breadcrumb()), 'closure' => theme('closure'), 'content' => '' . $content . '', + 'feed_icons' => drupal_get_feeds(), 'footer_message' => filter_xss_admin(variable_get('site_footer', FALSE)) . "\n" . theme('blocks', 'footer'), 'head' => drupal_get_html_head(), 'head_title' => implode(' | ', $head_title), Index: themes/pushbutton/page.tpl.php =================================================================== RCS file: /cvs/drupal/drupal/themes/pushbutton/page.tpl.php,v retrieving revision 1.13 diff -u -F^f -r1.13 page.tpl.php --- themes/pushbutton/page.tpl.php 1 Feb 2006 16:04:03 -0000 1.13 +++ themes/pushbutton/page.tpl.php 16 Aug 2006 20:39:27 -0000 @@ -80,7 +80,8 @@ - + +