Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
0.00% covered (danger)
0.00%
0 / 23
0.00% covered (danger)
0.00%
0 / 1
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 / 23
0.00% covered (danger)
0.00%
0 / 1
6
0.00% covered (danger)
0.00%
0 / 1
 getHtml
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\OlzComponent;
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 OlzComponent<array<string, mixed>> */
16class 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(&quot;role-{$id}&quot;)' 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}