zend-blog-3-backend
54 строки · 1.5 Кб
1<?php
2
3namespace App\Controller;4
5use App\Repository\CommentRepository;6use App\Service\Mailer;7use Sensio\Bundle\FrameworkExtraBundle\Configuration\Template;8use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;9use Symfony\Component\HttpFoundation\RedirectResponse;10use Symfony\Component\HttpFoundation\Request;11use Symfony\Component\Routing\Annotation\Route;12
13class TestEmailController extends AbstractController14{
15/**16* @Route("/test-emails", methods={"GET"})
17* @Template()
18*
19* @return array
20*/
21public function indexAction(): array22{23return [];24}25
26/**27* @Route("/test-emails", methods={"POST"})
28*
29* @param Mailer $mailer
30* @param CommentRepository $repository
31* @param Request $request
32*
33* @return RedirectResponse
34*/
35public function sendAction(Mailer $mailer, CommentRepository $repository, Request $request): RedirectResponse36{37$mailTo = $request->request->get('_receiver');38if (!empty($mailTo)) {39$qb = $repository->createQueryBuilder('c');40$qb41->select()42->orderBy('c.id', 'DESC')43->setMaxResults(1)44->setFirstResult(mt_rand(0, 500))45;46
47$comment = $qb->getQuery()->getOneOrNullResult();48
49$mailer->newComment($comment, $request->request->get('_receiver'), false);50}51
52return new RedirectResponse('/test-emails');53}54}
55