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