You are here

function salesforce_api_settings_form_submit in Salesforce Suite 6.2

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

Settings form submit handler so that password doesn't get deleted.

1 string reference to 'salesforce_api_settings_form_submit'
salesforce_api_settings_form in salesforce_api/salesforce_api.admin.inc
The settings form at admin/settings/salesforce.

File

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

Code

function salesforce_api_settings_form_submit($form, &$form_state) {

  // If the user hit "Save Configuration" and the required field
  // salesforce_api_password is blank, try to get it from variables
  $values = $form_state['values'];
  if (variable_get('salesforce_api_dir_wsdl', FALSE) != $values['salesforce_api_dir_wsdl']) {
    drupal_set_message(t('Please make sure the WSDL directory is writeable, and upload a valid Salesforce .xml or .wsdl file.'));
    $form_state['redirect'] = array(
      SALESFORCE_PATH_UPDATE_WSDL,
      'destination=' . SALESFORCE_PATH_ADMIN,
    );
    ini_set('soap.wsdl_cache_enabled', '0');
  }
  if ($values['salesforce_api_reset_credentials']) {
    unset($form_state['values']['salesforce_api_reset_credentials']);
    foreach (array(
      'username',
      'password',
      'token',
      'encrypt',
    ) as $value) {
      variable_del('salesforce_api_' . $value);
      unset($form_state['values']['salesforce_api_' . $value]);
    }
    drupal_set_message(t('Salesforce credentials reset.'));

    // If credentials were reset, we don't need to continue to encryption.
    return;
  }
  if ($values['salesforce_api_encrypt'] && !empty($values['salesforce_api_username'])) {
    $form_state['values']['salesforce_api_username'] = salesforce_api_encrypt($values['salesforce_api_username']);
    $form_state['values']['salesforce_api_password'] = salesforce_api_encrypt($values['salesforce_api_password']);
    $form_state['values']['salesforce_api_token'] = salesforce_api_encrypt($values['salesforce_api_token']);
  }
}