function acquia_contenthub_diagnostic_requirements in Acquia Content Hub 8
Implements hook_requirements().
File
- acquia_contenthub_diagnostic/
acquia_contenthub_diagnostic.install, line 11 - Install, update, and uninstall functions.
Code
function acquia_contenthub_diagnostic_requirements($phase) {
$requirements = [];
if ($phase == 'runtime') {
$severities = [];
/** @var \Drupal\acquia_contenthub_diagnostic\ContentHubRequirementManager $plugin_manager */
$plugin_manager = \Drupal::service('plugin.manager.acquia_contenthub_requirement');
foreach ($plugin_manager
->createInstanceMultiple() as $id => $requirement) {
$severities[] = $requirement
->severity();
if ($requirement
->severity() > REQUIREMENT_OK) {
$requirements["acquia_contenthub_diagnostic_{$id}"] = [
'title' => t('Content Hub: @requirement_title', [
'@requirement_title' => $requirement
->title(),
]),
'value' => $requirement
->value(),
'description' => $requirement
->description(),
'severity' => $requirement
->severity(),
];
}
}
$greatest_severity = max($severities);
$severity_counts = array_count_values($severities);
$requirements['acquia_contenthub_diagnostic'] = [
'title' => t('Content Hub'),
'value' => $greatest_severity > REQUIREMENT_OK ? t('Detected @error_count errors and @warning_count warnings', [
'@warning_count' => @$severity_counts[REQUIREMENT_WARNING] ?: 0,
'@error_count' => @$severity_counts[REQUIREMENT_ERROR] ?: 0,
]) : t('No problems detected'),
'severity' => $greatest_severity,
];
}
return $requirements;
}