48 lines
1.6 KiB
Twig
48 lines
1.6 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') ? \Drupal::l(phpversion(), new Url('system.php')) : 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' => \Drupal::url('system.run_cron')]);
|
|
|
|
$requirements['cron']['title'] = t('Cron maintenance tasks');
|
|
}
|
|
|
|
return $requirements;
|
|
}
|