diff --git a/core/modules/system/system.install b/core/modules/system/system.install index a0849b1..121d91e 100644 --- a/core/modules/system/system.install +++ b/core/modules/system/system.install @@ -360,23 +360,33 @@ function system_requirements($phase) { // Set summary and description based on values determined above. $summary = t('Last run !time ago', array('!time' => \Drupal::service('date.formatter')->formatTimeDiffSince($cron_last))); - $description = ''; + // Build the string and replacement arguments to be sent later to + // \Drupal\Component\Utility\SafeMarkup::format(). + $description_replacements = []; + $description_string = ''; if ($severity != REQUIREMENT_INFO) { - $description = t('Cron has not run recently.') . ' ' . $help; + $description_warning = t('Cron has not run recently.'); + $description_replacements += [ + '@description_warning' => $description_warning, + '@help' => $help, + ]; + $description_string = '@description_warning @help '; } - $description .= ' ' . t('You can run cron manually.', array('@cron' => \Drupal::url('system.run_cron'))); - $description .= '
' . t('To run cron from outside the site, go to !cron', array('!cron' => \Drupal::url('system.cron', array('key' => \Drupal::state()->get('system.cron_key'), array('absolute' => TRUE))))); + $description_manual = t('You can run cron manually.', array('@cron' => \Drupal::url('system.run_cron'))); + $description_additional_info = t('To run cron from outside the site, go to @cron', array('@cron' => \Drupal::url('system.cron', array('key' => \Drupal::state()->get('system.cron_key'), array('absolute' => TRUE))))); + $description_replacements += [ + '@description_manual' => $description_manual, + '@description_additional_info' => $description_additional_info, + ]; + $description_string .= '@description_manual
@description_additional_info'; + $description = SafeMarkup::format($description_string, $description_replacements); $requirements['cron'] = array( 'title' => t('Cron maintenance tasks'), 'severity' => $severity, 'value' => $summary, - // @todo This string is concatenated from t() calls, safe drupal_render() - // output, whitespace, and
tags, so is safe. However, as a best - // practice, we should not use SafeMarkup::set() around a variable. Fix - // in: https://www.drupal.org/node/2296929. - 'description' => SafeMarkup::set($description), + 'description' => $description, ); } if ($phase != 'install') {