Index: feedapi_mapper.module
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/feedapi_mapper/feedapi_mapper.module,v
retrieving revision 1.2.2.14
diff -u -p -r1.2.2.14 feedapi_mapper.module
--- feedapi_mapper.module	4 Aug 2009 20:03:52 -0000	1.2.2.14
+++ feedapi_mapper.module	7 Aug 2009 13:30:19 -0000
@@ -90,7 +90,7 @@ function feedapi_mapper_nodeapi(&$node, 
     case 'prepare':
       if (isset($node->feedapi) && $node->feedapi->feed_item) {
         $feed_node = node_load($node->feedapi->feed_nid);
-        $node = feedapi_mapper_map($feed_node, $node->feedapi->feed_item, $node);
+        $node = feedapi_mapper_map($feed_node, 'feedapi_node', $node->feedapi->feed_item, $node);
       }
       break;
   }
@@ -157,7 +157,7 @@ function feedapi_mapper_access_mapper($n
  * @return 
  *   The target object with elements populated by mappers.
  */
-function feedapi_mapper_map($feed_node, $item, $target = array()) {
+function feedapi_mapper_map($feed_node, $processor, $item, $target = array()) {
   $mapping = feedapi_mapper_load_mapping($feed_node);
   if ($mapping['mapping']) {
     // Load available mappers.
@@ -171,7 +171,7 @@ function feedapi_mapper_map($feed_node, 
         $element_path = unserialize($element_path);
         // Get the feed item element on $element_path and pass it into the mapping function.
         $feed_item_element = feedapi_mapper_get_element($element_path, $item);
-        $target = call_user_func($field[0] .'_feedapi_mapper', 'map', $feed_node, $target, $feed_item_element, $field[1], isset($field[2]) ? $field[2] : NULL);
+        $target = call_user_func($field[0] .'_feedapi_mapper', 'map', $feed_node, $processor, $target, $feed_item_element, $field[1], isset($field[2]) ? $field[2] : NULL);
       }
     }
   }
@@ -622,18 +622,22 @@ function _feedapi_mapper_get_field_mappe
   _feedapi_mapper_load_mappers();
   $modules = module_implements('feedapi_mapper');
   $field_mappers = array();
+  $feed_settings = feedapi_get_settings($feed_node->type, $feed_node->vid);
+  $active_processors = array_keys($feed_settings['processors']);
   foreach ($modules as $module) {
-    if ($fields = module_invoke($module, 'feedapi_mapper', 'list', $feed_node)) {
-      foreach ($fields as $field_name => $sub_fields) {
-        $field_label = is_string($sub_fields) ? $sub_fields : $field_name;
-        $field_category = t('@field (@module)', array('@field' => $field_label, '@module' => $module));
-        if (is_array($sub_fields)) {
-          foreach ($sub_fields as $sub_field_id => $sub_field_name) {
-            $field_mappers[$field_category][serialize(array($module, $field_name, $sub_field_id))] = $field_category .': '. $sub_field_name;
+    foreach ($active_processors as $processor) {
+      if ($fields = module_invoke($module, 'feedapi_mapper', 'list', $feed_node, $processor)) {
+        foreach ($fields as $field_name => $sub_fields) {
+          $field_label = is_string($sub_fields) ? $sub_fields : $field_name;
+          $field_category = t('@field (@module)', array('@field' => $field_label, '@module' => $module));
+          if (is_array($sub_fields)) {
+            foreach ($sub_fields as $sub_field_id => $sub_field_name) {
+              $field_mappers[$field_category][serialize(array($module, $field_name, $sub_field_id))] = $field_category .': '. $sub_field_name;
+            }
+          }
+          else {
+            $field_mappers[serialize(array($module, $field_name))] = $field_category;
           }
-        }
-        else {
-          $field_mappers[serialize(array($module, $field_name))] = $field_category;
         }
       }
     }
@@ -657,9 +661,13 @@ function _feedapi_mapper_get_field_mappe
   _feedapi_mapper_load_mappers();
   $modules = module_implements('feedapi_mapper');
   $descriptions = array();
+  $feed_settings = feedapi_get_settings($feed_node->type, $feed_node->vid);
+  $active_processors = array_keys($feed_settings['processors']);
   foreach ($modules as $module) {
-    if ($description = module_invoke($module, 'feedapi_mapper', 'describe', $feed_node)) {
-      $descriptions[$module] = $description;
+    foreach ($active_processors as $processor) {
+      if ($description = module_invoke($module, 'feedapi_mapper', 'describe', $feed_node, $processor)) {
+        $descriptions[$module] = $description;
+      }
     }
   }
   return $descriptions;
Index: mappers/feedapi_mapper_content.inc
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/feedapi_mapper/mappers/feedapi_mapper_content.inc,v
retrieving revision 1.2.2.1
diff -u -p -r1.2.2.1 feedapi_mapper_content.inc
--- mappers/feedapi_mapper_content.inc	14 Jul 2009 17:25:26 -0000	1.2.2.1
+++ mappers/feedapi_mapper_content.inc	7 Aug 2009 13:30:20 -0000
@@ -6,10 +6,10 @@
  *
  * @see hook_feedapi_mapper()
  */
-function content_feedapi_mapper($op, $feed_node, $node = NULL, $feed_element = array(), $field_name = '', $sub_field = '') {
+function content_feedapi_mapper($op, $feed_node, $active_processor, $node = NULL, $feed_element = array(), $field_name = '', $sub_field = '') {
 
-  // Only map nodes.
-  if (!$node_type = feedapi_mapper_get_item_node_type($feed_node)) {
+  // Checks processor compatibility.
+  if ($active_processor != 'feedapi_node') {
     return;
   }
 
Index: mappers/feedapi_mapper_date.inc
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/feedapi_mapper/mappers/feedapi_mapper_date.inc,v
retrieving revision 1.2.2.3
diff -u -p -r1.2.2.3 feedapi_mapper_date.inc
--- mappers/feedapi_mapper_date.inc	27 Jul 2009 15:47:35 -0000	1.2.2.3
+++ mappers/feedapi_mapper_date.inc	7 Aug 2009 13:30:20 -0000
@@ -6,10 +6,10 @@
  *
  * @see hook_feedapi_mapper()
  */
-function date_feedapi_mapper($op, $feed_node, $node = NULL, $feed_element = array(), $field_name = '', $sub_field = '') {
+function date_feedapi_mapper($op, $feed_node, $active_processor, $node = NULL, $feed_element = array(), $field_name = '', $sub_field = '') {
 
-  // Only map nodes.
-  if (!$node_type = feedapi_mapper_get_item_node_type($feed_node)) {
+  // Checks processor compatibility.
+  if ($active_processor != 'feedapi_node') {
     return;
   }
 
Index: mappers/feedapi_mapper_emimage.inc
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/feedapi_mapper/mappers/feedapi_mapper_emimage.inc,v
retrieving revision 1.2.2.1
diff -u -p -r1.2.2.1 feedapi_mapper_emimage.inc
--- mappers/feedapi_mapper_emimage.inc	14 Jul 2009 17:25:26 -0000	1.2.2.1
+++ mappers/feedapi_mapper_emimage.inc	7 Aug 2009 13:30:20 -0000
@@ -6,10 +6,10 @@
  *
  * @see hook_feedapi_mapper()
  */
-function emimage_feedapi_mapper($op, $feed_node, $node = NULL, $feed_element = array(), $field_name = '', $sub_field = '') {
+function emimage_feedapi_mapper($op, $feed_node, $active_processor, $node = NULL, $feed_element = array(), $field_name = '', $sub_field = '') {
 
-  // Only map nodes.
-  if (!$node_type = feedapi_mapper_get_item_node_type($feed_node)) {
+  // Checks processor compatibility.
+  if ($active_processor != 'feedapi_node') {
     return;
   }
 
Index: mappers/feedapi_mapper_emvideo.inc
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/feedapi_mapper/mappers/feedapi_mapper_emvideo.inc,v
retrieving revision 1.2.2.1
diff -u -p -r1.2.2.1 feedapi_mapper_emvideo.inc
--- mappers/feedapi_mapper_emvideo.inc	14 Jul 2009 17:25:26 -0000	1.2.2.1
+++ mappers/feedapi_mapper_emvideo.inc	7 Aug 2009 13:30:20 -0000
@@ -6,10 +6,10 @@
  *
  * @see hook_feedapi_mapper()
  */
-function emvideo_feedapi_mapper($op, $feed_node, $node = NULL, $feed_element = array(), $field_name = '', $sub_field = '') {
+function emvideo_feedapi_mapper($op, $feed_node, $active_processor, $node = NULL, $feed_element = array(), $field_name = '', $sub_field = '') {
 
-  // Only map nodes.
-  if (!$node_type = feedapi_mapper_get_item_node_type($feed_node)) {
+  // Checks processor compatibility.
+  if ($active_processor != 'feedapi_node') {
     return;
   }
 
Index: mappers/feedapi_mapper_link.inc
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/feedapi_mapper/mappers/feedapi_mapper_link.inc,v
retrieving revision 1.2.2.1
diff -u -p -r1.2.2.1 feedapi_mapper_link.inc
--- mappers/feedapi_mapper_link.inc	14 Jul 2009 17:25:26 -0000	1.2.2.1
+++ mappers/feedapi_mapper_link.inc	7 Aug 2009 13:30:20 -0000
@@ -6,10 +6,10 @@
  * 
  * @see hook_feedapi_mapper()
  */
-function link_feedapi_mapper($op, $feed_node, $node = NULL, $feed_element = array(), $field_name = '', $sub_field = '') {
+function link_feedapi_mapper($op, $feed_node, $active_processor, $node = NULL, $feed_element = array(), $field_name = '', $sub_field = '') {
   
-  // Only map nodes.
-  if (!$node_type = feedapi_mapper_get_item_node_type($feed_node)) {
+  // Checks processor compatibility.
+  if ($active_processor != 'feedapi_node') {
     return;
   }
 
Index: mappers/feedapi_mapper_location.inc
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/feedapi_mapper/mappers/feedapi_mapper_location.inc,v
retrieving revision 1.2.2.1
diff -u -p -r1.2.2.1 feedapi_mapper_location.inc
--- mappers/feedapi_mapper_location.inc	14 Jul 2009 17:25:26 -0000	1.2.2.1
+++ mappers/feedapi_mapper_location.inc	7 Aug 2009 13:30:20 -0000
@@ -6,10 +6,10 @@
  * 
  * @see hook_feedapi_mapper()
  */
-function location_feedapi_mapper($op, $feed_node, $node = NULL, $feed_element = array(), $field_name = '', $sub_field = '') {
+function location_feedapi_mapper($op, $feed_node, $active_processor, $node = NULL, $feed_element = array(), $field_name = '', $sub_field = '') {
 
-  // Only map nodes.
-  if (!$node_type = feedapi_mapper_get_item_node_type($feed_node)) {
+  // Checks processor compatibility.
+  if ($active_processor != 'feedapi_node') {
     return;
   }
 
Index: mappers/feedapi_mapper_node.inc
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/feedapi_mapper/mappers/feedapi_mapper_node.inc,v
retrieving revision 1.2.2.1
diff -u -p -r1.2.2.1 feedapi_mapper_node.inc
--- mappers/feedapi_mapper_node.inc	14 Jul 2009 17:25:26 -0000	1.2.2.1
+++ mappers/feedapi_mapper_node.inc	7 Aug 2009 13:30:20 -0000
@@ -12,10 +12,10 @@
  * - if default mapping is removed, nothing is mapped to target (= e. g. body 
  *   stays empty)
  */
-function node_feedapi_mapper($op, $feed_node, $node = NULL, $feed_element = array(), $field_name = '', $sub_field = '') {
+function node_feedapi_mapper($op, $feed_node, $active_processor, $node = NULL, $feed_element = array(), $field_name = '', $sub_field = '') {
 
-  // Only map nodes.
-  if (!$node_type = feedapi_mapper_get_item_node_type($feed_node)) {
+  // Checks processor compatibility.
+  if ($active_processor != 'feedapi_node') {
     return;
   }
 
Index: mappers/feedapi_mapper_taxonomy.inc
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/feedapi_mapper/mappers/feedapi_mapper_taxonomy.inc,v
retrieving revision 1.2.2.1
diff -u -p -r1.2.2.1 feedapi_mapper_taxonomy.inc
--- mappers/feedapi_mapper_taxonomy.inc	14 Jul 2009 17:25:26 -0000	1.2.2.1
+++ mappers/feedapi_mapper_taxonomy.inc	7 Aug 2009 13:30:20 -0000
@@ -6,10 +6,10 @@
  * 
  * @see hook_feedapi_mapper()
  */
-function taxonomy_feedapi_mapper($op, $feed_node, $node = NULL, $feed_element = array(), $field_name = '', $sub_field = '') {
+function taxonomy_feedapi_mapper($op, $feed_node, $active_processor, $node = NULL, $feed_element = array(), $field_name = '', $sub_field = '') {
 
-  // Only map nodes.
-  if (!$node_type = feedapi_mapper_get_item_node_type($feed_node)) {
+  // Checks processor compatibility.
+  if ($active_processor != 'feedapi_node') {
     return;
   }
 
