public function registerSubscriber($owner, $subOwner, $areaName, $areaType, $category, $eventName) { $areaId = $this->registerArea($areaName, self::SUBSCRIBER, $owner, $subOwner, $category); // Now we have an areaId we can register a subscriber, but first test if the subscriber is already registered. $existingSubscriber = $this->getSubscriberByEventName($eventName); if (!empty($existingSubscriber)) { if (System::isDevelopmentMode()) { LogUtil::registerWarning(__f('The hook subscriber "%1$s" could not be registered for "%2$s" because it is registered already.', array($eventName, $owner))); } else { $warns = LogUtil::getWarningMessages(false); $msg = __f('Hook subscribers could not be registered for "%1$s" because they are registered already.', array($owner)); if (!in_array(DataUtil::formatForDisplayHTML($msg), $warns)) { LogUtil::registerWarning($msg); } } return; } $subscriber = new Entity\HookSubscriberEntity(); $subscriber->setOwner($owner); $subscriber->setCategory($category); $subscriber->setEventname($eventName); $subscriber->setHooktype($areaType); $subscriber->setSareaid($areaId); $subscriber->setSubowner($subOwner); $this->em->persist($subscriber); $this->em->flush(); }
public function registerSubscriber($owner, $subOwner, $areaName, $areaType, $category, $eventName) { $areaId = $this->registerArea($areaName, self::SUBSCRIBER, $owner, $subOwner, $category); // Now we have an areaId we can register a subscriber $subscriber = new Entity\HookSubscriberEntity(); $subscriber->setOwner($owner); $subscriber->setCategory($category); $subscriber->setEventname($eventName); $subscriber->setHooktype($areaType); $subscriber->setSareaid($areaId); $subscriber->setSubowner($subOwner); $this->em->persist($subscriber); $this->em->flush(); }