Esempio n. 1
0
 /**
  * @param CampaignEntity $entity
  * @param MessageEntity  $message
  *
  * @return bool
  */
 public function handlePost(CampaignEntity $entity, MessageEntity $message)
 {
     $form = $this->getForm();
     if ($this->request->isPost()) {
         $postData = $this->request->getPost();
         $form->setData($postData);
         if ($form->isValid()) {
             $entity->populate($this->getCampaignData($form));
             $message->populate($this->getMessageData($form));
             $this->handleSystemMessage($entity, $message);
             return $this->saveEntity($entity);
         }
     }
     $form->bind($entity);
     $form->get(CampaignForm::WELCOME_SUBJECT)->setValue($message->getSubject());
     $form->get(CampaignForm::WELCOME_MESSAGE)->setValue($message->getBody());
     return false;
 }
Esempio n. 2
0
 /**
  * @return Entity\Campaign
  */
 protected function getSummerCampaign()
 {
     $campaign = new Entity\Campaign();
     $campaign->setName('Summer');
     $campaign->setSenderAddress('*****@*****.**');
     $campaign->setFromAddress('*****@*****.**');
     $campaign->setReplyToAddress('*****@*****.**');
     $campaign->setTemplate($this->getReference('summer-template'));
     return $campaign;
 }
Esempio n. 3
0
 /**
  * @param Subscriber $subscriber
  * @param Campaign   $campaign
  * @param string     $subject
  * @param string     $body
  * @param array      $headerLines
  */
 protected function mail(Subscriber $subscriber, Campaign $campaign, $subject, $body, $headerLines = [])
 {
     $mail = $this->sxMail->compose($body);
     $mail->setSender($campaign->getSenderAddress())->setTo($subscriber->getEmailAddress())->setSubject($subject);
     if ($campaign->getFromAddress()) {
         $mail->setFrom($campaign->getFromAddress());
     }
     if ($campaign->getReplyToAddress()) {
         $mail->setReplyTo($campaign->getReplyToAddress());
     }
     foreach ($headerLines as $headerLine) {
         $mail->getHeaders()->addHeaderLine($headerLine);
     }
     $this->sxMail->send($mail);
 }
Esempio n. 4
0
 /**
  * @param Campaign $campaign
  *
  * @return string
  */
 private function getUnsubscribeUrl(Campaign $campaign)
 {
     $params = ['securityKey' => $campaign->getSecurityKey()];
     $options = ['force_canonical' => true];
     return $this->fakeUrl->fromRoute('unsubscribe', $params, $options);
 }
Esempio n. 5
0
 /**
  * @return bool
  */
 public function hasCampaign(Campaign $campaignChecked)
 {
     foreach ($this->getCampaigns() as $campaign) {
         if ($campaign->getId() === $campaignChecked->getId()) {
             return true;
         }
     }
     return false;
 }