You are here

function salesforce_api_requirements in Salesforce Suite 7.2

Same name and namespace in other branches
  1. 6.2 salesforce_api/salesforce_api.install \salesforce_api_requirements()
  2. 7 salesforce_api/salesforce_api.install \salesforce_api_requirements()

Implements hook_requirements().

Check the Salesforce API configuration to see if we have valid credentials.

File

salesforce_api/salesforce_api.install, line 184
Installs any global tables needed for Salesforce integration.

Code

function salesforce_api_requirements($phase) {
  $req = array();
  if ($phase == 'runtime') {
    require_once DRUPAL_ROOT . '/' . drupal_get_path('module', 'salesforce_api') . '/salesforce_api.module';
    $username = variable_get('salesforce_api_username', FALSE);
    if (!salesforce_api_toolkit_installed()) {
      $description = t('Salesforce module installed, but missing Salesforce PHP Toolkit. Please make sure Salesforce PHP Toolkit is available at ' . SALESFORCE_DIR_SOAPCLIENT . '/SforceEnterpriseClient.php');
      $severity = REQUIREMENT_WARNING;
    }
    elseif (!$username) {
      $description = l(t('Salesforce module installed but not configured. Please enter your credentials.'), SALESFORCE_PATH_ADMIN);
      $severity = REQUIREMENT_WARNING;
    }
    elseif (!salesforce_api_connect()) {
      $description = t('Unable to connect to Salesforce using <a href="!url">current credentials</a>.', array(
        '!url' => url(SALESFORCE_PATH_ADMIN),
      ));
      $severity = REQUIREMENT_WARNING;
    }
    elseif (!salesforce_api_encryption_available(array(
      'check_config' => FALSE,
    ))) {
      $description = t('Encryption is unavailable. Using encryption is recommended in order to better secure your data.');
      $severity = REQUIREMENT_INFO;
    }
    elseif (!salesforce_api_encryption_available(array(
      'check_config' => TRUE,
    ))) {
      $description = t('Salesforce encryption is enabled but not configured securely.');
      $severity = REQUIREMENT_WARNING;
    }
    else {
      $description = t('Salesforce libraries and credentials OK.');
      $severity = REQUIREMENT_OK;
    }
  }
  if (!empty($description)) {
    $req[] = array(
      'title' => t('Salesforce Configuration'),
      'value' => l('Salesforce Admin', SALESFORCE_PATH_ADMIN),
      'description' => $description,
      'severity' => $severity,
    );
  }
  return $req;
}