You are here

function salesforce_api_fieldmap_options in Salesforce Suite 6.2

Same name and namespace in other branches
  1. 5.2 salesforce_api/salesforce_api.module \salesforce_api_fieldmap_options()
  2. 7 salesforce_api/salesforce_api.module \salesforce_api_fieldmap_options()
  3. 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

$drupal: Filters the fieldmaps by Drupal object.

$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.

4 calls to salesforce_api_fieldmap_options()
sf_node_salesforce_form in sf_node/sf_node.module
sf_node_salesforce_form_access in sf_node/sf_node.module
sf_user_salesforce_form in sf_user/sf_user.module
sf_user_salesforce_form_access in sf_user/sf_user.module

File

salesforce_api/salesforce_api.module, line 748
Defines an API that enables modules to interact with the Salesforce server.

Code

function salesforce_api_fieldmap_options($drupal = NULL, $salesforce = NULL) {
  $options = array();

  // This does not need to not be optimized for perfomance since it's only an admin interface.
  $maps = salesforce_api_salesforce_field_map_load_all();
  foreach ($maps as $map) {
    if ($drupal && $map->drupal != $drupal) {
      continue;
    }
    if ($salesforce && $map->salesforce != $salesforce) {
      continue;
    }
    if (is_array($map)) {
      $map = (object) $map;
    }

    // Setup some replacement args for the label.
    $args = array(
      '@drupal' => salesforce_api_fieldmap_object_label('drupal', $map->drupal),
      '@salesforce' => salesforce_api_fieldmap_object_label('salesforce', $map->salesforce),
    );
    $options[$map->name] = t('Drupal @drupal to Salesforce @salesforce', $args);
  }
  return $options;
}