From c12e562ba213849cb703cbe0a145a627eb452833 Mon Sep 17 00:00:00 2001
From: Alex Barth <alex_b@53995.no-reply.drupal.org>
Date: Wed, 8 Sep 2010 01:10:06 +0000
Subject: [PATCH] #878002 Will White, David Goode: Support multiple sources per
 mapping target in FeedsDataProcessor.

---
 CHANGELOG.txt                  |  2 ++
 plugins/FeedsDataProcessor.inc | 10 +++++++++-
 2 files changed, 11 insertions(+), 1 deletion(-)

diff --git a/CHANGELOG.txt b/CHANGELOG.txt
index 88588b62..80511169 100644
--- a/CHANGELOG.txt
+++ b/CHANGELOG.txt
@@ -3,6 +3,8 @@
 Feeds 6.x 1.0 XXXXXXXXXXXXXXXXXX
 --------------------------------
 
+- #878002 Will White, David Goode: Support multiple sources per mapping target
+  in FeedsDataProcessor.
 - #904804 alex_b: Support exportable vocabularies.
 - #836876 rsoden, Will White, alex_b: Add simple georss support to Common
   Syndication Parser.
diff --git a/plugins/FeedsDataProcessor.inc b/plugins/FeedsDataProcessor.inc
index 9efebab7..fb6a2be0 100644
--- a/plugins/FeedsDataProcessor.inc
+++ b/plugins/FeedsDataProcessor.inc
@@ -205,6 +205,9 @@ class FeedsDataProcessor extends FeedsProcessor {
    * Set target element, bring element in a FeedsDataHandler format.
    */
   public function setTargetElement(&$target_item, $target_element, $value) {
+    if (empty($value)) {
+      return;
+    }
     if (strpos($target_element, '.')) {
 
       /**
@@ -226,7 +229,12 @@ class FeedsDataProcessor extends FeedsProcessor {
           $field => $v,
         );
       }
-      $target_item['#'. $table] = $values;
+      if (is_array($target_item["#$table"])) {
+        $target_item["#$table"] = array_merge($target_item["#$table"], $values);
+      }
+      else {
+        $target_item["#$table"] = $values;
+      }
     }
     else {
       $target_item[$target_element] = $value;
-- 
GitLab