You are here

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

Clears all text format from using the given filter.

Parameters

\Drupal\customfilter\Entity\CustomFilter[] $customfilters: A custom filter array.

Return value

\Drupal\filter\Entity\FilterFormat[] The filter formats the custom filter as been removed from.

File

src/CustomFilterValidator.php, line 50

Class

CustomFilterValidator
Prevents uninstallation of modules providing used filter plugins.

Namespace

Drupal\customfilter

Code

public function clearFilters(array $customfilters) {
  $used_in = [];

  // Find out if any filter formats have the plugin enabled.
  foreach ($this
    ->getEnabledFilterFormats() as $filter_format) {
    $filters = $filter_format
      ->filters();
    foreach ($customfilters as $customfilter) {
      $needle = 'customfilter_' . $customfilter
        ->id();
      if ($filters
        ->has($needle) && $filters
        ->get($needle)->status) {
        $used_in[] = $filter_format;
        $filter_format
          ->removeFilter($needle);
        $filter_format
          ->save();
      }
    }
  }
  return $used_in;
}