You are here

function _sf_fieldmap_edit_get_unmapped_fields in Salesforce Suite 7.2

Helper function for populating the unmapped fields dropdown box.

1 call to _sf_fieldmap_edit_get_unmapped_fields()
salesforce_api_fieldmap_edit_form in salesforce_api/salesforce_api.admin.inc

File

salesforce_api/salesforce_api.admin.inc, line 841
Contains the admin page callbacks for the Salesforce module, including forms for general settings and fieldmap administration.

Code

function _sf_fieldmap_edit_get_unmapped_fields($fields, $map) {

  // Iterate over the Salesforce-side fields to sort them.
  $default_fields = array();
  $custom_fields = array();
  foreach ($fields as $field_name => $data) {
    if (strpos($field_name, '__c') !== FALSE) {
      $custom_fields[$field_name] = $data;
    }
    else {
      $default_fields[$field_name] = $data;
    }
  }
  $custom_fields = _sf_subval_sort($custom_fields, 'label');

  // Determine which fields haven't been set yet.
  $unmapped_fields_default = array();
  foreach ($default_fields as $key => $field) {
    if (!isset($map->fields[$key])) {
      $unmapped_fields_default[$key] = $field['label'];
    }
  }
  if (count($custom_fields)) {
    $unmapped_fields_custom = array();
    foreach ($custom_fields as $key => $field) {
      if (!isset($map->fields[$key])) {
        $unmapped_fields_custom[$key] = $field['label'];
      }
    }
  }
  if (isset($unmapped_fields_custom)) {
    $unmapped_fields = array(
      'Default Fields' => $unmapped_fields_default,
      'Custom Fields' => $unmapped_fields_custom,
    );
  }
  else {
    $unmapped_fields = array(
      'Default Fields' => $unmapped_fields_default,
    );
  }
  return $unmapped_fields;
}