Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
0.00% covered (danger)
0.00%
0 / 38
0.00% covered (danger)
0.00%
0 / 6
CRAP
0.00% covered (danger)
0.00%
0 / 1
OtherPagesController
0.00% covered (danger)
0.00%
0 / 38
0.00% covered (danger)
0.00%
0 / 6
42
0.00% covered (danger)
0.00%
0 / 1
 datenschutz
0.00% covered (danger)
0.00%
0 / 5
0.00% covered (danger)
0.00%
0 / 1
2
 fuerEinsteiger
0.00% covered (danger)
0.00%
0 / 5
0.00% covered (danger)
0.00%
0 / 1
2
 angebot
0.00% covered (danger)
0.00%
0 / 5
0.00% covered (danger)
0.00%
0 / 1
2
 angebotAudience
0.00% covered (danger)
0.00%
0 / 5
0.00% covered (danger)
0.00%
0 / 1
2
 material
0.00% covered (danger)
0.00%
0 / 5
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
2
1<?php
2
3namespace Olz\Controller;
4
5use Olz\Components\OtherPages\OlzAngebot\OlzAngebot;
6use Olz\Components\OtherPages\OlzDatenschutz\OlzDatenschutz;
7use Olz\Components\OtherPages\OlzFuerEinsteiger\OlzFuerEinsteiger;
8use Olz\Termine\Utils\TermineUtils;
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        return $httpUtils->measure($request, ['von'], function () use ($httpUtils, $request, $olzDatenschutz) {
28            $httpUtils->stripParams($request, ['von']);
29            $out = $olzDatenschutz->getHtml([]);
30            return new Response($out);
31        });
32    }
33
34    #[Route('/fuer_einsteiger')]
35    public function fuerEinsteiger(
36        Request $request,
37        LoggerInterface $logger,
38        HttpUtils $httpUtils,
39        OlzFuerEinsteiger $olzFuerEinsteiger,
40    ): Response {
41        return $httpUtils->measure($request, ['von'], function () use ($httpUtils, $request, $olzFuerEinsteiger) {
42            $httpUtils->stripParams($request, ['von']);
43            $out = $olzFuerEinsteiger->getHtml([]);
44            return new Response($out);
45        });
46    }
47
48    #[Route('/angebot')]
49    public function angebot(
50        Request $request,
51        HttpUtils $httpUtils,
52        OlzAngebot $olzAngebot,
53    ): Response {
54        return $httpUtils->measure($request, ['von'], function () use ($httpUtils, $request, $olzAngebot) {
55            $httpUtils->stripParams($request, ['von']);
56            $out = $olzAngebot->getHtml([]);
57            return new Response($out);
58        });
59    }
60
61    #[Route('/angebot/{audience}')]
62    public function angebotAudience(
63        Request $request,
64        HttpUtils $httpUtils,
65        OlzAngebot $olzAngebot,
66        string $audience,
67    ): Response {
68        return $httpUtils->measure($request, ['von'], function () use ($httpUtils, $request, $olzAngebot, $audience) {
69            $httpUtils->stripParams($request, ['von']);
70            $out = $olzAngebot->getHtml(['audience' => $audience]);
71            return new Response($out);
72        });
73    }
74
75    #[Route('/material')]
76    public function material(
77        Request $request,
78        HttpUtils $httpUtils,
79        EnvUtils $envUtils,
80    ): Response {
81        return $httpUtils->measure($request, [], function () use ($envUtils) {
82            $code_href = $envUtils->getCodeHref();
83            $url = "{$code_href}angebot";
84            return new RedirectResponse($url, 301, ['X-OLZ-Redirect' => 'material']);
85        });
86    }
87
88    #[Route('/trophy')]
89    public function trophy(
90        Request $request,
91        LoggerInterface $logger,
92        HttpUtils $httpUtils,
93        EnvUtils $envUtils,
94        TermineUtils $termineUtils,
95    ): Response {
96        return $httpUtils->measure($request, [], function () use ($envUtils, $termineUtils) {
97            $dateUtils = new DateUtils();
98            $code_href = $envUtils->getCodeHref();
99            $this_year = $dateUtils->getCurrentDateInFormat('Y');
100            $filter = [
101                ...$termineUtils->getDefaultFilter(),
102                'typ' => 'trophy',
103                'datum' => strval($this_year),
104            ];
105            $serialized_filter = $termineUtils->serialize($filter);
106            $url = "{$code_href}termine?filter={$serialized_filter}";
107            return new RedirectResponse($url, 301, ['X-OLZ-Redirect' => 'trophy']);
108        });
109    }
110}