You are here

function salesforce_settings_form in Salesforce Suite 7.3

Generate the Salesforce settings form.

1 string reference to 'salesforce_settings_form'
salesforce_menu in ./salesforce.module
Implements hook_menu().

File

./salesforce.module, line 266
API and module for Salesforce integration.

Code

function salesforce_settings_form($form, &$form_state) {

  // Get the default or current setting.
  $api_version = variable_get('salesforce_api_version', array(
    "label" => "Winter '14",
    "url" => "/services/data/v29.0/",
    "version" => "29.0",
  ));
  $api_list = array(
    $api_version,
  );

  // If we're authenticated, get the full list of available versions.
  $salesforce = salesforce_get_api();
  $instance = $salesforce
    ->getInstanceUrl();
  if ($instance) {

    // Get all available API versions.
    $api_list = drupal_http_request($instance . "/services/data");
    $api_list = drupal_json_decode($api_list->data);
  }

  // Store api list for use in our validate callback.
  $form_state['api_list'] = $api_list;

  // Build the options array.
  $options = array();
  foreach ($api_list as $api) {
    $options[$api['version']] = $api['label'] . ' (' . $api['version'] . ')';
  }
  $form['salesforce_api_version'] = array(
    '#type' => 'select',
    '#title' => t('API Version'),
    '#description' => t('Select the version of the Salesforce API to use'),
    '#default_value' => $api_version['version'],
    '#options' => $options,
  );
  $form['#validate'][] = 'salesforce_settings_form_validate';
  return system_settings_form($form);
}