function _sf_node_import_cck_default in Salesforce Suite 6.2
Same name and namespace in other branches
- 5.2 sf_node/sf_node.module \_sf_node_import_cck_default()
2 string references to '_sf_node_import_cck_default'
- hook_fieldmap_objects in ./
hooks.php - Expose fields to fieldmappings.
- sf_node_fieldmap_objects in sf_node/
sf_node.module - Implementation of hook_fieldmap_objects_alter().
File
- sf_node/
sf_node.module, line 306 - Integrates the core node object and various node related modules with the Salesforce API.
Code
function _sf_node_import_cck_default(&$node, $drupal_fieldname, $drupal_field_definition, $sf_data, $sf_fieldname, $sf_field_definition) {
$data = array();
list($drupal_fieldname, $column) = explode(':', $drupal_fieldname, 2);
if (empty($column)) {
$column = 'value';
}
// Convert data based on what SF type we're importing.
switch ($sf_field_definition['salesforce']['type']) {
case 'multipicklist':
// SF sends multiple values as a semicolon-delimited string.
if ($drupal_field_definition['multiple']) {
$sf_data = explode(';', $sf_data->{$sf_fieldname});
foreach ($sf_data as $row) {
$data[] = array(
$column => $row,
);
}
}
else {
$data[0][$column] = $sf_data->{$sf_fieldname};
}
break;
default:
// Unless handled above in this switch, we don't yet handle fields with multiple values.
$data[0][$column] = $sf_data->{$sf_fieldname};
break;
}
$node->{$drupal_fieldname} = $data;
}