? jamesan_19646.patch
? 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.25
diff -u -p -r1.25 aggregator.admin.inc
--- modules/aggregator/aggregator.admin.inc	24 Feb 2009 16:48:18 -0000	1.25
+++ modules/aggregator/aggregator.admin.inc	30 Mar 2009 21:19:32 -0000
@@ -54,6 +54,7 @@ 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');
 
   if (!isset($feed)) {
     $feed = new stdClass();
Index: modules/aggregator/aggregator.module
===================================================================
RCS file: /cvs/drupal/drupal/modules/aggregator/aggregator.module,v
retrieving revision 1.405
diff -u -p -r1.405 aggregator.module
--- modules/aggregator/aggregator.module	1 Mar 2009 07:21:02 -0000	1.405
+++ modules/aggregator/aggregator.module	30 Mar 2009 21:19:32 -0000
@@ -287,7 +287,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);
   }
