Chris@0: /**
Chris@0: * Implements hook_requirements().
Chris@0: */
Chris@0: function {{ machine_name }}_requirements($phase) {
Chris@0: $requirements = [];
Chris@0:
Chris@0: // Report Drupal version
Chris@0: if ($phase == 'runtime') {
Chris@0: $requirements['drupal'] = [
Chris@0: 'title' => t('Drupal'),
Chris@0: 'value' => \Drupal::VERSION,
Chris@4: 'severity' => REQUIREMENT_INFO,
Chris@0: ];
Chris@0: }
Chris@0:
Chris@0: // Test PHP version
Chris@0: $requirements['php'] = [
Chris@0: 'title' => t('PHP'),
Chris@0: 'value' => ($phase == 'runtime') ? \Drupal::l(phpversion(), new Url('system.php')) : phpversion(),
Chris@0: ];
Chris@0: if (version_compare(phpversion(), DRUPAL_MINIMUM_PHP) < 0) {
Chris@0: $requirements['php']['description'] = t('Your PHP installation is too old. Drupal requires at least PHP %version.', ['%version' => DRUPAL_MINIMUM_PHP]);
Chris@0: $requirements['php']['severity'] = REQUIREMENT_ERROR;
Chris@0: }
Chris@0:
Chris@0: // Report cron status
Chris@0: if ($phase == 'runtime') {
Chris@0: $cron_last = \Drupal::state()->get('system.cron_last');
Chris@0:
Chris@0: if (is_numeric($cron_last)) {
Chris@0: $requirements['cron']['value'] = t('Last run @time ago', ['@time' => \Drupal::service('date.formatter')->formatTimeDiffSince($cron_last)]);
Chris@0: }
Chris@0: else {
Chris@0: $requirements['cron'] = [
Chris@0: 'description' => t('Cron has not run. It appears cron jobs have not been setup on your system. Check the help pages for configuring cron jobs.', [':url' => 'https://www.drupal.org/cron']),
Chris@0: 'severity' => REQUIREMENT_ERROR,
Chris@0: 'value' => t('Never run'),
Chris@0: ];
Chris@0: }
Chris@0:
Chris@0: $requirements['cron']['description'] .= ' ' . t('You can run cron manually.', [':cron' => \Drupal::url('system.run_cron')]);
Chris@0:
Chris@0: $requirements['cron']['title'] = t('Cron maintenance tasks');
Chris@0: }
Chris@0:
Chris@0: return $requirements;
Chris@0: }