Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
0.00% covered (danger)
0.00%
0 / 17
0.00% covered (danger)
0.00%
0 / 4
CRAP
0.00% covered (danger)
0.00%
0 / 1
OlzStartseiteParams
n/a
0 / 0
n/a
0 / 0
0
n/a
0 / 0
OlzStartseite
0.00% covered (danger)
0.00%
0 / 17
0.00% covered (danger)
0.00%
0 / 4
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
 getSearchTitle
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 getSearchResultsWhenHasAccess
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 / 14
0.00% covered (danger)
0.00%
0 / 1
12
1<?php
2
3// =============================================================================
4// Zeigt die OLZ Startseite an.
5// =============================================================================
6
7namespace Olz\Startseite\Components\OlzStartseite;
8
9use Olz\Components\Common\OlzEditableText\OlzEditableText;
10use Olz\Components\Common\OlzRootComponent;
11use Olz\Components\Page\OlzFooter\OlzFooter;
12use Olz\Components\Page\OlzHeader\OlzHeader;
13use Olz\Repository\Snippets\PredefinedSnippet;
14use Olz\Startseite\Components\OlzCustomizableHome\OlzCustomizableHome;
15use Olz\Utils\HttpParams;
16
17/** @extends HttpParams<array{}> */
18class OlzStartseiteParams extends HttpParams {
19}
20
21/** @extends OlzRootComponent<array<string, mixed>> */
22class OlzStartseite extends OlzRootComponent {
23    public function hasAccess(): bool {
24        return true;
25    }
26
27    public function getSearchTitle(): string {
28        return 'TODO';
29    }
30
31    public function getSearchResultsWhenHasAccess(array $terms): array {
32        return [];
33    }
34
35    public static string $title = "Startseite";
36    public static string $description = "Eine Übersicht der Neuigkeiten und geplanten Anlässe der OL Zimmerberg.";
37
38    public function getHtmlWhenHasAccess(mixed $args): string {
39        $this->httpUtils()->validateGetParams(OlzStartseiteParams::class);
40
41        $out = OlzHeader::render([
42            'description' => self::$description,
43        ], $this);
44
45        $out .= "<div class='content-full'>";
46
47        $banner_text = OlzEditableText::render(['snippet' => PredefinedSnippet::StartseiteBanner], $this);
48        if (trim(strip_tags($banner_text)) !== '' || $this->authUtils()->hasPermission('snippet_22')) {
49            $out .= "<div id='important-banner' class='banner'>";
50            $out .= $banner_text;
51            $out .= "</div>";
52        }
53
54        $out .= OlzCustomizableHome::render([], $this);
55
56        $out .= "</div>";
57
58        $out .= OlzFooter::render([], $this);
59
60        return $out;
61    }
62}