function sf_entity_export_field_default in Salesforce Suite 7
Same name and namespace in other branches
- 7.2 sf_entity/sf_entity.module \sf_entity_export_field_default()
1 string reference to 'sf_entity_export_field_default'
- sf_entity_fieldmap_objects in sf_entity/
sf_entity.module - Implements hook_fieldmap_objects_alter().
File
- sf_entity/
sf_entity.module, line 312 - Integrates fieldable entities with the Salesforce API.
Code
function sf_entity_export_field_default($entity, $fieldkey, $drupal_field_definition, $sf_field_definition) {
global $language;
// Get the data array for the field.
list($fieldname, $column) = explode(':', $fieldkey, 2);
if (empty($column)) {
$column = 'value';
}
$lang = empty($entity->language) ? $language->language : $entity->language;
if (isset($entity->{$fieldname}[$lang])) {
$data = $entity->{$fieldname}[$lang];
}
elseif (!empty($entity->{$fieldname}) && is_array($entity->{$fieldname})) {
$data = current($entity->{$fieldname});
}
else {
dpm(func_get_args());
return;
}
switch ($sf_field_definition['salesforce']['type']) {
case 'multipicklist':
// SF wants a semicolon-delimited string for multipicklist values
$values = array();
foreach ($data as $row) {
$values[] = $row[$column];
}
$result = implode(';', $values);
break;
default:
// Unless handled above, use only the first value.
$result = $data[0][$column];
break;
}
return $result;
}