zend-blog-3-backend

Форк
0
/
TestEmailController.php 
54 строки · 1.5 Кб
1
<?php
2

3
namespace App\Controller;
4

5
use App\Repository\CommentRepository;
6
use App\Service\Mailer;
7
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Template;
8
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
9
use Symfony\Component\HttpFoundation\RedirectResponse;
10
use Symfony\Component\HttpFoundation\Request;
11
use Symfony\Component\Routing\Annotation\Route;
12

13
class TestEmailController extends AbstractController
14
{
15
    /**
16
     * @Route("/test-emails", methods={"GET"})
17
     * @Template()
18
     *
19
     * @return array
20
     */
21
    public function indexAction(): array
22
    {
23
        return [];
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
     */
35
    public function sendAction(Mailer $mailer, CommentRepository $repository, Request $request): RedirectResponse
36
    {
37
        $mailTo = $request->request->get('_receiver');
38
        if (!empty($mailTo)) {
39
            $qb = $repository->createQueryBuilder('c');
40
            $qb
41
                ->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

52
        return new RedirectResponse('/test-emails');
53
    }
54
}
55

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.