Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
0.00% covered (danger)
0.00%
0 / 26
0.00% covered (danger)
0.00%
0 / 4
CRAP
0.00% covered (danger)
0.00%
0 / 1
OlzVereinParams
n/a
0 / 0
n/a
0 / 0
0
n/a
0 / 0
OlzVerein
0.00% covered (danger)
0.00%
0 / 26
0.00% covered (danger)
0.00%
0 / 4
30
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 / 23
0.00% covered (danger)
0.00%
0 / 1
6
1<?php
2
3namespace Olz\Roles\Components\OlzVerein;
4
5use Olz\Components\Common\OlzRootComponent;
6use Olz\Components\Page\OlzFooter\OlzFooter;
7use Olz\Components\Page\OlzHeader\OlzHeader;
8use Olz\Roles\Components\OlzOrganigramm\OlzOrganigramm;
9use Olz\Utils\HttpParams;
10
11/** @extends HttpParams<array{von?: ?string}> */
12class OlzVereinParams extends HttpParams {
13}
14
15/** @extends OlzRootComponent<array<string, mixed>> */
16class OlzVerein extends OlzRootComponent {
17    public function hasAccess(): bool {
18        return true;
19    }
20
21    public function getSearchTitle(): string {
22        return 'TODO';
23    }
24
25    public function getSearchResultsWhenHasAccess(array $terms): array {
26        return [];
27    }
28
29    public static string $title = "Verein";
30    public static string $description = "Die wichtigsten Kontaktadressen und eine Liste aller Vereinsorgane der OL Zimmerberg.";
31
32    public function getHtmlWhenHasAccess(mixed $args): string {
33        $this->httpUtils()->validateGetParams(OlzVereinParams::class);
34        $code_href = $this->envUtils()->getCodeHref();
35
36        $out = OlzHeader::render([
37            'title' => self::$title,
38            'description' => self::$description,
39            'canonical_url' => "{$code_href}verein",
40        ]);
41
42        $db = $this->dbUtils()->getDb();
43        $result = $db->query("SELECT id, name FROM roles WHERE featured_position IS NOT NULL ORDER BY featured_position ASC");
44        $featured_out = '';
45        // @phpstan-ignore-next-line
46        while ($row = $result->fetch_assoc()) {
47            $id = $row['id'];
48            $title = $row['name'];
49            $featured_out .= "<div><b><a href='javascript:olz.highlightOrganigramm(&quot;role-{$id}&quot;)' class='linkint'>{$title}</a></b></div>";
50        }
51        $out .= "<div class='content-full'><div id='organigramm'>";
52        $out .= <<<ZZZZZZZZZZ
53            <h2>Häufig gesucht</h2>
54            {$featured_out}
55            <div>
56                <br />
57                <div><b>PC-Konto</b></div>
58                <div><b>IBAN: </b>CH91 0900 0000 8525 6448 8</div>
59                <div><b>Empfänger: </b>OL Zimmerberg, 8800 Thalwil</div>
60            </div>
61            ZZZZZZZZZZ;
62
63        $out .= OlzOrganigramm::render();
64
65        $out .= "</div></div>";
66
67        $out .= OlzFooter::render();
68        return $out;
69    }
70}