#493674: move the previously global 'feed_item_length' setting to the aggregator.

From: Damien Tournoud <damien@tournoud.net>


---
 aggregator/aggregator.install       |    3 ++-
 aggregator/aggregator.pages.inc     |    2 +-
 aggregator/aggregator.processor.inc |    7 +++++++
 node/node.module                    |    2 --
 system/system.admin.inc             |    7 -------
 5 files changed, 10 insertions(+), 11 deletions(-)

diff --git modules/aggregator/aggregator.install modules/aggregator/aggregator.install
index 70d2070..6638852 100644
--- modules/aggregator/aggregator.install
+++ modules/aggregator/aggregator.install
@@ -270,8 +270,9 @@ function aggregator_update_7000() {
 }
 
 /**
- * Add aggregator teaser length to settings from old global default teaser length
+ * Copy values from previously global settings.
  */
 function aggregator_update_7001() {
+  variable_set('aggregator_feed_item_length', variable_get('feed_item_length'));
   variable_set('aggregator_teaser_length', variable_get('teaser_length'));
 }
diff --git modules/aggregator/aggregator.pages.inc modules/aggregator/aggregator.pages.inc
index 0f62b00..b7d1e08 100644
--- modules/aggregator/aggregator.pages.inc
+++ modules/aggregator/aggregator.pages.inc
@@ -380,7 +380,7 @@ function theme_aggregator_page_rss($variables) {
   drupal_add_http_header('Content-Type', 'application/rss+xml; charset=utf-8');
 
   $items = '';
-  $feed_length = variable_get('feed_item_length', 'fulltext');
+  $feed_length = variable_get('aggregator_feed_item_length', 'fulltext');
   foreach ($feeds as $feed) {
     switch ($feed_length) {
       case 'teaser':
diff --git modules/aggregator/aggregator.processor.inc modules/aggregator/aggregator.processor.inc
index 8d32ef0..add4b52 100644
--- modules/aggregator/aggregator.processor.inc
+++ modules/aggregator/aggregator.processor.inc
@@ -111,6 +111,13 @@ function aggregator_form_aggregator_admin_form_alter(&$form, $form_state) {
       'select' => t('multiple selector')),
       '#description' => t('For a small number of categories, checkboxes are easier to use, while a multiple selector works well with large numbers of categories.'),
     );
+    $form['modules']['aggregator']['aggregator_feed_item_length'] = array(
+      '#type' => 'select',
+      '#title' => t('Feed content'),
+      '#default_value' => 'fulltext',
+      '#options' => array('title' => t('Titles only'), 'teaser' => t('Titles plus teaser'), 'fulltext' => t('Full text')),
+      '#description' => t('Default setting for the display of content items in each exported feed.')
+    );
     $form['modules']['aggregator']['aggregator_teaser_length'] = array(
       '#type' => 'select',
       '#title' => t('Length of trimmed description'),
diff --git modules/node/node.module modules/node/node.module
index b04b184..c80372b 100644
--- modules/node/node.module
+++ modules/node/node.module
@@ -2065,9 +2065,7 @@ function node_feed($nids = FALSE, $channel = array()) {
       ->fetchCol();
   }
 
-  $item_length = variable_get('feed_item_length', 'fulltext');
   $namespaces = array('xmlns:dc' => 'http://purl.org/dc/elements/1.1/');
-  $teaser = ($item_length == 'teaser');
 
   // Load all nodes to be rendered.
   $nodes = node_load_multiple($nids);
diff --git modules/system/system.admin.inc modules/system/system.admin.inc
index 9690c8f..af8e194 100644
--- modules/system/system.admin.inc
+++ modules/system/system.admin.inc
@@ -1727,13 +1727,6 @@ function system_rss_feeds_settings() {
     '#options' => drupal_map_assoc(array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 15, 20, 25, 30)),
     '#description' => t('Default number of items to include in each feed.')
   );
-  $form['feed_item_length'] = array(
-    '#type' => 'select',
-    '#title' => t('Feed content'),
-    '#default_value' => 'fulltext',
-    '#options' => array('title' => t('Titles only'), 'teaser' => t('Titles plus teaser'), 'fulltext' => t('Full text')),
-    '#description' => t('Global setting for the default display of content items in each feed.')
-  );
 
   return system_settings_form($form, TRUE);
 }
