summaryrefslogtreecommitdiff
path: root/modules/aggregator.module
diff options
context:
space:
mode:
authorDries Buytaert <dries@buytaert.net>2005-02-10 20:33:18 +0000
committerDries Buytaert <dries@buytaert.net>2005-02-10 20:33:18 +0000
commit2ab6be1ed07f8c96e010d8098af3c6ff9db41d56 (patch)
treeb56b1a715cc3d68d32cd764f776b3c5acfbeb450 /modules/aggregator.module
parent08e7c8b3a708685ca9c5a9d780408a87c0ff9444 (diff)
downloadbrdo-2ab6be1ed07f8c96e010d8098af3c6ff9db41d56.tar.gz
brdo-2ab6be1ed07f8c96e010d8098af3c6ff9db41d56.tar.bz2
- Bugfix: the aggregator module's setting page was no more.
- Patch #16630 by Aldon: usability improvement: made the lifetime of news items configurable.
Diffstat (limited to 'modules/aggregator.module')
-rw-r--r--modules/aggregator.module22
1 files changed, 7 insertions, 15 deletions
diff --git a/modules/aggregator.module b/modules/aggregator.module
index 65b2155cd..3a6d2d43e 100644
--- a/modules/aggregator.module
+++ b/modules/aggregator.module
@@ -65,23 +65,18 @@ function aggregator_help($section) {
return t('<p>Add a site that has an RSS/RDF feed. The URL is the full path to the RSS feed file. For the feed to update automatically you must run "cron.php" on a regular basis. If you already have a feed with the URL you are planning to use, the system will not accept another feed with the same URL.</p>');
case 'admin/aggregator/add/category':
return t('<p>Categories provide a way to group items from different news feeds together. Each news category has its own feed page and block. For example, you could tag various sport-related feeds as belonging to a category called <em>Sports</em>. News items can be added to a category automatically by setting a feed to automatically place its item into that category, or by using the categorize items link in any listing of news items.</p>');
- case 'admin/aggregator/configure':
- return t('<p>These settings control the display of aggregated content.</p>');
}
}
-function aggregator_configure() {
- if ($_POST) {
- system_settings_save();
- }
-
- $output = '';
+function aggregator_settings() {
$items = array(0 => t('none')) + drupal_map_assoc(array(3, 5, 10, 15, 20, 25), '_aggregator_items');
+ $period = drupal_map_assoc(array(3600, 10800, 21600, 32400, 43200, 86400, 172800, 259200, 604800, 1209600, 2419200, 4838400, 9676800), 'format_interval');
+ $output = '';
$output .= form_select(t('Items shown in sources and categories pages'), 'aggregator_summary_items', variable_get('aggregator_summary_items', 3), $items, t('The number of items which will be shown with each feed or category in the feed and category summary pages.'));
+ $output .= form_select(t('Discard news items older than'), 'aggregator_clear', variable_get('aggregator_clear', 9676800), $period, t('Older news items will be automatically discarded. Requires crontab.'));
$output .= form_radios(t('Category selection type'), 'aggregator_category_selector', variable_get('aggregator_category_selector', 'check'), array('check' => t('checkboxes'), 'select' => t('multiple selector')), t('The type of category selection widget which is shown on categorization pages. Checkboxes are easier to use; a multiple selector is good for working with large numbers of categories.'));
-
- print theme('page', system_settings_form($output));
+ return $output;
}
/**
@@ -131,9 +126,6 @@ function aggregator_menu($may_cache) {
$items[] = array('path' => 'admin/aggregator/add/category', 'title' => t('add category'),
'callback' => 'aggregator_admin_edit_category', 'access' => $edit,
'type' => MENU_LOCAL_TASK);
- $items[] = array('path' => 'admin/settings/aggregator', 'title' => t('configure'),
- 'callback' => 'aggregator_configure', 'access' => $edit,
- 'type' => MENU_LOCAL_TASK);
$items[] = array('path' => 'aggregator', 'title' => t('news aggregator'),
'callback' => 'aggregator_page_last', 'access' => $view,
@@ -567,10 +559,10 @@ function aggregator_parse_feed(&$data, $feed) {
}
/*
- ** Remove all items that are older than 3 months:
+ ** Remove all items that are older than flush item timer:
*/
- $age = time() - 8035200; // 60 * 60 * 24 * 31 * 3
+ $age = time() - variable_get('aggregator_clear', 9676800);
$result = db_query('SELECT iid FROM {aggregator_item} WHERE fid = %d AND timestamp < %d', $feed['fid'], $age);
if (db_num_rows($result)) {