<?php
namespace App\Subscriber\Webmaster;
use App\Event\User\WebmasterRegistrationWrapUpEvent;
use App\Service\Mail\MailPropertyService;
use App\Service\Messenger\MessengerPropertyService;
use App\Service\Property\MemberPropertyService;
use App\Service\User\GuestbookService;
use Symfony\Component\EventDispatcher\EventSubscriberInterface;
class WebmasterRegistrationSubscriber implements EventSubscriberInterface
{
protected MemberPropertyService $propertyService;
public function __construct(MemberPropertyService $memberPropertyService)
{
$this->propertyService = $memberPropertyService;
}
public static function getSubscribedEvents(): array
{
return [
WebmasterRegistrationWrapUpEvent::class => [
['onWebmasterRegistrationCreateMemberPropertyDefaults', 0],
],
];
}
/**
* @return void
*/
public function onWebmasterRegistrationCreateMemberPropertyDefaults(WebmasterRegistrationWrapUpEvent $event)
{
$account = $event->getWebmaster()->getAccount();
$member = $account->getMember();
$this->propertyService->createPropertyEntity($member, MessengerPropertyService::PROPERTY_MESSENGER_EMAIL_NOTIFICATION_DISABLED, 1);
$this->propertyService->createPropertyEntity($member, GuestbookService::PROPERTY_EMAIL_ON_GUESTBOOK_ENTRY_DISABLED, 1);
$this->propertyService->createPropertyEntity($member, MailPropertyService::PROPERTY_WEEKLY_NEWSLETTER_DISABLED, 1);
}
}