You are here

function theme_aggregator_page_item in Drupal 4

Same name and namespace in other branches
  1. 5 modules/aggregator/aggregator.module \theme_aggregator_page_item()

Format an individual feed item for display on the aggregator page.

Related topics

1 theme call to theme_aggregator_page_item()
_aggregator_page_list in modules/aggregator.module
Prints an aggregator page listing a number of feed items. Various menu callbacks use this function to print their feeds.

File

modules/aggregator.module, line 1352
Used to aggregate syndicated content (RSS, RDF, and Atom).

Code

function theme_aggregator_page_item($item) {
  $source = '';
  if ($item->ftitle && $item->fid) {
    $source = l($item->ftitle, "aggregator/sources/{$item->fid}", array(
      'class' => 'feed-item-source',
    )) . ' -';
  }
  if (date('Ymd', $item->timestamp) == date('Ymd')) {
    $source_date = t('%ago ago', array(
      '%ago' => format_interval(time() - $item->timestamp),
    ));
  }
  else {
    $source_date = format_date($item->timestamp, 'custom', variable_get('date_format_medium', 'D, Y-m-d H:i'));
  }
  $output .= "<div class=\"feed-item\">\n";
  $output .= '<h3 class="feed-item-title"><a href="' . check_url($item->link) . '">' . check_plain($item->title) . "</a></h3>\n";
  $output .= "<div class=\"feed-item-meta\">{$source} <span class=\"feed-item-date\">{$source_date}</span></div>\n";
  if ($item->description) {
    $output .= '<div class="feed-item-body">' . aggregator_filter_xss($item->description) . "</div>\n";
  }
  $result = db_query('SELECT c.title, c.cid FROM {aggregator_category_item} ci LEFT JOIN {aggregator_category} c ON ci.cid = c.cid WHERE ci.iid = %d ORDER BY c.title', $item->iid);
  $categories = array();
  while ($category = db_fetch_object($result)) {
    $categories[] = l($category->title, 'aggregator/categories/' . $category->cid);
  }
  if ($categories) {
    $output .= '<div class="feed-item-categories">' . t('Categories') . ': ' . implode(', ', $categories) . "</div>\n";
  }
  $output .= "</div>\n";
  return $output;
}