function sf_entity_import_field_default in Salesforce Suite 7.2
Same name and namespace in other branches
- 7 sf_entity/sf_entity.module \sf_entity_import_field_default()
2 string references to 'sf_entity_import_field_default'
- sf_entity_fieldmap_objects in sf_entity/sf_entity.module
- sf_entity_import in sf_entity/sf_entity.module
- Imports data from Salesforce into a Drupal entity
File
- sf_entity/sf_entity.module, line 1306
- Integrates fieldable entities with the Salesforce API.
Code
function sf_entity_import_field_default(&$entity, $fieldkey, $drupal_field_definition, $sf_data, $sf_fieldname, $sf_field_definition) {
$lang = _sf_entity_get_language($entity);
list($fieldname, $column) = explode(':', $fieldkey, 2);
if (empty($column)) {
$column = 'value';
}
$data = array();
if (property_exists($entity, $fieldname) && is_array($entity->{$fieldname})) {
$data = $entity->{$fieldname};
}
if (!isset($sf_data->{$sf_fieldname})) {
return;
}
switch ($sf_field_definition['salesforce']['type']) {
case 'multipicklist':
if (isset($drupal_field_definition['multiple'])) {
$sf_data = explode(';', $sf_data->{$sf_fieldname});
foreach ($sf_data as $row) {
$data[$lang][] = array(
'value' => $row,
);
}
}
else {
$data[$lang][0][$column] = $sf_data->{$sf_fieldname};
}
break;
case 'boolean':
$data[$lang][0][$column] = (int) $sf_data->{$sf_fieldname};
break;
case 'date':
case 'datetime':
$data[$lang][0][$column] = substr($sf_data->{$sf_fieldname}, 0, 19);
break;
default:
$data[$lang][0][$column] = $sf_data->{$sf_fieldname};
break;
}
$entity->{$fieldname} = $data;
}