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