function feeds_xls_feeds_set_target_numeric in Feeds XLS 7
Callback for mapping numerics.
Ensure that $value is a numeric to avoid database errors. This will also map from a value to a key for list fields.
1 string reference to 'feeds_xls_feeds_set_target_numeric'
File
- ./
feeds_xls.module, line 237
Code
function feeds_xls_feeds_set_target_numeric($source, $entity, $target, $value) {
if (!is_array($value)) {
$value = array(
$value,
);
}
foreach ($value as $k => $v) {
if (!is_numeric($v)) {
// We load the field and try to do the mapping.
$field = field_info_field($target);
if (isset($field['settings']['allowed_values'])) {
$key = array_search($v, $field['settings']['allowed_values']);
if ($field && is_numeric($key)) {
$value[$k] = $key;
}
else {
unset($value[$k]);
}
}
}
}
number_feeds_set_target($source, $entity, $target, $value, FALSE);
}