diff --git a/src/events/FeedProcessEvent.php b/src/events/FeedProcessEvent.php index 715068e0..fea5aa3a 100644 --- a/src/events/FeedProcessEvent.php +++ b/src/events/FeedProcessEvent.php @@ -13,4 +13,5 @@ class FeedProcessEvent extends CancelableEvent public $feedData; public $contentData; public $element; + public $processedElementIds; } diff --git a/src/services/Process.php b/src/services/Process.php index 28c40241..2d5a8469 100644 --- a/src/services/Process.php +++ b/src/services/Process.php @@ -486,6 +486,19 @@ public function afterProcessFeed($settings, $feed, $processedElementIds) return; } + + // Fire an 'onProcessFeed' event + $event = new FeedProcessEvent([ + 'feed' => $feed, + 'processedElementIds' => $processedElementIds, + ]); + + $this->trigger(self::EVENT_AFTER_PROCESS_FEED, $event); + + // Allow event to modify variables + $feed = $event->feed; + $processedElementIds = $event->processedElementIds; + $elementsToDeleteDisable = array_diff($settings['existingElements'], $processedElementIds); if ($elementsToDeleteDisable) { @@ -513,13 +526,6 @@ public function afterProcessFeed($settings, $feed, $processedElementIds) $message = 'Processing ' . count($processedElementIds) . ' elements finished in ' . $execution_time . 's'; Plugin::info($message); Plugin::debug($message); - - // Fire an 'onProcessFeed' event - $event = new FeedProcessEvent([ - 'feed' => $feed, - ]); - - $this->trigger(self::EVENT_AFTER_PROCESS_FEED, $event); } /**