protected function FeedStorageController::preDelete

Overrides Drupal\Core\Entity\DataBaseStorageController::preDelete().

Overrides DatabaseStorageController::preDelete

File

drupal/core/modules/aggregator/lib/Drupal/aggregator/FeedStorageController.php, line 46
Contains \Drupal\aggregator\FeedStorageController.

Class

FeedStorageController
Controller class for aggregators feeds.

Namespace

Drupal\aggregator

Code

protected function preDelete($entities) {
  parent::preDelete($entities);

  // Invalidate the block cache to update aggregator feed-based derivatives.
  if (module_exists('block')) {
    \Drupal::service('plugin.manager.block')
      ->clearCachedDefinitions();
  }
  foreach ($entities as $entity) {

    // Notify processors to remove stored items.
    $manager = \Drupal::service('plugin.manager.aggregator.processor');
    foreach ($manager
      ->getDefinitions() as $id => $definition) {
      $manager
        ->createInstance($id)
        ->remove($entity);
    }
  }
}