You are here

function salesforce_api_cache_build in Salesforce Suite 6.2

Same name and namespace in other branches
  1. 7 salesforce_api/salesforce_api.module \salesforce_api_cache_build()
  2. 7.2 salesforce_api/salesforce_api.module \salesforce_api_cache_build()

Recreate the salesforce object cache

4 calls to salesforce_api_cache_build()
salesforce_api_admin_object_submit in salesforce_api/salesforce_api.admin.inc
FAPI submit handler Gather enabled SF Objects and rebuild the cache.
salesforce_api_cron in salesforce_api/salesforce_api.module
Implementation of hook_cron().
salesforce_api_fieldmap_objects in salesforce_api/salesforce_api.module
Implementation of hook_fieldmap_objects().
salesforce_api_fieldmap_target_enabled in salesforce_api/salesforce_api.module
Helper function to determine whether the Salesforce object (target) for a given fieldmap is available.
1 string reference to 'salesforce_api_cache_build'
salesforce_api_settings_form in salesforce_api/salesforce_api.admin.inc
The settings form at admin/settings/salesforce.

File

salesforce_api/salesforce_api.module, line 538
Defines an API that enables modules to interact with the Salesforce server.

Code

function salesforce_api_cache_build() {
  $sf_objects = variable_get('salesforce_api_enabled_objects', array(
    'Campaign',
    'Contact',
    'Lead',
  ));
  $result = salesforce_api_describeSObjects($sf_objects);
  foreach ($sf_objects as $i => $obj) {
    $objects[$obj] = salesforce_api_object_to_fieldmap_fields($result[$obj]);
  }

  // find the expiry time
  $lifetime = variable_get('salesforce_api_object_expire', CACHE_PERMANENT);
  $expire = $lifetime == CACHE_PERMANENT ? CACHE_PERMANENT : time() + $lifetime;
  cache_set('salesforce_api_sf_objects', $objects, $table = 'cache', $expire, $headers = NULL);
  if (user_access('administer salesforce')) {
    drupal_set_message(t('Salesforce object cache has been refreshed.'));
  }
  return $objects;
}