function salesforce_api_fieldmap_options in Salesforce Suite 7
Same name and namespace in other branches
- 5.2 salesforce_api/salesforce_api.module \salesforce_api_fieldmap_options()
- 6.2 salesforce_api/salesforce_api.module \salesforce_api_fieldmap_options()
- 7.2 salesforce_api/salesforce_api.module \salesforce_api_fieldmap_options()
Returns an array of fieldmaps for use as options in the Forms API.
Parameters
$entity: Filters the fieldmaps by entity.
$bundle: Filters the fieldmaps by bundle
$salesforce: Filters the fieldmaps by Salesforce object.
$automatic: Optional: Filter the fieldmaps to only pull those marked automatic.
Return value
A FAPI options array of all the matching fieldmaps.
1 call to salesforce_api_fieldmap_options()
- sf_entity_salesforce_form in sf_entity/
sf_entity.module
File
- salesforce_api/
salesforce_api.module, line 504 - Defines an API that enables modules to interact with the Salesforce server.
Code
function salesforce_api_fieldmap_options($entity = NULL, $bundle = NULL, $salesforce = NULL) {
$options = array();
// This does not need to not be optimized for perfomance since it's only an admin interface.
$query = db_select('salesforce_field_map', 's')
->fields('s');
if (!empty($entity)) {
$query
->condition('drupal_entity', $entity);
}
if (!empty($bundle)) {
$query
->condition('drupal_bundle', $bundle);
}
if (!empty($salesforce)) {
$query
->condition('salesforce', $salesforce, 'LIKE');
}
$result = $query
->execute();
while ($map = $result
->fetch(PDO::FETCH_ASSOC)) {
// Setup some replacement args for the label.
$args = array(
'@drupal' => salesforce_api_fieldmap_object_label('drupal', $map['drupal_bundle'], $map['drupal_entity']),
'@salesforce' => salesforce_api_fieldmap_object_label('salesforce', 'salesforce', $map['salesforce']),
);
$options[$map['fieldmap']] = t('Drupal @drupal to Salesforce @salesforce', $args);
}
return $options;
}