Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
0.00% covered (danger)
0.00%
0 / 10
0.00% covered (danger)
0.00%
0 / 3
CRAP
0.00% covered (danger)
0.00%
0 / 1
OlzCustomTile
0.00% covered (danger)
0.00%
0 / 10
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 / 2
0.00% covered (danger)
0.00%
0 / 1
6
 getHtml
0.00% covered (danger)
0.00%
0 / 2
0.00% covered (danger)
0.00%
0 / 1
2
 getContent
0.00% covered (danger)
0.00%
0 / 6
0.00% covered (danger)
0.00%
0 / 1
12
1<?php
2
3// =============================================================================
4// Zeigt eine Startseiten-Kachel mit manuell eingegebenem Inhalt an.
5// =============================================================================
6
7namespace Olz\Startseite\Components\OlzCustomTile;
8
9use Olz\Components\Common\OlzEditableText\OlzEditableText;
10use Olz\Entity\Users\User;
11use Olz\Repository\Snippets\PredefinedSnippet;
12use Olz\Startseite\Components\AbstractOlzTile\AbstractOlzTile;
13
14class OlzCustomTile extends AbstractOlzTile {
15    public function getRelevance(?User $user): float {
16        $is_empty = $this->getContent() === null;
17        return ($is_empty) ? 0.0 : 0.9;
18    }
19
20    public function getHtml(mixed $args): string {
21        $content = $this->getContent();
22        return "<h3>Wichtig</h3><div>{$content}</div>";
23    }
24
25    protected function getContent(): ?string {
26        $snippet = PredefinedSnippet::StartseiteCustomTile;
27        $has_access = $this->authUtils()->hasPermission("snippet_{$snippet->value}");
28        $content = OlzEditableText::render(['snippet' => $snippet]);
29        if (trim(strip_tags($content)) === '' && !$has_access) {
30            return null;
31        }
32        return $content;
33    }
34}