function salesforce_api_demo in Salesforce Suite 5.2
Same name and namespace in other branches
- 6.2 salesforce_api/salesforce_api.admin.inc \salesforce_api_demo()
- 7 salesforce_api/salesforce_api.admin.inc \salesforce_api_demo()
- 7.2 salesforce_api/salesforce_api.admin.inc \salesforce_api_demo()
Demonstrates some of the API functionality through the Salesforce class and fieldmap functionality.
Parameters
$demo: The name of the demonstration to perform.
Return value
A string containing the page output.
1 string reference to 'salesforce_api_demo'
- salesforce_api_menu in salesforce_api/
salesforce_api.module - Implementation of hook_menu().
File
- salesforce_api/
salesforce_api.module, line 250 - Defines an API that enables modules to interact with the Salesforce server.
Code
function salesforce_api_demo($demo = NULL) {
// Attempt to connect to Salesforce.
$sf = salesforce_api_connect();
// Display an error message if the connection failed.
if (!$sf) {
return t('Could not connect to Salesforce. Please doublecheck your API credentials.');
}
// Display the server timestamp first.
$response = $sf->client
->getServerTimestamp();
$output = '<p>' . t('<b>Salesforce server timestamp:</b> @timestamp', array(
'@timestamp' => $response->timestamp,
)) . '</p>';
// Add a specific demo's output.
if ($demo == 'user-export') {
global $user;
// Fully load the user account so we get profile data.
$account = user_load(array(
'uid' => $user->uid,
));
// Create an object for export based on fieldmap 1.
$object = salesforce_api_fieldmap_export_create(1, $account);
$output .= t('Your user account prepared for export as a Contact based on <a href="!url">fieldmap 1</a>:', array(
'!url' => url(SALESFORCE_PATH_FIELDMAPS . '/1/edit'),
)) . '<pre>' . print_r($object, TRUE) . '</pre>';
// Export the object to Salesforce as a Contact.
$response = $sf->client
->create(array(
$object,
), 'Contact');
$output .= t('The response from Salesforce upon creation:') . '<pre>' . print_r($response, TRUE) . '</pre>';
}
elseif ($demo == 'campaign-export') {
// Load the campaign node.
$node = node_load(1);
// Create an object for export based on fieldmap 10.
$object = salesforce_api_fieldmap_export_create(10, $node);
$output .= t('Your campaign prepared for export as a Campaign based on <a href="!url">fieldmap 10</a>:', array(
'!url' => url(SALESFORCE_PATH_FIELDMAPS . '/10/edit'),
)) . '<pre>' . print_r($object, TRUE) . '</pre>';
// Export the object to Salesforce as a Contact.
$response = $sf->client
->create(array(
$object,
), 'Campaign');
$output .= t('The response from Salesforce upon creation:') . '<pre>' . print_r($response, TRUE) . '</pre>';
}
$items = array(
l(t('Export your user account as a contact'), SALESFORCE_PATH_DEMO . '/user-export'),
l(t('Export node 1 as a campaign'), SALESFORCE_PATH_DEMO . '/campaign-export'),
);
$output .= '<p>' . t('<b>Choose from the following demonstrations:</b>') . theme('item_list', $items) . '</p>';
return $output;
}