Index: modules/aggregator/aggregator.admin.inc
===================================================================
RCS file: /cvs/drupal/drupal/modules/aggregator/aggregator.admin.inc,v
retrieving revision 1.14
diff -u -r1.14 aggregator.admin.inc
--- modules/aggregator/aggregator.admin.inc	16 Aug 2008 14:48:17 -0000	1.14
+++ modules/aggregator/aggregator.admin.inc	16 Aug 2008 17:34:17 -0000
@@ -8,18 +8,11 @@
 
 /**
  * Menu callback; displays the aggregator administration page.
- */
-function aggregator_admin_overview() {
-  return aggregator_view();
-}
-
-/**
- * Displays the aggregator administration page.
  *
  * @return
  *   The page HTML.
  */
-function aggregator_view() {
+function aggregator_admin_overview() {
   $result = db_query('SELECT f.*, COUNT(i.iid) AS items FROM {aggregator_feed} f LEFT JOIN {aggregator_item} i ON f.fid = i.fid GROUP BY f.fid, f.title, f.url, f.refresh, f.checked, f.link, f.description, f.hash, f.etag, f.modified, f.image, f.block ORDER BY f.title');
 
   $output = '<h3>' . t('Feed overview') . '</h3>';
@@ -27,7 +20,18 @@
   $header = array(t('Title'), t('Items'), t('Last update'), t('Next update'), array('data' => t('Operations'), 'colspan' => '3'));
   $rows = array();
   while ($feed = db_fetch_object($result)) {
-    $rows[] = array(l($feed->title, "aggregator/sources/$feed->fid"), format_plural($feed->items, '1 item', '@count items'), ($feed->checked ? t('@time ago', array('@time' => format_interval(time() - $feed->checked))) : t('never')), ($feed->checked ? t('%time left', array('%time' => format_interval($feed->checked + $feed->refresh - time()))) : t('never')), l(t('edit'), "admin/content/aggregator/edit/feed/$feed->fid"), l(t('remove items'), "admin/content/aggregator/remove/$feed->fid"), l(t('update items'), "admin/content/aggregator/update/$feed->fid"));
+    $rows[] = array(
+      l($feed->title, "aggregator/sources/$feed->fid"),
+      format_plural($feed->items, '1 item', '@count items'),
+      ($feed->checked ? t('@time ago', array('@time' => format_interval(time() - $feed->checked))) : t('never')),
+      ($feed->checked ? t('%time left', array('%time' => format_interval($feed->checked + $feed->refresh - time()))) : t('never')),
+      l(t('edit'), "admin/content/aggregator/edit/feed/$feed->fid"),
+      l(t('remove items'), "admin/content/aggregator/remove/$feed->fid"),
+      l(t('update items'), "admin/content/aggregator/update/$feed->fid"),
+    );
+  }
+  if (count($rows) == 0) {
+    $rows[] = array(array('data' => t('No feeds available.'), 'colspan' => '7'));
   }
   $output .= theme('table', $header, $rows);
 
@@ -38,7 +42,14 @@
   $header = array(t('Title'), t('Items'), t('Operations'));
   $rows = array();
   while ($category = db_fetch_object($result)) {
-    $rows[] = array(l($category->title, "aggregator/categories/$category->cid"), format_plural($category->items, '1 item', '@count items'), l(t('edit'), "admin/content/aggregator/edit/category/$category->cid"));
+    $rows[] = array(
+      l($category->title, "aggregator/categories/$category->cid"),
+      format_plural($category->items, '1 item', '@count items'),
+      l(t('edit'), "admin/content/aggregator/edit/category/$category->cid"),
+    );
+  }
+  if (count($rows) == 0) {
+    $rows[] = array(array('data' => t('No categories available.'), 'colspan' => '3'));
   }
   $output .= theme('table', $header, $rows);
 
