You are here

function advagg_js_minify_requirements in Advanced CSS/JS Aggregation 8.2

Same name and namespace in other branches
  1. 8.4 advagg_js_minify/advagg_js_minify.install \advagg_js_minify_requirements()
  2. 8.3 advagg_js_minify/advagg_js_minify.install \advagg_js_minify_requirements()

Implements hook_requirements().

File

advagg_js_minify/advagg_js_minify.install, line 13
Handles AdvAgg JS minify installation and upgrade tasks.

Code

function advagg_js_minify_requirements($phase) {
  $config = \Drupal::config('advagg_js_minify.settings');
  $requirements = [];

  // If not at runtime, return here.
  if ($phase !== 'runtime') {
    return $requirements;
  }

  // Make sure a minifier is being used.
  if ($config
    ->get('minifier') == 0) {
    $compression_used = FALSE;
    $file_settings = $config
      ->get('file_settings');
    if ($file_settings) {
      $file_settings = array_column($file_settings, 'path', 'minifier');
      unset($file_settings[0]);
      if ($file_settings) {
        $compression_used = TRUE;
      }
    }
    if (!$compression_used) {
      $requirements['advagg_js_minify_not_on'] = [
        'title' => t('AdvAgg JS Minify'),
        'severity' => REQUIREMENT_WARNING,
        'value' => t('AdvAgg JS Minification is disabled.'),
        'description' => t('Go to the <a href="@settings">AdvAgg Minify JavaScript settings page</a> and select a minifier, or go to the <a href="@modules">modules page</a> and disable the "AdvAgg Minify Javascript" module.', [
          '@settings' => Url::fromRoute('advagg_js_minify.settings')
            ->toString(),
          '@modules' => Url::fromRoute('system.modules_list', [], [
            'fragment' => 'edit-modules-advanced-cssjs-aggregation',
          ])
            ->toString(),
        ]),
      ];
    }
  }
  return $requirements;
}