You are here

function acquia_connector_update_status_alter in Acquia Connector 8

Same name and namespace in other branches
  1. 8.2 acquia_connector.module \acquia_connector_update_status_alter()
  2. 3.x acquia_connector.module \acquia_connector_update_status_alter()

Implements hook_update_status_alter().

File

./acquia_connector.module, line 166
Acquia Connector module.

Code

function acquia_connector_update_status_alter(&$projects) {
  if (!($subscription = acquia_connector_has_update_service())) {

    // Get subscription data or return if the service is not enabled.
    return;
  }
  acquia_connector_load_versions();
  foreach ($projects as $project => $project_info) {
    if ($project == 'drupal') {
      if (isset($subscription['update'])) {
        $projects[$project]['status'] = isset($subscription['update']['status']) ? $subscription['update']['status'] : t('Unknown');
        $projects[$project]['releases'] = isset($subscription['update']['releases']) ? $subscription['update']['releases'] : [];
        $projects[$project]['recommended'] = isset($subscription['update']['recommended']) ? $subscription['update']['recommended'] : '';
        $projects[$project]['latest_version'] = isset($subscription['update']['latest_version']) ? $subscription['update']['latest_version'] : '';

        // Security updates are a separate piece of data. If we leave it, then
        // core security warnings from drupal.org will also be displayed on the
        // update page.
        unset($projects[$project]['security updates']);
      }
      else {
        $projects[$project]['status'] = UpdateFetcherInterface::NOT_CHECKED;
        $projects[$project]['reason'] = t('No information available from Acquia.');
        unset($projects[$project]['releases']);
        unset($projects[$project]['recommended']);
      }
      $projects[$project]['link'] = 'http://acquia.com/products-services/acquia-drupal';
      $projects[$project]['title'] = 'Acquia Drupal';
      $projects[$project]['existing_version'] = ACQUIA_DRUPAL_VERSION;
      $projects[$project]['install_type'] = 'official';
      unset($projects[$project]['extra']);
    }
    elseif ($project_info['datestamp'] == 'acquia drupal') {
      $projects['drupal']['includes'][$project] = !empty($project_info['title']) ? $project_info['title'] : '';
      unset($projects[$project]);
    }
  }
}