You are here

public function LazySubscriber::onInitExpire in Feeds 8.3

Adds expire plugins as event listeners.

File

src/EventSubscriber/LazySubscriber.php, line 159

Class

LazySubscriber
Event listener that registers Feeds plugins as event listeners.

Namespace

Drupal\feeds\EventSubscriber

Code

public function onInitExpire(InitEvent $event, $event_name, EventDispatcherInterface $dispatcher) {
  if ($this->expireInited === TRUE) {
    return;
  }
  $this->expireInited = TRUE;
  $dispatcher
    ->addListener(FeedsEvents::EXPIRE, function (ExpireEvent $event) {
    $feed = $event
      ->getFeed();
    $state = $feed
      ->getState(StateInterface::EXPIRE);
    $feed
      ->getType()
      ->getProcessor()
      ->expireItem($feed, $event
      ->getItemId(), $state);
    $feed
      ->saveStates();
  });
}