/** * Trigger actions on Classified event * * @param ClassifiedsEvent $event */ public function onClassifiedEvent(GenericEvent $event) { $params = $event->getArguments(); $announcement = $params['announcement']; if (isset($announcement)) { foreach ($params as $key => $value) { switch ($key) { case 'notification': $this->adsService->sendNotificationEmail($value[0], $value[1], $announcement); break; case 'status': if ($value) { $this->adsService->activateClassified($announcement); } else { $this->adsService->deactivateClassified($announcement); } $this->cacheService->clearNamespace('announcements'); break; case 'contact': $this->adsService->sendMessageToAuthor($announcement, $value); break; default: break; } } } }