public function createRecipientSource(RecipientSource $recipientSourceEntity)
 {
     $recipientSource = new MembersRecipientSourceNoEmail();
     if ($recipientSourceEntity->getFilter()) {
         if ($recipientSourceEntity->getMembersUseGroupFilter()) {
             $recipientSource->setFilteredGroups($recipientSourceEntity->getMembersGroupFilter());
         }
         /*
         if ($recipientSourceEntity->getFilterByMailingLists()) {
         	$recipientSource->setFilteredMailingLists($recipientSourceEntity->getMailingLists()->toArray());
         }
         */
         if ($recipientSourceEntity->getMembersUsePropertyFilter()) {
             $recipientSource->setFilteredProperties($recipientSourceEntity->getMembersPropertyFilter());
         }
     }
     /** @var EventDispatcherInterface $eventDispatcher */
     $eventDispatcher = $GLOBALS['container']['event-dispatcher'];
     /*
     if ($recipientSourceEntity->getMembersManageSubscriptionPage()) {
     	$getPageDetailsEvent = new GetPageDetailsEvent($recipientSourceEntity->getMembersManageSubscriptionPage());
     	$eventDispatcher->dispatch(ContaoEvents::CONTROLLER_GET_PAGE_DETAILS, $getPageDetailsEvent);
     
     	$generateFrontendUrlEvent = new GenerateFrontendUrlEvent($getPageDetailsEvent->getPageDetails());
     	$eventDispatcher->dispatch(ContaoEvents::CONTROLLER_GENERATE_FRONTEND_URL, $generateFrontendUrlEvent);
     
     	$url = $generateFrontendUrlEvent->getUrl();
     	$url .= (strpos($url, '?') !== false ? '&' : '?') . 'avisota_subscription_email=##email##';
     
     	if (!preg_match('~^\w+:~', $url)) {
     		$environment = \Environment::getInstance();
     		$url         = rtrim($environment->base, '/') . '/' . ltrim($url, '/');
     	}
     
     	$recipientSource->setManageSubscriptionUrlPattern($url);
     }
     */
     /*
     if ($recipientSourceEntity->getMembersUnsubscribePage()) {
     	$getPageDetailsEvent = new GetPageDetailsEvent($recipientSourceEntity->getMembersUnsubscribePage());
     	$eventDispatcher->dispatch(ContaoEvents::CONTROLLER_GET_PAGE_DETAILS, $getPageDetailsEvent);
     
     	$generateFrontendUrlEvent = new GenerateFrontendUrlEvent($getPageDetailsEvent->getPageDetails());
     	$eventDispatcher->dispatch(ContaoEvents::CONTROLLER_GENERATE_FRONTEND_URL, $generateFrontendUrlEvent);
     
     	$url = $generateFrontendUrlEvent->getUrl();
     	$url .= (strpos($url, '?') !== false ? '&' : '?') . 'avisota_subscription_email=##email##';
     
     	if (!preg_match('~^\w+:~', $url)) {
     		$environment = \Environment::getInstance();
     		$url         = rtrim($environment->base, '/') . '/' . ltrim($url, '/');
     	}
     
     	$recipientSource->setUnsubscribeUrlPattern($url);
     }
     */
     $event = new CreateRecipientSourceEvent($recipientSourceEntity, $recipientSource);
     $eventDispatcher->dispatch(CoreEvents::CREATE_RECIPIENT_SOURCE, $event);
     return $event->getRecipientSource();
 }
 /**
  * @param RecipientSource $entity
  *
  * @return mixed
  * @SuppressWarnings(PHPMD.LongVariable)
  */
 public function createRecipientSource(RecipientSource $entity)
 {
     $recipientSource = new RecipientsRecipientSource();
     if ($entity->getFilter()) {
         if ($entity->getFilterByMailingLists()) {
             $recipientSource->setFilteredMailingLists($entity->getMailingLists()->toArray());
         }
         if ($entity->getRecipientsUsePropertyFilter()) {
             $recipientSource->setFilteredProperties($entity->getRecipientsPropertyFilter());
         }
     }
     $this->parseRecipientsManageSubscriptionPage($entity, $recipientSource);
     $this->parseRecipientsUnsubscribePage($entity, $recipientSource);
     return $recipientSource;
 }