Code Coverage |
||||||||||
Lines |
Functions and Methods |
Classes and Traits |
||||||||
Total | |
0.00% |
0 / 26 |
|
0.00% |
0 / 1 |
CRAP | |
0.00% |
0 / 1 |
OlzLogsParams | n/a |
0 / 0 |
n/a |
0 / 0 |
0 | n/a |
0 / 0 |
|||
OlzLogs | |
0.00% |
0 / 26 |
|
0.00% |
0 / 1 |
20 | |
0.00% |
0 / 1 |
getHtml | |
0.00% |
0 / 26 |
|
0.00% |
0 / 1 |
20 |
1 | <?php |
2 | |
3 | namespace Olz\Apps\Logs\Components\OlzLogs; |
4 | |
5 | use Olz\Apps\Logs\Metadata; |
6 | use Olz\Apps\Logs\Utils\LogsDefinitions; |
7 | use Olz\Components\Apps\OlzNoAppAccess\OlzNoAppAccess; |
8 | use Olz\Components\Common\OlzComponent; |
9 | use Olz\Components\Page\OlzFooter\OlzFooter; |
10 | use Olz\Components\Page\OlzHeader\OlzHeader; |
11 | use Olz\Utils\HttpParams; |
12 | |
13 | /** @extends HttpParams<array{}> */ |
14 | class OlzLogsParams extends HttpParams { |
15 | } |
16 | |
17 | /** @extends OlzComponent<array<string, mixed>> */ |
18 | class OlzLogs extends OlzComponent { |
19 | public function getHtml(mixed $args): string { |
20 | $this->httpUtils()->validateGetParams(OlzLogsParams::class); |
21 | $code_href = $this->envUtils()->getCodeHref(); |
22 | |
23 | $out = OlzHeader::render([ |
24 | 'back_link' => "{$code_href}service/", |
25 | 'title' => "Logs", |
26 | 'norobots' => true, |
27 | ]); |
28 | |
29 | $user = $this->authUtils()->getCurrentUser(); |
30 | $metadata = new Metadata(); |
31 | |
32 | $out .= <<<'ZZZZZZZZZZ' |
33 | <style> |
34 | .menu-container { |
35 | max-width: none; |
36 | } |
37 | .site-container { |
38 | max-width: none; |
39 | } |
40 | </style> |
41 | ZZZZZZZZZZ; |
42 | |
43 | $out .= "<div class='content-full olz-logs'>"; |
44 | if ($user && $user->getPermissions() == 'all') { |
45 | $channels_data = []; |
46 | foreach (LogsDefinitions::getLogsChannels() as $channel) { |
47 | $channels_data[$channel::getId()] = $channel::getName(); |
48 | } |
49 | $esc_channels = json_encode($channels_data); |
50 | $out .= <<<ZZZZZZZZZZ |
51 | <script> |
52 | window.olzLogsChannels = {$esc_channels}; |
53 | </script> |
54 | <div id='react-root'></div> |
55 | ZZZZZZZZZZ; |
56 | } else { |
57 | $out .= OlzNoAppAccess::render([ |
58 | 'app' => $metadata, |
59 | ]); |
60 | } |
61 | $out .= "</div>"; |
62 | |
63 | $out .= $metadata->getJsCssImports(); |
64 | $out .= OlzFooter::render(); |
65 | |
66 | return $out; |
67 | } |
68 | } |