You are here

function list_feeds_set_boolean_target in Feeds 7.2

Callback for setting list_boolean fields.

1 string reference to 'list_feeds_set_boolean_target'
list_feeds_processor_targets in mappers/list.inc
Implements hook_feeds_processor_targets().

File

mappers/list.inc, line 52
On behalf implementation of Feeds mapping API for list.module.

Code

function list_feeds_set_boolean_target(FeedsSource $source, $entity, $target, array $values, array $mapping) {
  $language = $mapping['language'];
  $field = isset($entity->{$target}) ? $entity->{$target} : array(
    $language => array(),
  );
  foreach ($values as $value) {
    if (is_object($value) && $value instanceof FeedsElement) {
      $value = $value
        ->getValue();
    }
    if (is_string($value) && strlen($value) == 0) {

      // Don't convert an empty string to a boolean.
      continue;
    }
    if (is_null($value)) {

      // Don't convert a NULL value to a boolean.
      continue;
    }
    $field[$language][] = array(
      'value' => (int) (bool) $value,
    );
  }
  $entity->{$target} = $field;
}