Same name and namespace in other branches
  1. 4.6.x modules/aggregator.module \theme_aggregator_page_item()
  2. 4.7.x modules/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/aggregator.module

File

modules/aggregator/aggregator.module, line 1378
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, m/d/Y - 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;
}