=== modified file 'feedapi.module'
--- feedapi.module	2009-10-24 15:44:49 +0000
+++ feedapi.module	2009-10-24 15:46:29 +0000
@@ -386,7 +386,7 @@
     $modules = module_implements('feedapi_settings_form');
     foreach ($modules as $module) {
       $form['feedapi']['defaults'] = array('#type' => 'markup', '#value' => '<strong>'. t('Default settings') .'</strong><hr/>');
-      if ($feedapi_form = module_invoke($module, 'feedapi_settings_form', 'general')) {
+      if ($feedapi_form = module_invoke($module, 'feedapi_settings_form', 'general', $form['#node_type']->type)) {
         $form['feedapi'] = array_merge_recursive($form['feedapi'], $feedapi_form);
       }
     }
@@ -423,7 +423,7 @@
         '#default_value' => isset($node_type_settings['parsers'][$parser]['weight']) ? $node_type_settings['parsers'][$parser]['weight'] : 0,
         '#weight' => -14,
       );
-      if ($parser_form = module_invoke($parser, 'feedapi_settings_form', 'parsers')) {
+      if ($parser_form = module_invoke($parser, 'feedapi_settings_form', 'parsers', $form['#node_type']->type)) {
         $form['feedapi']['parsers'][$parser]['defaults'] = array('#type' => 'markup', '#value' => '<strong>'. t('Default settings') .'</strong><hr/>');
         $form['feedapi']['parsers'][$parser] = array_merge_recursive($form['feedapi']['parsers'][$parser], $parser_form);
       }
@@ -461,7 +461,7 @@
         '#default_value' => isset($node_type_settings['processors'][$processor]['weight']) ? $node_type_settings['processors'][$processor]['weight'] : 0,
         '#weight' => -14,
       );
-      if ($processor_form = module_invoke($processor, 'feedapi_settings_form', 'processors')) {
+      if ($processor_form = module_invoke($processor, 'feedapi_settings_form', 'processors', $form['#node_type']->type)) {
         $form['feedapi']['processors'][$processor]['defaults'] = array('#type' => 'markup', '#value' => '<strong>'. t('Default settings') .'</strong><hr/>');
         $form['feedapi']['processors'][$processor] = array_merge_recursive($form['feedapi']['processors'][$processor], $processor_form);
       }
@@ -529,7 +529,7 @@
       // retrieve forms.
       $modules = module_implements('feedapi_settings_form');
       foreach ($modules as $module) {
-        if ($feedapi_form = module_invoke($module, 'feedapi_settings_form', 'general')) {
+        if ($feedapi_form = module_invoke($module, 'feedapi_settings_form', 'general', $form['type']['#value'])) {
           $form['feedapi'] = array_merge_recursive($form['feedapi'], $feedapi_form);
         }
       }
@@ -543,7 +543,7 @@
         foreach ($suitable_handlers as $module) {
           if (isset($node_type_settings[$type][$module]) && $node_type_settings[$type][$module]['enabled']) {
             $result = array();
-            $result = module_invoke($module, 'feedapi_settings_form', $type);
+            $result = module_invoke($module, 'feedapi_settings_form', $type, $form['type']['#value']);
             if (is_array($result)) {
               $result['#weight'] = $node_type_settings[$type][$module]['weight'];
               $form['feedapi'][$type][$module] = $result;

=== modified file 'feedapi_inherit/feedapi_inherit.module'
--- feedapi_inherit/feedapi_inherit.module	2009-10-24 15:44:49 +0000
+++ feedapi_inherit/feedapi_inherit.module	2009-10-24 15:46:29 +0000
@@ -61,7 +61,7 @@
  * to return different forms for parsers and processors.
  * There might be a better term for parsers and processors than $type.
  */
-function feedapi_inherit_feedapi_settings_form($type) {
+function feedapi_inherit_feedapi_settings_form($type, $node_type) {
   $form = array();
 
   switch ($type) {
@@ -90,6 +90,22 @@
         '#title' => t('Feed item nodes will be authored by the same user as the parent feed.'),
         '#default_value' => TRUE,
       );
+      if (module_exists('content')) {
+        $options = array();
+        $content_type = content_types($node_type);
+        if ($content_type['fields']) {
+          foreach ($content_type['fields'] as $name => $field) {
+            $options[$name] = $field['widget']['label'];
+          }
+          $form['inherit_fields'] = array(
+            '#type' => 'checkboxes',
+            '#title' => t('Fields'),
+            '#options' => $options,
+            '#description' => t('Select which fields will be inherited to the feed items.  The same field must be shared on both feed and the feed item.'),
+            '#default_value' => array()
+          );
+        }
+      }
       break;
   }
   return $form;
@@ -107,6 +123,7 @@
     $inherit_og = $feed_node->feed->settings['processors']['feedapi_inherit']['inherit_og'];
     $inherit_author = $feed_node->feed->settings['processors']['feedapi_inherit']['inherit_author'];
     $inherit_translation = $feed_node->feed->settings['processors']['feedapi_inherit']['inherit_language'];
+    $inherit_fields = $feed_node->feed->settings['processors']['feedapi_inherit']['inherit_fields'];
   }
 
   // Pass on author data
@@ -159,4 +176,11 @@
   if ($inherit_translation && module_exists('translation')) {
     $item_node->language = $feed_node->language;
   }
+
+  // Pass on fields
+  if ($inherit_fields && module_exists('content')) {
+    foreach ($inherit_fields as $name => $field) {
+      $item_node->$name = $feed_node->$name;
+    }
+  }
 }

