You are here

function salesforce_api_settings_form_submit in Salesforce Suite 7.2

Same name and namespace in other branches
  1. 6.2 salesforce_api/salesforce_api.admin.inc \salesforce_api_settings_form_submit()
  2. 7 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 265
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'];
  $dir = variable_get('salesforce_api_dir_wsdl', FALSE);
  if (empty($dir)) {
    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,
      array(
        'query' => array(
          'destination' => SALESFORCE_PATH_ADMIN,
        ),
      ),
    );
    ini_set('soap.wsdl_cache_enabled', '0');
  }
  if (isset($values['salesforce_api_reset_credentials']) && $values['salesforce_api_reset_credentials'] == 1) {
    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 (isset($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']);
  }
}