You are here

function hook_update_status_alter in Drupal 9

Same name and namespace in other branches
  1. 8 core/modules/update/update.api.php \hook_update_status_alter()
  2. 7 modules/update/update.api.php \hook_update_status_alter()

Alter the information about available updates for projects.

Parameters

$projects: Reference to an array of information about available updates to each project installed on the system.

See also

update_calculate_project_data()

Related topics

1 function implements hook_update_status_alter()

Note: this list is generated by pattern matching, so it may include some functions that are not actually implementations of this hook.

update_test_update_status_alter in core/modules/update/tests/modules/update_test/update_test.module
Implements hook_update_status_alter().
1 invocation of hook_update_status_alter()
update_calculate_project_data in core/modules/update/update.compare.inc
Calculates the current update status of all projects on the site.

File

core/modules/update/update.api.php, line 87
Hooks provided by the Update Manager module.

Code

function hook_update_status_alter(&$projects) {
  $settings = \Drupal::config('update_advanced.settings')
    ->get('projects');
  foreach ($projects as $project => $project_info) {
    if (isset($settings[$project]) && isset($settings[$project]['check']) && ($settings[$project]['check'] == 'never' || isset($project_info['recommended']) && $settings[$project]['check'] === $project_info['recommended'])) {
      $projects[$project]['status'] = UpdateFetcherInterface::NOT_CHECKED;
      $projects[$project]['reason'] = t('Ignored from settings');
      if (!empty($settings[$project]['notes'])) {
        $projects[$project]['extra'][] = [
          'class' => [
            'admin-note',
          ],
          'label' => t('Administrator note'),
          'data' => $settings[$project]['notes'],
        ];
      }
    }
  }
}