You are here

public function SalesforceMapping::getMappedFields in Salesforce Suite 7.3

Return an array of Salesforce Field Names included in this mapping.

Parameters

array $directions: If given, only include fields mapped in this or these directions. Possible values are: SALESFORCE_MAPPING_DIRECTION_SYNC SALESFORCE_MAPPING_DIRECTION_SF_DRUPAL SALESFORCE_MAPPING_DIRECTION_DRUPAL_SF @see salesforce_mapping.module

Return value

array $mapped_fields Indexes and keys are both Salesforce Field (machine) Name

File

modules/salesforce_mapping/includes/salesforce_mapping.entity.inc, line 52
Contains SalesforceMapping.

Class

SalesforceMapping
Entity class for Salesforce Mappings

Code

public function getMappedFields(array $directions = NULL) {
  $mapped_fields = array();
  foreach ($this->field_mappings as $field_map) {
    if (empty($directions) || in_array($field_map['direction'], $directions)) {

      // Some field map types (Relation) store a collection of SF objects.
      if (is_array($field_map['salesforce_field']) && !isset($field_map['salesforce_field']['name'])) {
        foreach ($field_map['salesforce_field'] as $sf_field) {
          $mapped_fields[$sf_field['name']] = $sf_field['name'];
        }
      }
      else {
        $mapped_fields[$field_map['salesforce_field']['name']] = $field_map['salesforce_field']['name'];
      }
    }
  }
  if (!empty($this
    ->getMappedRecordTypes())) {
    $mapped_fields['RecordTypeId'] = 'RecordTypeId';
  }
  return $mapped_fields;
}