You are here

public function CustomFilterValidator::validateFilter in Custom filter 2.0.x

Determines the reasons a filter can not be uninstalled.

Parameters

\Drupal\customfilter\Entity\CustomFilter $filter: A custom filter.

Return value

string|null The reason the filter can not be uninstalled, NULL if it can.

File

src/CustomFilterValidator.php, line 22

Class

CustomFilterValidator
Prevents uninstallation of modules providing used filter plugins.

Namespace

Drupal\customfilter

Code

public function validateFilter(CustomFilter $filter) {
  $needle = 'customfilter_' . $filter
    ->id();
  $used_in = [];

  // Find out if any filter formats have the plugin enabled.
  foreach ($this
    ->getEnabledFilterFormats() as $filter_format) {
    $filters = $filter_format
      ->filters();
    if ($filters
      ->has($needle) && $filters
      ->get($needle)->status) {
      $used_in[] = $filter_format
        ->label();
    }
  }
  if (!empty($used_in)) {
    return $this
      ->t('Custom filter %filter is in use in the following filter formats: %formats', [
      '%filter' => $filter
        ->label(),
      '%formats' => implode(', ', $used_in),
    ]);
  }
  return NULL;
}