function upgrade_rector_upgrade_status_result_alter in Upgrade Rector 8
Implements hook_upgrade_status_result_alter().
File
- ./
upgrade_rector.module, line 107
Code
function upgrade_rector_upgrade_status_result_alter(&$build, Extension $extension, $group_key) {
if ($group_key == 'rector') {
$rector_results = \Drupal::service('keyvalue')
->get('upgrade_status_rector_results');
$rector_processor = \Drupal::service('upgrade_rector.rector_processor');
$raw_rector_result = $rector_results
->get($extension
->getName());
if (empty($raw_rector_result)) {
// Patch generation did not run yet, don't change anything here.
return;
}
else {
$processed_result = $rector_processor
->processResults($raw_rector_result, $extension);
if ($processed_result['state'] === 'success' && empty($processed_result['patch'])) {
$class = 'upgrade-status-ok-label';
$label = t('Nothing to patch');
}
elseif ($processed_result['state'] === 'fail') {
$class = 'upgrade-status-error-label';
$label = t('Patch error');
}
else {
$class = 'upgrade-status-ok-label';
$label = t('Patch available');
}
}
$url = Url::fromRoute('upgrade_rector.result', [
'type' => $extension
->getType(),
'project_machine_name' => $extension
->getName(),
]);
$rector_info = [
'rector_info' => [
'#type' => 'link',
'#prefix' => '<div class="upgrade-status-space">',
'#suffix' => '</div>',
'#title' => $label,
'#url' => $url,
'#attributes' => [
'class' => [
'use-ajax',
$class,
],
'data-dialog-type' => 'modal',
'data-dialog-options' => Json::encode([
'width' => 1024,
'height' => 568,
]),
],
],
];
$build['description'] = $rector_info;
}
}