Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
0.00% covered (danger)
0.00%
0 / 27
0.00% covered (danger)
0.00%
0 / 3
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 / 27
0.00% covered (danger)
0.00%
0 / 3
30
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 / 25
0.00% covered (danger)
0.00%
0 / 1
12
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\OlzRootComponent;
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 OlzRootComponent<array<string, mixed>> */
18class OlzLogs extends OlzRootComponent {
19    public function getSearchTitle(): string {
20        return 'TODO';
21    }
22
23    public function getSearchResults(array $terms): array {
24        return [];
25    }
26
27    public function getHtml(mixed $args): string {
28        $this->httpUtils()->validateGetParams(OlzLogsParams::class);
29        $code_href = $this->envUtils()->getCodeHref();
30
31        $out = OlzHeader::render([
32            'back_link' => "{$code_href}service/",
33            'title' => "Logs",
34            'norobots' => true,
35        ]);
36
37        $metadata = new Metadata();
38
39        $out .= <<<'ZZZZZZZZZZ'
40            <style>
41            .menu-container {
42                max-width: none;
43            } 
44            .site-container {
45                max-width: none;
46            }
47            </style>
48            ZZZZZZZZZZ;
49
50        $out .= "<div class='content-full olz-logs'>";
51        if ($this->authUtils()->hasPermission('all')) {
52            $channels_data = [];
53            foreach (LogsDefinitions::getLogsChannels() as $channel) {
54                $channels_data[$channel::getId()] = $channel::getName();
55            }
56            $esc_channels = json_encode($channels_data);
57            $out .= <<<ZZZZZZZZZZ
58                    <script>
59                        window.olzLogsChannels = {$esc_channels};
60                    </script>
61                    <div id='react-root'></div>
62                ZZZZZZZZZZ;
63        } else {
64            $out .= OlzNoAppAccess::render([
65                'app' => $metadata,
66            ]);
67        }
68        $out .= "</div>";
69
70        $out .= $metadata->getJsCssImports();
71        $out .= OlzFooter::render();
72
73        return $out;
74    }
75}