You are here

function salesforce_mapping_get_fieldmap_types in Salesforce Suite 7.3

Get the Salesforce fieldmap types array.

Parameters

string $fieldmap_type: The fieldmap type, e.g. property, for which the info shall be returned, or NULL to return an array with info about all types.

See also

hook_salesforce_mapping_fieldmap_type()

hook_salesforce_mapping_fieldmap_type_alter()

7 calls to salesforce_mapping_get_fieldmap_types()
salesforce_mapping_form in modules/salesforce_mapping/includes/salesforce_mapping.admin.inc
Return a form for a Salesforce mapping entity.
salesforce_mapping_form_submit in modules/salesforce_mapping/includes/salesforce_mapping.admin.inc
Submit handler for salesforce_mapping_form().
salesforce_mapping_form_validate in modules/salesforce_mapping/includes/salesforce_mapping.admin.inc
Validate callback for salesforce_mapping_form().
salesforce_pull_map_fields in modules/salesforce_pull/salesforce_pull.module
Map field values.
salesforce_push_map_params in modules/salesforce_push/salesforce_push.module
Map Drupal values to a Salesforce object.

... See full list

File

modules/salesforce_mapping/salesforce_mapping.module, line 712

Code

function salesforce_mapping_get_fieldmap_types($fieldmap_type = NULL) {

  // Use the advanced drupal_static() pattern, since this is called very often.
  static $drupal_static_fast;
  if (!isset($drupal_static_fast)) {
    $drupal_static_fast['salesforce_mapping_fieldmap_type'] =& drupal_static(__FUNCTION__);
  }
  $salesforce_mapping_fieldmap_type =& $drupal_static_fast['salesforce_mapping_fieldmap_type'];
  if (empty($salesforce_mapping_fieldmap_type)) {
    if ($cache = cache_get('salesforce_mapping_fieldmap_type')) {
      $salesforce_mapping_fieldmap_type = $cache->data;
    }
    else {
      $salesforce_mapping_fieldmap_type = module_invoke_all('salesforce_mapping_fieldmap_type');

      // Let other modules alter the fieldmap type.
      drupal_alter('salesforce_mapping_fieldmap_type', $salesforce_mapping_fieldmap_type);
      cache_set('salesforce_mapping_fieldmap_type', $salesforce_mapping_fieldmap_type);
    }
  }
  if (empty($fieldmap_type)) {
    return $salesforce_mapping_fieldmap_type;
  }
  elseif (isset($salesforce_mapping_fieldmap_type[$fieldmap_type])) {
    return $salesforce_mapping_fieldmap_type[$fieldmap_type];
  }
}