You are here

function acquia_agent_check_subscription in Acquia Connector 7.2

Same name and namespace in other branches
  1. 6.2 acquia_agent/acquia_agent.module \acquia_agent_check_subscription()
  2. 6 acquia_agent/acquia_agent.module \acquia_agent_check_subscription()
  3. 7.3 acquia_agent/acquia_agent.module \acquia_agent_check_subscription()
  4. 7 acquia_agent/acquia_agent.module \acquia_agent_check_subscription()

Get subscription status from Acquia, and store the result.

This check also sends a heartbeat to Acquia Insight unless $params['no_heartbeat'] == 1.

Return value

xmlrpc error number int or subscription data

9 calls to acquia_agent_check_subscription()
AcquiaAgentTestCase::testAcquiaAgentSubscription in acquia_agent/tests/acquia_agent.test
Test Agent subscription methods.
acquia_agent_automatic_setup_form_submit in acquia_agent/acquia_agent.pages.inc
acquia_agent_cron in acquia_agent/acquia_agent.module
Implementation of hook_cron().
acquia_agent_init in acquia_agent/acquia_agent.module
Implements hook_init().
acquia_agent_manual_status in acquia_agent/acquia_agent.module
Substituted menu callback for 'admin/reports/updates/check'.

... See full list

File

acquia_agent/acquia_agent.module, line 257
Acquia Agent securely sends information to Acquia Insight.

Code

function acquia_agent_check_subscription($params = array()) {
  $current_subscription = acquia_agent_settings('acquia_subscription_data');
  $subscription = FALSE;
  $active = FALSE;
  if (!acquia_agent_has_credentials()) {

    // If there is not an identifier or key, delete any old subscription data.
    variable_del('acquia_subscription_data');
  }
  else {

    // Get our subscription data
    $subscription = acquia_agent_get_subscription($params);
    if (is_numeric($subscription)) {
      switch ($subscription) {
        case SUBSCRIPTION_NOT_FOUND:
        case SUBSCRIPTION_EXPIRED:

          // Fall through since these values are stored and used by
          // acquia_search_acquia_subscription_status()
          break;
        default:

          // Likely server error (503) or connection timeout (-110) so leave
          // current subscription in place. _acquia_agent_request() logged an
          // error message.
          return $current_subscription;
      }
    }
    elseif ($subscription === FALSE) {

      // Occurs when response validation failed so do not invoke status update.
      return $current_subscription;
    }
    variable_set('acquia_subscription_data', $subscription);

    // Check if our main subscription is active
    if ($subscription) {
      $active = acquia_agent_subscription_is_active();
    }
  }
  module_invoke_all('acquia_subscription_status', $active, $subscription);
  return $subscription;
}