function salesforce_api_fieldmap_clone in Salesforce Suite 5.2
Same name and namespace in other branches
- 6.2 salesforce_api/salesforce_api.module \salesforce_api_fieldmap_clone()
- 7 salesforce_api/salesforce_api.module \salesforce_api_fieldmap_clone()
- 7.2 salesforce_api/salesforce_api.module \salesforce_api_fieldmap_clone()
Clones a fieldmap, updating fields as necessary for a change in action.
Parameters
$index: The index of the fieldmap to clone.
$action: The action to switch to for the cloned fieldmap.
Return value
The newly created fieldmap or FALSE if the clone failed.
1 call to salesforce_api_fieldmap_clone()
- salesforce_api_fieldmap_clone_form_submit in salesforce_api/
salesforce_api.admin.inc
File
- salesforce_api/
salesforce_api.module, line 487 - Defines an API that enables modules to interact with the Salesforce server.
Code
function salesforce_api_fieldmap_clone($index, $action) {
// Load the fieldmap from the database.
$map = salesforce_api_fieldmap_load($index);
// Return FALSE if the source fieldmap does not exist.
if (empty($map)) {
return FALSE;
}
// Assign a new index to the fieldmap.
$map['index'] = salesforce_api_fieldmap_next_index();
// Switch the action and update the fields if necessary.
if ($map['action'] != $action) {
$map['action'] = $action;
$fields = array();
// Loop through all the fields to reverse the associations.
foreach ($map['fields'] as $key => $value) {
// If a value hasn't been set for the old source field, set it now.
if (empty($fields[$value])) {
$fields[$value] = $key;
}
}
// Update the fieldmap with the new fields array.
$map['fields'] = $fields;
}
// Save the new fieldmap and return its index.
salesforce_api_fieldmap_save($map);
return $map;
}