function aggregator_page_rss

Page callback: Generates an RSS 0.92 feed of aggregator items or categories.

See also

aggregator_menu()

1 string reference to 'aggregator_page_rss'
aggregator_menu in drupal/core/modules/aggregator/aggregator.module
Implements hook_menu().

File

drupal/core/modules/aggregator/aggregator.pages.inc, line 404
User page callbacks for the aggregator module.

Code

function aggregator_page_rss() {
  $result = NULL;
  $rss_config = config('system.rss');

  // arg(2) is the passed cid, only select for that category.
  if (arg(2)) {
    $category = db_query('SELECT cid, title FROM {aggregator_category} WHERE cid = :cid', array(
      ':cid' => arg(2),
    ))
      ->fetchObject();
    $result = db_query_range('SELECT i.*, f.title AS ftitle, f.link AS flink FROM {aggregator_category_item} c LEFT JOIN {aggregator_item} i ON c.iid = i.iid LEFT JOIN {aggregator_feed} f ON i.fid = f.fid WHERE cid = :cid ORDER BY timestamp DESC, i.iid DESC', 0, $rss_config
      ->get('items.limit'), array(
      ':cid' => $category->cid,
    ));
  }
  else {
    $category = NULL;
    $result = db_query_range('SELECT i.*, f.title AS ftitle, f.link AS flink FROM {aggregator_item} i INNER JOIN {aggregator_feed} f ON i.fid = f.fid ORDER BY i.timestamp DESC, i.iid DESC', 0, $rss_config
      ->get('items.limit'));
  }
  $feeds = $result
    ->fetchAll();
  return theme('aggregator_page_rss', array(
    'feeds' => $feeds,
    'category' => $category,
  ));
}