public static function StatusReportPage::preRenderCounters in Drupal 9
Same name and namespace in other branches
- 8 core/modules/system/src/Element/StatusReportPage.php \Drupal\system\Element\StatusReportPage::preRenderCounters()
- 10 core/modules/system/src/Element/StatusReportPage.php \Drupal\system\Element\StatusReportPage::preRenderCounters()
#pre_render callback to create counter elements.
File
- core/
modules/ system/ src/ Element/ StatusReportPage.php, line 74
Class
- StatusReportPage
- Creates status report page element.
Namespace
Drupal\system\ElementCode
public static function preRenderCounters($element) {
// Count number of items with different severity for summary.
$counters = [
'error' => [
'amount' => 0,
'text' => t('Error'),
'text_plural' => t('Errors'),
],
'warning' => [
'amount' => 0,
'text' => t('Warning'),
'text_plural' => t('Warnings'),
],
'checked' => [
'amount' => 0,
'text' => t('Checked', [], [
'context' => 'Examined',
]),
'text_plural' => t('Checked', [], [
'context' => 'Examined',
]),
],
];
$severities = StatusReport::getSeverities();
foreach ($element['#requirements'] as $key => &$requirement) {
$severity = $severities[REQUIREMENT_INFO];
if (isset($requirement['severity'])) {
$severity = $severities[(int) $requirement['severity']];
}
elseif (defined('MAINTENANCE_MODE') && MAINTENANCE_MODE == 'install') {
$severity = $severities[REQUIREMENT_OK];
}
if (isset($counters[$severity['status']])) {
$counters[$severity['status']]['amount']++;
}
}
foreach ($counters as $key => $counter) {
if ($counter['amount'] === 0) {
continue;
}
$text = new PluralTranslatableMarkup($counter['amount'], $counter['text'], $counter['text_plural']);
$element['#counters'][$key] = [
'#theme' => 'status_report_counter',
'#amount' => $counter['amount'],
'#text' => $text,
'#severity' => $key,
];
}
return $element;
}