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: }