forked from a64f7bb4-7358-4778-9fbe-3b882c34cc1d/v1
48 lines
1.7 KiB
Twig
48 lines
1.7 KiB
Twig
/**
|
|
* Implements hook_requirements().
|
|
*/
|
|
function {{ machine_name }}_requirements($phase) {
|
|
$requirements = [];
|
|
|
|
// Report Drupal version
|
|
if ($phase == 'runtime') {
|
|
$requirements['drupal'] = [
|
|
'title' => t('Drupal'),
|
|
'value' => \Drupal::VERSION,
|
|
'severity' => REQUIREMENT_INFO,
|
|
];
|
|
}
|
|
|
|
// Test PHP version
|
|
$requirements['php'] = [
|
|
'title' => t('PHP'),
|
|
'value' => ($phase == 'runtime') ? Link::fromTextAndUrl(phpversion(), Url::fromRoute('system.php'))->toString() : phpversion(),
|
|
];
|
|
if (version_compare(phpversion(), \Drupal::MINIMUM_PHP) < 0) {
|
|
$requirements['php']['description'] = t('Your PHP installation is too old. Drupal requires at least PHP %version.', ['%version' => \Drupal::MINIMUM_PHP]);
|
|
$requirements['php']['severity'] = REQUIREMENT_ERROR;
|
|
}
|
|
|
|
// Report cron status
|
|
if ($phase == 'runtime') {
|
|
$cron_last = \Drupal::state()->get('system.cron_last');
|
|
|
|
if (is_numeric($cron_last)) {
|
|
$requirements['cron']['value'] = t('Last run @time ago', ['@time' => \Drupal::service('date.formatter')->formatTimeDiffSince($cron_last)]);
|
|
}
|
|
else {
|
|
$requirements['cron'] = [
|
|
'description' => t('Cron has not run. It appears cron jobs have not been setup on your system. Check the help pages for <a href=":url">configuring cron jobs</a>.', [':url' => 'https://www.drupal.org/cron']),
|
|
'severity' => REQUIREMENT_ERROR,
|
|
'value' => t('Never run'),
|
|
];
|
|
}
|
|
|
|
$requirements['cron']['description'] .= ' ' . t('You can <a href=":cron">run cron manually</a>.', [':cron' => Url::fromRoute('system.run_cron')->toString()]);
|
|
|
|
$requirements['cron']['title'] = t('Cron maintenance tasks');
|
|
}
|
|
|
|
return $requirements;
|
|
}
|