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