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
OlzLogsParams
n/a
0 / 0
n/a
0 / 0
0
n/a
0 / 0
OlzLogs
0.00% covered (danger)
0.00%
0 / 26
0.00% covered (danger)
0.00%
0 / 1
20
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
20
1<?php
2
3namespace Olz\Apps\Logs\Components\OlzLogs;
4
5use Olz\Apps\Logs\Metadata;
6use Olz\Apps\Logs\Utils\LogsDefinitions;
7use Olz\Components\Apps\OlzNoAppAccess\OlzNoAppAccess;
8use Olz\Components\Common\OlzComponent;
9use Olz\Components\Page\OlzFooter\OlzFooter;
10use Olz\Components\Page\OlzHeader\OlzHeader;
11use Olz\Utils\HttpParams;
12
13/** @extends HttpParams<array{}> */
14class OlzLogsParams extends HttpParams {
15}
16
17/** @extends OlzComponent<array<string, mixed>> */
18class 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}