Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
0.00% covered (danger)
0.00%
0 / 22
0.00% covered (danger)
0.00%
0 / 4
CRAP
0.00% covered (danger)
0.00%
0 / 1
OtherPagesController
0.00% covered (danger)
0.00%
0 / 22
0.00% covered (danger)
0.00%
0 / 4
30
0.00% covered (danger)
0.00%
0 / 1
 datenschutz
0.00% covered (danger)
0.00%
0 / 3
0.00% covered (danger)
0.00%
0 / 1
2
 fuerEinsteiger
0.00% covered (danger)
0.00%
0 / 3
0.00% covered (danger)
0.00%
0 / 1
2
 material
0.00% covered (danger)
0.00%
0 / 3
0.00% covered (danger)
0.00%
0 / 1
2
 trophy
0.00% covered (danger)
0.00%
0 / 13
0.00% covered (danger)
0.00%
0 / 1
6
1<?php
2
3namespace Olz\Controller;
4
5use Olz\Components\OtherPages\OlzDatenschutz\OlzDatenschutz;
6use Olz\Components\OtherPages\OlzFuerEinsteiger\OlzFuerEinsteiger;
7use Olz\Components\OtherPages\OlzMaterial\OlzMaterial;
8use Olz\Termine\Utils\TermineFilterUtils;
9use Olz\Utils\DateUtils;
10use Olz\Utils\EnvUtils;
11use Olz\Utils\HttpUtils;
12use Psr\Log\LoggerInterface;
13use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
14use Symfony\Component\HttpFoundation\RedirectResponse;
15use Symfony\Component\HttpFoundation\Request;
16use Symfony\Component\HttpFoundation\Response;
17use Symfony\Component\Routing\Annotation\Route;
18
19class OtherPagesController extends AbstractController {
20    #[Route('/datenschutz')]
21    public function datenschutz(
22        Request $request,
23        LoggerInterface $logger,
24        HttpUtils $httpUtils,
25        OlzDatenschutz $olzDatenschutz,
26    ): Response {
27        $httpUtils->countRequest($request);
28        $out = $olzDatenschutz->getHtml([]);
29        return new Response($out);
30    }
31
32    #[Route('/fuer_einsteiger')]
33    public function fuerEinsteiger(
34        Request $request,
35        LoggerInterface $logger,
36        HttpUtils $httpUtils,
37        OlzFuerEinsteiger $olzFuerEinsteiger,
38    ): Response {
39        $httpUtils->countRequest($request, ['von']);
40        $out = $olzFuerEinsteiger->getHtml([]);
41        return new Response($out);
42    }
43
44    #[Route('/material')]
45    public function material(
46        Request $request,
47        LoggerInterface $logger,
48        HttpUtils $httpUtils,
49        OlzMaterial $olzMaterial,
50    ): Response {
51        $httpUtils->countRequest($request);
52        $out = $olzMaterial->getHtml([]);
53        return new Response($out);
54    }
55
56    #[Route('/trophy')]
57    public function trophy(
58        Request $request,
59        LoggerInterface $logger,
60        HttpUtils $httpUtils,
61        EnvUtils $envUtils,
62    ): Response {
63        $httpUtils->countRequest($request);
64        $dateUtils = new DateUtils();
65        $code_href = $envUtils->getCodeHref();
66        $this_year = $dateUtils->getCurrentDateInFormat('Y');
67        $termine_utils = TermineFilterUtils::fromEnv();
68        $filter = [
69            ...$termine_utils->getDefaultFilter(),
70            'typ' => 'trophy',
71            'datum' => strval($this_year),
72        ];
73        $enc_filter = urlencode(json_encode($filter) ?: '');
74        $url = "{$code_href}termine?filter={$enc_filter}";
75        return new RedirectResponse($url, 301, ['X-OLZ-Redirect' => 'trophy']);
76    }
77}