You are here

function google_tag_plugin_filter_condition_alter in GoogleTagManager 8

Implements hook_plugin_filter_TYPE_alter().

See also

ContainerForm::conditionsForm()

File

./google_tag.module, line 86
Provides primary Drupal hook implementations.

Code

function google_tag_plugin_filter_condition_alter(array &$definitions, array $extra, $consumer) {
  if ($consumer == 'google_tag') {

    // Remove condition plugins defined by core and domain.
    $definitions = array_diff_key($definitions, array_flip([
      'current_theme',
      'language',
      'node_type',
      'request_path',
      'user_role',
      'domain',
    ]));
    $language_manager = \Drupal::service('language_manager');
    if (!$language_manager
      ->isMultilingual()) {

      // Omit the language condition until multiple languages.
      unset($definitions['gtag_language']);
    }
  }
  else {
    foreach ($definitions as $id => $definition) {
      if (substr($id, 0, 5) == 'gtag_') {

        // Prevent use of custom plugins by other consumers.
        unset($definitions[$id]);
      }
    }
  }
}