You are here

function salesforce_api_retrieve in Salesforce Suite 6.2

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

Wraps SforceBaseClient::retrieve. Retrieve an object from Salesforce with standard fields and any data in fields defined in the name object.

Parameters

$ids: An array of Salesforce IDs for the objects to retrieve.

$name: The name of the fieldmap that contains the fields to retrieve.

Return value

The single matching Salesforce objects or an array of all the objects if more than one are returned.

4 calls to salesforce_api_retrieve()
sf_node_import in sf_node/sf_node.module
Imports data from Salesforce into a node.
sf_node_salesforce_form in sf_node/sf_node.module
sf_user_import in sf_user/sf_user.module
Imports data from Salesforce into a user.
sf_user_salesforce_form in sf_user/sf_user.module

File

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

Code

function salesforce_api_retrieve($ids, $name) {
  $sf = salesforce_api_connect();
  if (!$sf) {

    // Let modules react to a failure to export this node.
    module_invoke_all('salesforce_api_export_connect_fail', NULL, $name, $ids);
    if (user_access('administer salesforce')) {
      drupal_set_message(t('Unable to connect to Salesforce using <a href="!url">current credentials</a>.', array(
        '!url' => url(SALESFORCE_PATH_ADMIN),
      )));
    }
    return FALSE;
  }

  // Load the fieldmap so we can get the object name.
  $map = salesforce_api_fieldmap_load($name);
  $object = salesforce_api_fieldmap_objects_load('salesforce', $map->salesforce);
  $fields = array_keys($object['fields']);
  return $sf->client
    ->retrieve(implode(', ', $fields), $map->salesforce, $ids);
}