コード例 #1
0
ファイル: MailAdmin.php プロジェクト: bolotyuh/fwdays
 /**
  * @param Mail $mail
  *
  * @return mixed|void
  */
 public function postPersist($mail)
 {
     $container = $this->getConfigurationPool()->getContainer();
     /** @var \Doctrine\ORM\EntityManager $em */
     $em = $container->get('doctrine')->getManager();
     /** @var $users \Application\Bundle\UserBundle\Entity\User[] */
     if ($mail->getEvents()->count() > 0 || $mail->getPaymentStatus()) {
         $users = $em->getRepository('StfalconEventBundle:Ticket')->findUsersSubscribedByEventsAndStatus($mail->getEvents(), $mail->getPaymentStatus());
     } else {
         $users = $em->getRepository('ApplicationUserBundle:User')->getAllSubscribed();
     }
     if (isset($users)) {
         $countSubscribers = 0;
         foreach ($users as $user) {
             $mailQueue = new MailQueue();
             $mailQueue->setUser($user);
             $mailQueue->setMail($mail);
             $em->persist($mailQueue);
             $countSubscribers++;
         }
         $mail->setTotalMessages($countSubscribers);
     }
     $em->persist($mail);
     $em->flush();
     return true;
 }
コード例 #2
0
ファイル: LoadMailQueueData.php プロジェクト: bolotyuh/fwdays
 /**
  * @param ObjectManager $manager
  */
 public function load(ObjectManager $manager)
 {
     $userDefault = $manager->merge($this->getReference('user-default'));
     $mail = new Mail();
     $mail->setTitle('test');
     $mail->setText('test');
     $mail->setPaymentStatus($manager->merge($this->getReference('payment')));
     $mail->addEvent($manager->merge($this->getReference('event-zfday')));
     $manager->persist($mail);
     $mq = new MailQueue();
     $mq->setMail($mail);
     $mq->setUser($userDefault);
     $manager->persist($mq);
     $manager->flush();
     $this->addReference('mail_queue', $mq);
 }