Chris@0
|
1 /**
|
Chris@0
|
2 * Implements hook_requirements().
|
Chris@0
|
3 */
|
Chris@0
|
4 function {{ machine_name }}_requirements($phase) {
|
Chris@0
|
5 $requirements = [];
|
Chris@0
|
6
|
Chris@0
|
7 // Report Drupal version
|
Chris@0
|
8 if ($phase == 'runtime') {
|
Chris@0
|
9 $requirements['drupal'] = [
|
Chris@0
|
10 'title' => t('Drupal'),
|
Chris@0
|
11 'value' => \Drupal::VERSION,
|
Chris@4
|
12 'severity' => REQUIREMENT_INFO,
|
Chris@0
|
13 ];
|
Chris@0
|
14 }
|
Chris@0
|
15
|
Chris@0
|
16 // Test PHP version
|
Chris@0
|
17 $requirements['php'] = [
|
Chris@0
|
18 'title' => t('PHP'),
|
Chris@0
|
19 'value' => ($phase == 'runtime') ? \Drupal::l(phpversion(), new Url('system.php')) : phpversion(),
|
Chris@0
|
20 ];
|
Chris@0
|
21 if (version_compare(phpversion(), DRUPAL_MINIMUM_PHP) < 0) {
|
Chris@0
|
22 $requirements['php']['description'] = t('Your PHP installation is too old. Drupal requires at least PHP %version.', ['%version' => DRUPAL_MINIMUM_PHP]);
|
Chris@0
|
23 $requirements['php']['severity'] = REQUIREMENT_ERROR;
|
Chris@0
|
24 }
|
Chris@0
|
25
|
Chris@0
|
26 // Report cron status
|
Chris@0
|
27 if ($phase == 'runtime') {
|
Chris@0
|
28 $cron_last = \Drupal::state()->get('system.cron_last');
|
Chris@0
|
29
|
Chris@0
|
30 if (is_numeric($cron_last)) {
|
Chris@0
|
31 $requirements['cron']['value'] = t('Last run @time ago', ['@time' => \Drupal::service('date.formatter')->formatTimeDiffSince($cron_last)]);
|
Chris@0
|
32 }
|
Chris@0
|
33 else {
|
Chris@0
|
34 $requirements['cron'] = [
|
Chris@0
|
35 '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']),
|
Chris@0
|
36 'severity' => REQUIREMENT_ERROR,
|
Chris@0
|
37 'value' => t('Never run'),
|
Chris@0
|
38 ];
|
Chris@0
|
39 }
|
Chris@0
|
40
|
Chris@0
|
41 $requirements['cron']['description'] .= ' ' . t('You can <a href=":cron">run cron manually</a>.', [':cron' => \Drupal::url('system.run_cron')]);
|
Chris@0
|
42
|
Chris@0
|
43 $requirements['cron']['title'] = t('Cron maintenance tasks');
|
Chris@0
|
44 }
|
Chris@0
|
45
|
Chris@0
|
46 return $requirements;
|
Chris@0
|
47 }
|