Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
0.00% covered (danger)
0.00%
0 / 28
0.00% covered (danger)
0.00%
0 / 3
CRAP
0.00% covered (danger)
0.00%
0 / 1
OlzNewsletterParams
n/a
0 / 0
n/a
0 / 0
0
n/a
0 / 0
OlzNewsletter
0.00% covered (danger)
0.00%
0 / 28
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 / 26
0.00% covered (danger)
0.00%
0 / 1
6
1<?php
2
3namespace Olz\Apps\Newsletter\Components\OlzNewsletter;
4
5use Olz\Apps\Newsletter\Components\OlzEmailCard\OlzEmailCard;
6use Olz\Apps\Newsletter\Components\OlzTelegramCard\OlzTelegramCard;
7use Olz\Apps\Newsletter\Metadata;
8use Olz\Components\Apps\OlzNoAppAccess\OlzNoAppAccess;
9use Olz\Components\Common\OlzRootComponent;
10use Olz\Components\Page\OlzFooter\OlzFooter;
11use Olz\Components\Page\OlzHeader\OlzHeader;
12use Olz\Utils\HttpParams;
13
14/** @extends HttpParams<array{}> */
15class OlzNewsletterParams extends HttpParams {
16}
17
18/** @extends OlzRootComponent<array<string, mixed>> */
19class OlzNewsletter extends OlzRootComponent {
20    public function getSearchTitle(): string {
21        return 'TODO';
22    }
23
24    public function getSearchResults(array $terms): array {
25        return [];
26    }
27
28    public function getHtml(mixed $args): string {
29        $this->httpUtils()->validateGetParams(OlzNewsletterParams::class);
30        $code_href = $this->envUtils()->getCodeHref();
31
32        $out = OlzHeader::render([
33            'back_link' => "{$code_href}service/",
34            'title' => "Newsletter",
35            'norobots' => true,
36        ]);
37
38        $user = $this->authUtils()->getCurrentUser();
39        $metadata = new Metadata();
40
41        $out .= "<div class='content-full'>";
42        if ($user) {
43            $out .= "<div class='responsive-flex'>";
44            $out .= "<div class='responsive-flex-2'>";
45            $out .= OlzTelegramCard::render();
46            $out .= "</div>";
47            $out .= "<div class='responsive-flex-2'>";
48            $out .= OlzEmailCard::render();
49            $out .= "</div>";
50            $out .= "</div>";
51        } else {
52            $out .= OlzNoAppAccess::render([
53                'app' => $metadata,
54            ]);
55        }
56        $out .= "</div>";
57
58        $out .= $metadata->getJsCssImports();
59        $out .= OlzFooter::render();
60
61        return $out;
62    }
63}