Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
0.00% covered (danger)
0.00%
0 / 34
0.00% covered (danger)
0.00%
0 / 3
CRAP
0.00% covered (danger)
0.00%
0 / 1
OlzForBeginnersTile
0.00% covered (danger)
0.00%
0 / 34
0.00% covered (danger)
0.00%
0 / 3
42
0.00% covered (danger)
0.00%
0 / 1
 getRelevance
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
6
 getHtml
0.00% covered (danger)
0.00%
0 / 24
0.00% covered (danger)
0.00%
0 / 1
6
 getSektionLink
0.00% covered (danger)
0.00%
0 / 9
0.00% covered (danger)
0.00%
0 / 1
6
1<?php
2
3// =============================================================================
4// Zeigt eine Startseiten-Kachel für Einsteiger an.
5// =============================================================================
6
7namespace Olz\Startseite\Components\OlzForBeginnersTile;
8
9use Olz\Entity\Roles\Role;
10use Olz\Entity\Users\User;
11use Olz\Repository\Roles\PredefinedRole;
12use Olz\Startseite\Components\AbstractOlzTile\AbstractOlzTile;
13
14class OlzForBeginnersTile extends AbstractOlzTile {
15    public function getRelevance(?User $user): float {
16        return $user ? 0.0 : 1.0;
17    }
18
19    public function getHtml(mixed $args): string {
20        $code_href = $this->envUtils()->getCodeHref();
21        $role_repo = $this->entityManager()->getRepository(Role::class);
22        $fan_role = $role_repo->getPredefinedRole(PredefinedRole::FanOlzElite);
23        $fan_olz_elite = $fan_role ? "<li><a href='{$code_href}verein/{$fan_role->getUsername()}?von=startseite' class='linkint'>Fan OLZ Elite</a></li>" : '';
24
25        return <<<ZZZZZZZZZZ
26            <h3>Neu hier?</h3>
27            <h1 class='welcome'>Willkommen bei <b>OL Zimmerberg</b>!</h1>
28            <div>
29                Wir sind euer <b>Orientierungslauf (OL) Sportverein</b> in 
30                {$this->getSektionLink('sektion-thalwil', 'Thalwil')},
31                {$this->getSektionLink('sektion-horgen', 'Horgen')},
32                {$this->getSektionLink('sektion-waedenswil', 'Wädenswil')},
33                {$this->getSektionLink('sektion-richterswil', 'Richterswil')},
34                {$this->getSektionLink('sektion-adliswil', 'Adliswil')},
35                {$this->getSektionLink('sektion-langnau', 'Langnau am Albis')},
36                {$this->getSektionLink('sektion-kilchberg', 'Kilchberg')},
37                {$this->getSektionLink('sektion-rueschlikon', 'Rüschlikon')},
38                {$this->getSektionLink('sektion-oberrieden', 'Oberrieden')} und 
39                {$this->getSektionLink('sektion-zuerich', 'Zürich-Süd')}.
40            </div>
41            <ul class='links two-columns'>
42                <li><a href='{$code_href}fuer_einsteiger?von=startseite' class='linkint'><b>Für Einsteiger</b></a></li>
43                <li><a href='{$code_href}fragen_und_antworten?von=startseite' class='linkint'>Häufige Fragen</a></li>
44                <li><a href='{$code_href}verein?von=startseite' class='linkint'>Unser Verein</a></li>
45                {$fan_olz_elite}
46            </ul>
47            <h4>Angebot</h4>
48            <div class='filters'>
49                <div class='filter'><a href='{$code_href}angebot/anfaenger?von=startseite'>
50                    für Anfänger
51                </a></div>
52                <div class='filter'><a href='{$code_href}angebot/schulen?von=startseite'>
53                    für Schulen
54                </a></div>
55                <div class='filter'><a href='{$code_href}angebot/mitglieder?von=startseite'>
56                    für Mitglieder
57                </a></div>
58            </div>
59            ZZZZZZZZZZ;
60    }
61
62    protected function getSektionLink(string $username, string $name): string {
63        $code_href = $this->envUtils()->getCodeHref();
64        $role_repo = $this->entityManager()->getRepository(Role::class);
65        $role = $role_repo->findOneBy(['username' => $username]);
66        if ($role === null) {
67            return $name;
68        }
69        return <<<ZZZZZZZZZZ
70            <a href='{$code_href}verein/{$role->getUsername()}'>
71                {$name}
72            </a>
73            ZZZZZZZZZZ;
74    }
75}