Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
0.00% covered (danger)
0.00%
0 / 31
0.00% covered (danger)
0.00%
0 / 5
CRAP
0.00% covered (danger)
0.00%
0 / 1
OlzOevParams
n/a
0 / 0
n/a
0 / 0
0
n/a
0 / 0
OlzOev
0.00% covered (danger)
0.00%
0 / 31
0.00% covered (danger)
0.00%
0 / 5
42
0.00% covered (danger)
0.00%
0 / 1
 hasAccess
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 searchSqlWhenHasAccess
0.00% covered (danger)
0.00%
0 / 7
0.00% covered (danger)
0.00%
0 / 1
2
 getPageTitle
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 getPageDescription
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 getHtmlWhenHasAccess
0.00% covered (danger)
0.00%
0 / 21
0.00% covered (danger)
0.00%
0 / 1
6
1<?php
2
3namespace Olz\Apps\Oev\Components\OlzOev;
4
5use Olz\Apps\Oev\Metadata;
6use Olz\Components\Apps\OlzNoAppAccess\OlzNoAppAccess;
7use Olz\Components\Common\OlzRootComponent;
8use Olz\Components\Page\OlzFooter\OlzFooter;
9use Olz\Components\Page\OlzHeader\OlzHeader;
10use Olz\Utils\HttpParams;
11
12/** @extends HttpParams<array{
13 *   nach?: ?string,
14 *   ankunft?: ?string,
15 * }> */
16class OlzOevParams extends HttpParams {
17}
18
19/** @extends OlzRootComponent<array<string, mixed>> */
20class OlzOev extends OlzRootComponent {
21    public function hasAccess(): bool {
22        return (new Metadata())->isAccessibleToUser($this->authUtils()->getCurrentUser());
23    }
24
25    public function searchSqlWhenHasAccess(array $terms): string|array|null {
26        $metadata = new Metadata();
27        return $this->searchUtils()->getStaticResultQuery([
28            'link' => $metadata->getHref(),
29            'icon' => $metadata->getIconHref(),
30            'title' => "Apps: {$this->getPageTitle()}",
31            'text' => $this->getPageDescription(),
32        ], $terms);
33    }
34
35    public function getPageTitle(): string {
36        return "öV";
37    }
38
39    public function getPageDescription(): string {
40        return "Tool für die Suche von gemeinsamen ÖV-Verbindungen.";
41    }
42
43    public function getHtmlWhenHasAccess(mixed $args): string {
44        $this->httpUtils()->validateGetParams(OlzOevParams::class);
45        $code_href = $this->envUtils()->getCodeHref();
46        $metadata = new Metadata();
47
48        $out = OlzHeader::render([
49            'back_link' => "{$code_href}service/",
50            'title' => $this->getPageTitle(),
51            'description' => $this->getPageDescription(),
52            'norobots' => true,
53        ]);
54
55        $out .= "<div class='content-full'>";
56
57        $has_access = $this->authUtils()->hasPermission('any');
58        if ($has_access) {
59            $out .= <<<'ZZZZZZZZZZ'
60                <div id='oev-root'></div>
61                ZZZZZZZZZZ;
62        } else {
63            $out .= OlzNoAppAccess::render([
64                'app' => $metadata,
65            ]);
66        }
67
68        $out .= "</div>";
69
70        $out .= $metadata->getJsCssImports();
71        $out .= OlzFooter::render();
72
73        return $out;
74    }
75}