Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
0.00% covered (danger)
0.00%
0 / 29
0.00% covered (danger)
0.00%
0 / 4
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 / 29
0.00% covered (danger)
0.00%
0 / 4
30
0.00% covered (danger)
0.00%
0 / 1
 hasAccess
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 getSearchTitle
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 getSearchResultsWhenHasAccess
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 getHtmlWhenHasAccess
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 hasAccess(): bool {
21        return true;
22    }
23
24    public function getSearchTitle(): string {
25        return 'TODO';
26    }
27
28    public function getSearchResultsWhenHasAccess(array $terms): array {
29        return [];
30    }
31
32    public function getHtmlWhenHasAccess(mixed $args): string {
33        $this->httpUtils()->validateGetParams(OlzNewsletterParams::class);
34        $code_href = $this->envUtils()->getCodeHref();
35
36        $out = OlzHeader::render([
37            'back_link' => "{$code_href}service/",
38            'title' => "Newsletter",
39            'norobots' => true,
40        ]);
41
42        $user = $this->authUtils()->getCurrentUser();
43        $metadata = new Metadata();
44
45        $out .= "<div class='content-full'>";
46        if ($user) {
47            $out .= "<div class='responsive-flex'>";
48            $out .= "<div class='responsive-flex-2'>";
49            $out .= OlzTelegramCard::render();
50            $out .= "</div>";
51            $out .= "<div class='responsive-flex-2'>";
52            $out .= OlzEmailCard::render();
53            $out .= "</div>";
54            $out .= "</div>";
55        } else {
56            $out .= OlzNoAppAccess::render([
57                'app' => $metadata,
58            ]);
59        }
60        $out .= "</div>";
61
62        $out .= $metadata->getJsCssImports();
63        $out .= OlzFooter::render();
64
65        return $out;
66    }
67}