Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
0.00% covered (danger)
0.00%
0 / 31
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 / 31
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 / 21
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'>
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 (FAQ)</a></li>
44                <li><a href='{$code_href}verein?von=startseite' class='linkint'>Unser Verein</a></li>
45                {$fan_olz_elite}
46            </ul>
47            ZZZZZZZZZZ;
48    }
49
50    protected function getSektionLink(string $username, string $name): string {
51        $code_href = $this->envUtils()->getCodeHref();
52        $role_repo = $this->entityManager()->getRepository(Role::class);
53        $role = $role_repo->findOneBy(['username' => $username]);
54        if ($role === null) {
55            return $name;
56        }
57        return <<<ZZZZZZZZZZ
58            <a href='{$code_href}verein/{$role->getUsername()}'>
59                {$name}
60            </a>
61            ZZZZZZZZZZ;
62    }
63}