You are here

function salesforce_api_fieldmap_edit_form_submit in Salesforce Suite 5.2

Same name and namespace in other branches
  1. 6.2 salesforce_api/salesforce_api.admin.inc \salesforce_api_fieldmap_edit_form_submit()
  2. 7 salesforce_api/salesforce_api.admin.inc \salesforce_api_fieldmap_edit_form_submit()
  3. 7.2 salesforce_api/salesforce_api.admin.inc \salesforce_api_fieldmap_edit_form_submit()

File

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

Code

function salesforce_api_fieldmap_edit_form_submit($form_id, $form_values) {

  // Load the fieldmap from the database.
  $map = salesforce_api_fieldmap_load($form_values['fieldmap_index']);

  // Reset the fields array on the fieldmap.
  $map['fields'] = array();

  // Get the object definition for the target object.
  if ($map['action'] == 'import') {
    $object = salesforce_api_fieldmap_objects_load('drupal', $map['drupal']);
  }
  else {
    $object = salesforce_api_fieldmap_objects_load('salesforce', $map['salesforce']);
  }

  // Loop through all the fields on the object.
  foreach (array_keys($object['fields']) as $field) {

    // If a field has been mapped to this field on the form...
    if (!empty($form_values[$field])) {

      // Add the association to the fieldmap's fields array.
      $map['fields'][$field] = $form_values[$field];
    }
  }

  // Save the updated fieldmap.
  salesforce_api_fieldmap_save($map);

  // Display a message and return to the admin page.
  drupal_set_message(t('The changes have been saved.'));
  return SALESFORCE_PATH_FIELDMAPS;
}