request->get('id') ; $users = $this->em->getRepository($this->em->getClassMetadata(UserInterface::class)->getName())->findBy([ 'isSubscribedNewsletter' => true ]) ; $countUsers = count($users) ; $messages = []; $news = $this->em->getRepository($this->em->getClassMetadata(NewsInterface::class)->getName())->find($idNews) ; if($news) { foreach ($users as $user) { $message = new \Swift_Message('[Place du Local] '.$news->getTitle()); $message->addTo($user->getEmail()) ->addFrom('no-reply@opendistrib.net', 'Place du Local') ->setBody($this->renderView('mail/news.html.twig', [ 'message' => $news->getDescription(), 'image' => $news->getImage(), ]), 'text/html'); array_push($messages, $message); } $result = $this->mailjetTransport->bulkSend($messages); if($countUsers > 0) { $this->addFlash('success', 'Actualité envoyée à '.count($users).' utilisateurs.'); } else { $this->addFlash('error', 'Aucun utilisateur inscrit à la newsletter.'); } } else { throw new NotFoundHttpException('Actualité introuvable') ; } return $this->redirectToRoute('easyadmin', ['entity' => 'News', 'action' => 'list']) ; } }