function acquia_agent_get_subscription in Acquia Connector 7.3
Same name and namespace in other branches
- 6.2 acquia_agent/acquia_agent.module \acquia_agent_get_subscription()
- 7.2 acquia_agent/acquia_agent.module \acquia_agent_get_subscription()
Get subscription status from Acquia.
This check also sends a heartbeat to Acquia Insight unless $params['no_heartbeat'] == 1.
Parameters
array $params: Params.
string $identifier: Identifier.
string $key: Key.
string $acquia_network_address: Network address.
Return value
mixed FALSE, integer (xmlrpc error number), or subscription data
4 calls to acquia_agent_get_subscription()
- acquia_agent_check_subscription in acquia_agent/
acquia_agent.module - Get subscription status from Acquia, and store the result.
- acquia_agent_subscription_is_active in acquia_agent/
acquia_agent.module - Helper function to check if the site has an active subscription.
- acquia_search_get_environment in acquia_search/
acquia_search.module - Predefined Acquia Search network environment.
- acquia_search_set_derived_key_for_env in acquia_search/
drush/ acquia_search.drush.inc - Drush callback.
File
- acquia_agent/
acquia_agent.module, line 300 - Acquia Agent securely sends information to Acquia Insight.
Code
function acquia_agent_get_subscription(array $params = array(), $identifier = NULL, $key = NULL, $acquia_network_address = NULL) {
// There is an identifier and key, so attempt communication.
$subscription = array();
$subscription['timestamp'] = time();
// Include version number information.
acquia_agent_load_versions();
if (IS_ACQUIA_DRUPAL) {
$params['version'] = ACQUIA_DRUPAL_VERSION;
$params['series'] = ACQUIA_DRUPAL_SERIES;
$params['branch'] = ACQUIA_DRUPAL_BRANCH;
$params['revision'] = ACQUIA_DRUPAL_REVISION;
}
// Include Acquia Search module version number.
if (module_exists('acquia_search')) {
foreach (array(
'acquia_search',
'apachesolr',
) as $name) {
$info = system_get_info('module', $name);
// Send the version, or at least the core compatibility as a fallback.
$params['search_version'][$name] = isset($info['version']) ? (string) $info['version'] : (string) $info['core'];
}
}
// Include Acquia Search for Search API module version number.
if (module_exists('search_api_acquia')) {
foreach (array(
'search_api_acquia',
'search_api',
'search_api_solr',
) as $name) {
$info = system_get_info('module', $name);
// Send the version, or at least the core compatibility as a fallback.
$params['search_version'][$name] = isset($info['version']) ? (string) $info['version'] : (string) $info['core'];
}
}
// Retrieve our subscription details.
$data = acquia_agent_call('acquia.agent.subscription', $params, $identifier, $key, $acquia_network_address);
// Check for errors.
if ($errno = xmlrpc_errno()) {
return $errno;
}
elseif (acquia_agent_valid_response($data, $key)) {
// Add the response to our subscription array.
$subscription += $data['result']['body'];
}
else {
watchdog('acquia agent', 'HMAC validation error: <pre>@data</pre>', array(
'@data' => var_export($data, TRUE),
), WATCHDOG_ERROR);
return FALSE;
}
return $subscription;
}