function acquia_agent_get_subscription in Acquia Connector 7.2
Same name and namespace in other branches
- 6.2 acquia_agent/acquia_agent.module \acquia_agent_get_subscription()
- 7.3 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.
Return value
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 Set the derived key for a specific environment, using an id and key. Also set the url to point to the acquia service to make it easier for customers to set any environment as an acquia environment
File
- acquia_agent/
acquia_agent.module, line 304 - Acquia Agent securely sends information to Acquia Insight.
Code
function acquia_agent_get_subscription($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;
}