function patchinfo_form_update_manager_update_form_alter in PatchInfo 8.2
Same name and namespace in other branches
- 8 patchinfo.module \patchinfo_form_update_manager_update_form_alter()
- 7 patchinfo.module \patchinfo_form_update_manager_update_form_alter()
Implements hook_form_FORM_ID_alter() for update_manager_update_form().
File
- ./
patchinfo.module, line 50 - Patch Info primary module file.
Code
function patchinfo_form_update_manager_update_form_alter(&$form, FormStateInterface $form_state, $form_id) {
// Add our CSS.
$form['#attached']['library'][] = 'patchinfo/patchinfo';
// Add a highly visible notice for patched modules.
$patch_info = _patchinfo_get_info();
if (count($patch_info) > 0) {
// Get project information from update manager service.
$projects = \Drupal::service('update.manager')
->getProjects();
// Check each project and its submodules for patches.
foreach (Element::children($form['project_downloads']) as $module) {
$patches = _patchinfo_get_patches($patch_info, $projects[$module]);
if (count($patches) > 0) {
// Determine, if the module is enabled or disabled and add the patch
// list to the appropriate section of the form.
$key = '';
if (isset($form['projects']['#options'][$module]['title'])) {
$key = 'projects';
}
elseif (isset($form['disabled_projects']['#options'][$module]['title'])) {
$key = 'disabled_projects';
}
if (!empty($key)) {
$patch_list = [
'#theme' => 'patchinfo_patches',
'#patches' => $patches,
];
$form[$key]['#options'][$module]['title']['data']['patches'] = $patch_list;
}
}
}
// If a manual update is available, check, if Drupal core has any
// patches. If so, show a warning above the update form.
if (isset($form['manual_updates'])) {
$patches_drupal = _patchinfo_get_patches($patch_info, $projects['drupal']);
if (count($patches_drupal) > 0) {
$patch_list = [
'#theme' => 'patchinfo_patches',
'#patches' => $patches_drupal,
];
$form['manual_updates']['#rows']['drupal']['data']['title']['data']['patches'] = $patch_list;
}
}
}
}