? 19646-aggregator-refresh-never-21.patch
? 19646-aggregator-refresh-never-23.patch
? 60468-14_never_discard.patch
? 60468-19-aggregator-never-discard.patch
? modules/aggregator/aggregator-feed-info.tpl.php
? modules/aggregator/aggregator.admin.inc.rej.txt
? sites/default/files
? sites/default/settings.php
Index: modules/aggregator/aggregator.admin.inc
===================================================================
RCS file: /cvs/drupal/drupal/modules/aggregator/aggregator.admin.inc,v
retrieving revision 1.27
diff -u -p -r1.27 aggregator.admin.inc
--- modules/aggregator/aggregator.admin.inc	13 May 2009 19:38:28 -0000	1.27
+++ modules/aggregator/aggregator.admin.inc	16 May 2009 21:18:11 -0000
@@ -27,7 +27,7 @@ function aggregator_view() {
   $header = array(t('Title'), t('Items'), t('Last update'), t('Next update'), array('data' => t('Operations'), 'colspan' => '3'));
   $rows = array();
   foreach ($result as $feed) {
-    $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(REQUEST_TIME - $feed->checked))) : t('never')), ($feed->checked ? t('%time left', array('%time' => format_interval($feed->checked + $feed->refresh - REQUEST_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(REQUEST_TIME - $feed->checked))) : t('never')), ($feed->checked && $feed->refresh ? t('%time left', array('%time' => format_interval($feed->checked + $feed->refresh - REQUEST_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"));
   }
   $output .= theme('table', $header, $rows);
 
@@ -54,6 +54,8 @@ function aggregator_view() {
  */
 function aggregator_form_feed(&$form_state, stdClass $feed = NULL) {
   $period = drupal_map_assoc(array(900, 1800, 3600, 7200, 10800, 21600, 32400, 43200, 64800, 86400, 172800, 259200, 604800, 1209600, 2419200), 'format_interval');
+  $period[0] = t('Never');
+  
   $form['title'] = array('#type' => 'textfield',
     '#title' => t('Title'),
     '#default_value' => isset($feed->title) ? $feed->title : '',
Index: modules/aggregator/aggregator.module
===================================================================
RCS file: /cvs/drupal/drupal/modules/aggregator/aggregator.module,v
retrieving revision 1.407
diff -u -p -r1.407 aggregator.module
--- modules/aggregator/aggregator.module	14 May 2009 08:23:14 -0000	1.407
+++ modules/aggregator/aggregator.module	16 May 2009 21:18:11 -0000
@@ -279,7 +279,7 @@ function aggregator_perm() {
  * Checks news feeds for updates once their refresh interval has elapsed.
  */
 function aggregator_cron() {
-  $result = db_query('SELECT * FROM {aggregator_feed} WHERE checked + refresh < :time', array(':time' => REQUEST_TIME));
+  $result = db_query('SELECT * FROM {aggregator_feed} WHERE checked + refresh < :time AND refresh > 0', array(':time' => REQUEST_TIME));
   foreach ($result as $feed) {
     aggregator_refresh($feed);
   }
