/** * Handles a node save or remove action * @param \ride\library\event\Event $event Save or remove event * @param \ride\library\event\EventManager $eventManager Instance of the * event manager * @return null */ public function handleCmsAction(Event $event, EventManager $eventManager) { if ($event->getArgument('action') != 'publish') { return; } $nodes = $event->getArgument('nodes'); foreach ($nodes as $node) { $this->banNodes[$node->getId()] = $node; } $deletedNodes = $event->getArgument('deletedNodes'); if ($deletedNodes) { foreach ($deletedNodes as $node) { $this->banNodes[$node->getId()] = $node; } } if (!$this->needsAction && $this->banNodes) { // register event to clear when the controller has finished // processing the request $eventManager->addEventListener('app.response.pre', array($this, 'handleVarnish'), 2); $this->needsAction = true; } }
/** * Handles a node save or remove action * @param \ride\library\event\Event $event Save or remove event * @param \ride\library\event\EventManager $eventManager Instance of the * event manager * @return null */ public function handleCache(Event $event, EventManager $eventManager) { if (!$this->cacheControls || $this->isCacheClearRegistered) { return; } if (!$this->isCacheClearRegistered) { // register event to commit when the controller has finished processing // the request $eventManager->addEventListener('app.response.post', array($this, 'clearCache')); $this->isCacheClearRegistered = true; } }