You are here

public function WebformVariantManager::removeExcludeDefinitions in Webform 6.x

Same name and namespace in other branches
  1. 8.5 src/Plugin/WebformVariantManager.php \Drupal\webform\Plugin\WebformVariantManager::removeExcludeDefinitions()

Remove excluded plugin definitions.

Parameters

array $definitions: The plugin definitions to filter.

Return value

array An array of plugin definitions with excluded plugins removed.

Overrides WebformPluginManagerExcludedInterface::removeExcludeDefinitions

File

src/Plugin/WebformVariantManager.php, line 77

Class

WebformVariantManager
Manages webform variant plugins.

Namespace

Drupal\webform\Plugin

Code

public function removeExcludeDefinitions(array $definitions) {
  $definitions = isset($definitions) ? $definitions : $this
    ->getDefinitions();

  // Exclude 'broken' variant.
  unset($definitions['broken']);
  $excluded = $this->configFactory
    ->get('webform.settings')
    ->get('variant.excluded_variants') ?: [];
  return $excluded ? array_diff_key($definitions, $excluded) : $definitions;
}