/** * @param Entity\Subscriber $entity * @param Entity\Campaign $campaign * * @return bool */ public function handlePost(Entity\Subscriber $entity, Entity\Campaign $campaign) { $form = $this->getForm(); if ($this->request->isPost()) { $form->setData($this->request->getPost()); if ($form->isValid()) { $entity->removeCampaign($campaign); $this->saveEntity($entity); return true; } } return false; }
/** * @param Entity $entity * * @return bool */ public function handlePost(Entity $entity) { $form = $this->getForm(); if ($this->request->isPost()) { $form->setData($this->request->getPost()); if ($form->isValid()) { $entity->populate($this->getPopulateData()); $this->saveEntity($entity); return true; } } $form->bind($entity); return false; }
/** * @param Entity\Subscriber $subscriber * @param Entity\Campaign $campaign * * @return bool */ public function handlePost(Entity\Subscriber $subscriber, Entity\Campaign $campaign) { $form = $this->getForm(); if (!$this->request->isPost()) { return false; } $form->setData($this->request->getPost()); if (!$form->isValid()) { return false; } $subscriber->populate($form->getData()); if (!$subscriber->hasCampaign($campaign)) { $subscriber->addCampaign($campaign); } $systemMessage = $this->messageRepository->getSystemMessage($campaign->getId()); $this->queueMessage($subscriber, $systemMessage); return $this->saveEntity($subscriber); }
/** * @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); }
/** * @param Entity\Subscriber $subscriber * * @return array int[] */ protected function getCampaignIds(Entity\Subscriber $subscriber) { $campaignIds = []; /** @var $campaign Entity\Campaign */ foreach ($subscriber->getCampaigns() as $campaign) { $campaignIds[] = $campaign->getId(); } return $campaignIds; }
/** * @return Entity\Subscriber */ protected function getErin() { $campaigns = [$this->getReference('winter2014-campaign')]; $subscriber = new Entity\Subscriber(); $subscriber->setFullName('Erin Bloke'); $subscriber->setEmailAddress('*****@*****.**'); $subscriber->setCampaigns($campaigns); return $subscriber; }