diff --git a/mappers/field.inc b/mappers/field.inc index 43d62c4..dd8978c 100644 --- a/mappers/field.inc +++ b/mappers/field.inc @@ -110,18 +110,24 @@ function _field_feeds_set_target($source, $entity, $target, $value, $input_forma $i = 0; $field = isset($entity->$target) ? $entity->$target : array(); foreach ($value as $v) { - if (!is_array($v) && !is_object($v)) { - $field['und'][$i]['value'] = $v; + // Check if field value is empty. + if(empty($v[0])){ + continue; } - if ($input_format) { - if (isset($format)) { - $field['und'][$i]['format'] = $format; + if ($v !== FALSE && $v !== NULL && $v !== '') { + if (!is_array($v) && !is_object($v)) { + $field['und'][$i]['value'] = $v; } + if ($input_format) { + if (isset($format)) { + $field['und'][$i]['format'] = $format; + } + } + if ($info['cardinality'] == 1) { + break; + } + $i++; } - if ($info['cardinality'] == 1) { - break; - } - $i++; } $entity->{$target} = $field; } diff --git a/mappers/link.inc b/mappers/link.inc index 029b795..09f59fe 100644 --- a/mappers/link.inc +++ b/mappers/link.inc @@ -54,6 +54,10 @@ function link_feeds_set_target($source, $entity, $target, $value) { $info = field_info_field($target); list($field_name, $sub_field) = explode(':', $target); foreach ($value as $v) { + // Check if link value is empty. + if(empty($v[0])){ + continue; + } if (!is_array($v) && !is_object($v)) { if (strstr($target, 'url')) { if (isset($entity->{$field_name}['und'][$i]['title'])) { diff --git a/mappers/taxonomy.inc b/mappers/taxonomy.inc index 201dff6..fa93f28 100644 --- a/mappers/taxonomy.inc +++ b/mappers/taxonomy.inc @@ -84,6 +84,10 @@ function taxonomy_feeds_set_target($source, $entity, $target, $terms) { $i = 0; $entity->$target = isset($entity->$target) ? $entity->$target : array(); foreach ($terms as $term) { + // If term is empty, ignore it. + if (empty($term)){ + continue; + } $tid = 0; if ($term instanceof FeedsTermElement) { $tid = $term->tid;