PluginProbe
WebTotem Security / 2.3.14
WebTotem Security v2.3.14
3.0.1 3.0.0 trunk 1.0 1.1 1.2 1.3 1.3.1 1.3.2 1.3.3 2.0 2.1 2.1.1 2.1.2 2.1.3 2.1.4 2.1.5 2.1.6 2.1.7 2.1.8 2.1.9 2.2.1 2.2.2 2.2.3 2.2.4 All 109 releases
← All changes | includes/dashboard.php +999 -754 2.1.72.3.14 View file →
@@ -1,755 +1,1000 @@
1 -<?php defined('ABSPATH') or die("Protected By WT!"); ?>
2 -<?php if (!empty($arguments)): ?>
3 -<div class="wtotem_content">
4 - <div class="wtotem_container">
5 - <div class="wtotem_first">
6 - <div class="wtotem_overall wtotem_first_left wt_card">
7 - <div class="wtotem_overall__title wtotem_title-info">
8 - <h3 class="wtotem_title-info__title">
9 - <?= wtsec_locale("score.overall_security_grade") ?>
10 - <span class="wtotem_title-info__info" data-tlite="w"
11 - title="<?= $arguments["score"]["description"] ?>"> </span>
12 - </h3>
13 - </div>
14 - <div class="wtotem_overall__body">
15 - <div class="wtotem_overall__inner">
16 - <div class="wtotem_overall__rectangle wtsec_score_bg_<?= $arguments["score"]["color"] ?>"><?= $arguments["score"]["grade"] ?></div>
17 - <div class="wtotem_overall__figures wtsec_score_<?= $arguments["score"]["color"] ?>"><?= $arguments["score"]["total_score"] ?></div>
18 - </div>
19 - <p class="wtotem_overall__text"><?= $arguments["score"]["information"] ?></p>
20 - </div>
21 - </div>
22 -
23 - <div class="wtotem_info wtotem_first_right wt_card">
24 - <div class="wtotem_info__item">
25 - <div class="wtotem_info__block">
26 - <div class="wtotem_info__subtitle"><?= wtsec_locale("score.tested_on") ?></div>
27 - <div class="wtotem_info__info"><?= $arguments["score"]["tested_on"] ?></div>
28 - </div>
29 - <div class="wtotem_info__block">
30 - <div class="wtotem_info__subtitle"><?= wtsec_locale("score.server_ip") ?></div>
31 - <div class="wtotem_info__info"><?= $arguments["score"]["server_ip"] ?></div>
32 - </div>
33 - </div>
34 - <div class="wtotem_info__item">
35 - <div class="wtotem_info__block">
36 - <div class="wtotem_info__subtitle"><?= wtsec_locale("score.location") ?></div>
37 - <div class="wtotem_info__info"><?= $arguments["score"]["location"] ?></div>
38 - </div>
39 - <div class="wtotem_info__scoring arrow-right"><a href="https://wtotem.com/scoring?url=<?= WTSEC_SITE_URL ?>" target="_blank"><?= wtsec_locale("score.full_scoring") ?></a></div>
40 - </div>
41 - </div>
42 - </div>
43 -
44 - <?php if ($arguments["am"]["process_status"] !== "installed" || !$arguments["am"]["installed"]): ?>
45 - <div class="wtotem_unit">
46 - <div class="wtotem_unit__first section-header-mb">
47 - <h2 class="title">
48 - <?= wtsec_locale("agent_manager_installation") ?>
49 - </h2>
50 - </div>
51 - <div class="wtotem_unit__wrapper wt_card">
52 - <?php if ($arguments["am"]["process_status"] === "installing"): ?>
53 - <div class="wtotem_unit__block wtotem_unit__block_antivirus" id="wtsec_antivirus_block_installed" style="display: none">
54 - <div class="wtotem_unit__contain">
55 - <div class="wtotem_unit__circle wtotem_unit__circle_success">
56 - <img src="<?= wtsec_getImagePath("success.svg") ?>" alt="Success" class="wtotem_unit__img">
57 - </div>
58 - <h2 class="title">
59 - <?= wtsec_locale("remote_antivirus") ?>
60 - </h2>
61 - </div>
62 - <div class="wtotem_unit__expectation wtotem_unit__expectation_success">
63 - <?= wtsec_locale("installed") ?>
64 - </div>
65 - </div>
66 - <div class="wtotem_unit__block wtotem_unit__block_antivirus" id="wtsec_antivirus_block_installing" style="display: none">
67 - <div class="wtotem_unit__contain">
68 - <div class="wtotem_unit__expectation wtotem_unit__circle_loading">
69 - <img src="<?= wtsec_getImagePath("spinner.svg") ?>" alt="Spinner"
70 - class="wtotem_unit__img wtotem_unit__img_spinner"/>
71 - </div>
72 - <h2 class="title">
73 - <?= wtsec_locale("remote_antivirus") ?>
74 - </h2>
75 - </div>
76 - <div class="wtotem_unit__expectation wtotem_unit__expectation_loading">
77 - <?= wtsec_locale("installation_in_progress") ?>...
78 - </div>
79 - </div>
80 - <div class="wtotem_unit__block wtotem_unit__block_antivirus" id="wtsec_antivirus_block_failed" style="display: none">
81 - <div class="wtotem_unit__contain">
82 - <div class="wtotem_unit__circle wtotem_unit__circle_error"></div>
83 - <h2 class="title">
84 - <?= wtsec_locale("remote_antivirus") ?>
85 - </h2>
86 - </div>
87 - <div class="wtotem_unit__expectation wtotem_unit__expectation_error">
88 - <?= wtsec_locale("installation_failed") ?>
89 - </div>
90 - </div>
91 -
92 - <div class="wtotem_unit__block wtotem_unit__block_firewall" id="wtsec_firewall_block_installed" style="display: none">
93 - <div class="wtotem_unit__contain">
94 - <div class="wtotem_unit__circle wtotem_unit__circle_success">
95 - <img src="<?= wtsec_getImagePath("success.svg") ?>" alt="Success"
96 - class="wtotem_unit__img">
97 - </div>
98 - <h2 class="title">
99 - <?= wtsec_locale("firewall") ?>
100 - </h2>
101 - </div>
102 - <div class="wtotem_unit__expectation wtotem_unit__expectation_success">
103 - <?= wtsec_locale("installed") ?>
104 - </div>
105 - </div>
106 -
107 - <div class="wtotem_unit__block wtotem_unit__block_firewall" id="wtsec_firewall_block_installing" style="display: none">
108 - <div class="wtotem_unit__contain">
109 - <div class="wtotem_unit__expectation wtotem_unit__circle_loading">
110 - <img src="<?= wtsec_getImagePath("spinner.svg") ?>" alt="Spinner"
111 - class="wtotem_unit__img wtotem_unit__img_spinner"/>
112 - </div>
113 - <h2 class="title">
114 - <?= wtsec_locale("firewall") ?>
115 - </h2>
116 - </div>
117 - <div class="wtotem_unit__expectation wtotem_unit__expectation_loading"><?= wtsec_locale("installation_in_progress") ?>
118 - ...
119 - </div>
120 - </div>
121 -
122 - <div class="wtotem_unit__block wtotem_unit__block_firewall" id="wtsec_firewall_block_failed" style="display: none">
123 - <div class="wtotem_unit__contain">
124 - <div class="wtotem_unit__circle wtotem_unit__circle_error"></div>
125 - <h2 class="title">
126 - <?= wtsec_locale("firewall") ?>
127 - </h2>
128 - </div>
129 - <div class="wtotem_unit__expectation wtotem_unit__expectation_error">
130 - <?= wtsec_locale("installation_failed") ?>
131 - </div>
132 - </div>
133 - <?php elseif(!$arguments["am"]["installed"]): ?>
134 - <div class="wtotem_unit__block">
135 - <div class="wtotem_unit__contain">
136 - <div class="wtotem_unit__circle wtotem_unit__circle_error"></div>
137 - <h2 class="title">
138 - <?= wtsec_locale("agent_manager_failed") ?>
139 - </h2>
140 - </div>
141 - <div class="wtotem_unit__expectation wtotem_unit__expectation_error">
142 - <?php if (isset($arguments['am']['actions']['first'])) { ?>
143 - <?= $arguments['am']['actions']['first'] ?>
144 - <?php } ?>
145 - </div>
146 - </div>
147 - <?php endif; ?>
148 -
149 - </div>
150 - </div>
151 - <?php endif; ?>
152 -
153 -
154 -
155 - <div class="wtotem_firewall">
156 - <div class="wtotem_firewall__first section-header-mb">
157 - <h2 class="title"><?= wtsec_locale("firewall_activity") ?></h2>
158 -<!-- <div class="wtotem_firewall__stats wtotem_print">-->
159 -<!-- <div class="wtotem_firewall__icon"></div>-->
160 -<!-- <div class="wtotem_firewall__text wtotem_print__label">Full stats</div>-->
161 -<!-- </div>-->
162 - </div>
163 - <div class="wtotem_firewall__block">
164 - <div class="wtotem_numbers wt_card">
165 - <div class="wtotem_numbers__item">
166 - <div class="wtotem_numbers__title"><?= wtsec_locale("attacks") ?></div>
167 - <div class="wtotem_numbers__figures"><?= $arguments["waf"]["attacks"] ?></div>
168 - </div>
169 -
170 - <div class="wtotem_numbers__item">
171 - <div class="wtotem_numbers__title"><?= wtsec_locale("attacks_blocked") ?></div>
172 - <div class="wtotem_numbers__figures"><?= $arguments["waf"]["blocking"] ?></div>
173 - </div>
174 -
175 - <div class="wtotem_numbers__item">
176 - <div class="wtotem_numbers__title"><?= wtsec_locale("not_blocked") ?></div>
177 - <div class="wtotem_numbers__figures"><?= $arguments["waf"]["non-blocking"] ?></div>
178 - </div>
179 - </div>
180 -
181 -
182 - <div class="wtotem_from wt_card">
183 - <div class="wtotem_from__svg-wrap">
184 - <svg class="wtotem_from__progress">
185 - <circle class="wtotem_from__circle" cx="35" cy="35" r="28" stroke-width="20"
186 - stroke="rgb(135,255,222)"/>
187 - </svg>
188 - <span class="wtotem_from__percent" data-value="<?=$arguments["waf"]["countryAttacks"]['percent']?>">100%</span>
189 - </div>
190 -
191 - <div class="wtotem_from__info">
192 - <div class="wtotem_from__title"><?= wtsec_locale("chart.country") ?></div>
193 - <div class="wtotem_from__country" >
194 - <?= ($arguments["waf"]["countryAttacks"]["country"]) ?
195 - wtsec_locale("chart.attack_from_region",['region' => $arguments["waf"]["countryAttacks"]["country"]]) :
196 - wtsec_locale('statuses.ok') ?>
197 - </div>
198 - </div>
199 - <div class="wtotem_from__arrow-right"></div>
200 - </div>
201 - </div>
202 - </div>
203 -
204 - <div class="wtotem_chart wt_card">
205 - <div class="wtotem_chart-first">
206 - <div class="wtotem_chart-first__left">
207 - <div class="wtotem_chart-first__all"><?= wtsec_locale("chart.all") ?></div>
208 - <div class="wtotem_chart-first__hack wtotem_chart-first__hack_attack">
209 - <span></span>
210 - <p><?= wtsec_locale("chart.attacks") ?></p>
211 - </div>
212 - <div class="wtotem_chart-first__hack wtotem_chart-first__hack_blocked">
213 - <span></span>
214 - <p><?= wtsec_locale("chart.blocked") ?></p>
215 - </div>
216 - </div>
217 -
218 -<!-- <div class="wtotem_chart-first__right">-->
219 -<!-- <div class="wtotem_chart-first__btn"></div>-->
220 -<!-- <div class="wtotem_chart-first__btn"></div>-->
221 -<!-- <div class="wtotem_chart-first__btn">--><?//= wtsec_locale("chart.daily") ?><!--</div>-->
222 -<!-- <div class="wtotem_chart-first__btn">--><?//= wtsec_locale("chart.monthly") ?><!--</div>-->
223 -<!-- <div class="wtotem_chart-first__btn wtotem_chart-first__btn_active">--><?//= wtsec_locale("chart.yearly") ?><!--</div>-->
224 -<!-- <div class="wtotem_chart-first__btn wtotem_chart-first__btn_active">--><?//= wtsec_locale("chart.weekly") ?><!--</div>-->
225 -<!-- </div>-->
226 - </div>
227 -
228 - <div class="wtotem_chart__diagram">
229 - <div id="line-chart" class="line-chart">
230 - <div id="tooltipAttacks" class="line-chart__tooltip">
231 - <span id="countAttacks"></span>
232 - </div>
233 - <div id="tooltipBlocked" class="line-chart__tooltip">
234 - <span id="countBlocked"></span>
235 - </div>
236 - </div>
237 - </div>
238 - <div class="wtotem_chart__line"></div>
239 - <div class="wtotem_data">
240 - <div class="wtotem_data__thead">
241 - <div class="wtotem_data__tr">
242 - <div
243 - class="wtotem_data__th wtotem_data_width_1"
244 - >
245 - <?= wtsec_locale("chart.type_ip") ?>
246 - </div>
247 - <div
248 - class="wtotem_data__th wtotem_data_width_2"
249 - >
250 - <?= wtsec_locale("chart.country") ?>
251 - </div>
252 - <div
253 - class="wtotem_data__th wtotem_data_width_3"
254 - >
255 - <?= wtsec_locale("chart.time") ?>
256 - </div>
257 - <div
258 - class="wtotem_data__th wtotem_data_width_4"
259 - >
260 - <?= wtsec_locale("chart.attack_location") ?>
261 - </div>
262 - <div
263 - class="wtotem_data__th wtotem_data_width_6"
264 - >
265 - <?= wtsec_locale("chart.status") ?>
266 - </div>
267 - </div>
268 - </div>
269 - <div class="wtotem_data__tbody">
270 - <?php foreach ($arguments['waf']['edges'] as $edge){?>
271 - <div class="wtotem_data__tr">
272 - <div class="wtotem_data__td <?= $edge['node']['blocked'] ? 'wtotem_data__td_banned' : 'wtotem_data__td_blocked' ?> wtotem_data_width_1">
273 - <div class="wtotem_data__ip">
274 - <?= $edge['node']['ip'] ?>
275 - </div>
276 - </div>
277 - <div class="wtotem_data__td wtotem_data_width_2">
278 -
279 - <div class="wtotem_data__country wt-flex wt-flex-middle">
280 - <img src="https://www.countryflags.io/<?= $edge['node']['country'] ?>/flat/24.png" alt="Flag" class="wt-margin-right-10">
281 -
282 - <?= $edge['node']['location']['country']['nameEn'] ?>
283 - </div>
284 - </div>
285 - <div class="wtotem_data__td wtotem_data_width_3">
286 - <?= date("Y-m-d H:i:s",$edge['node']['time']/1000) ?>
287 - </div>
288 - <div
289 - class="wtotem_data__td wtotem_data_width_4">
290 - <?= $edge['node']['request'] ?>
291 - </div>
292 - <div
293 - class="wtotem_data__td wtotem_data_width_6">
294 - <?= $edge['node']['blocked'] ? wtsec_locale('chart.blocked_ip') : wtsec_locale('chart.not_blocked_ip') ?>
295 - </div>
296 - </div>
297 - <?php } ?>
298 - </div>
299 - </div>
300 - <div class="wtotem_chart__line"></div>
301 - <div class="wtotem_chart__last">
302 - <p class="wtotem_chart__text">
303 - <?= wtsec_locale("want_more") ?>
304 - </p>
305 - <a href="firewall.html" class="wtotem_chart__btn">
306 - <?= wtsec_locale("read_more") ?>
307 - </a>
308 - </div>
309 - </div>
310 -
311 - <div class="wtotem_antivirus">
312 - <div class="wtotem_antivirus__first section-header-mb">
313 - <h2 class="title">
314 - <?= wtsec_locale("remote_antivirus") ?>
315 - </h2>
316 - <a href="antivirus.html" class="arrow-right">
317 - <?= wtsec_locale("learn_more") ?>
318 - </a>
319 - </div>
320 - <div class="wtotem_antivirus__block wt_card">
321 - <div class="wtotem_antivirus__item">
322 - <div class="wtotem_antivirus__figures wtotem_antivirus__figures_green">
323 - <?= $arguments["vc"]["scanned"] ?>
324 - </div>
325 - <div class="wtotem_antivirus__title">
326 - <?= wtsec_locale("antivirus.scanned") ?>
327 - </div>
328 - </div>
329 -
330 - <div class="wtotem_antivirus__item">
331 - <div class="wtotem_antivirus__figures wtotem_antivirus__figures_yellow">
332 - <?= $arguments["vc"]["changes"] ?>
333 - </div>
334 - <div class="wtotem_antivirus__title">
335 - <?= wtsec_locale("antivirus.changed") ?>
336 - </div>
337 - </div>
338 -
339 - <div class="wtotem_antivirus__item">
340 - <div class="wtotem_antivirus__figures wtotem_antivirus__figures_orange">
341 - <?= $arguments["vc"]["signatures"] ?>
342 - </div>
343 - <div class="wtotem_antivirus__title"><?= wtsec_locale("antivirus.infected") ?></div>
344 - </div>
345 -
346 - <div class="wtotem_antivirus__item">
347 - <div class="wtotem_antivirus__figures wtotem_antivirus__figures_black"><?= $arguments["vc"]["deleted"] ?></div>
348 - <div class="wtotem_antivirus__title"><?= wtsec_locale("antivirus.deleted") ?></div>
349 - </div>
350 - </div>
351 - </div>
352 -
353 - <div class="wtotem_monitoring">
354 - <div class="wtotem_monitoring__first section-header-mb">
355 - <h2 class="title">
356 - <?= wtsec_locale("monitoring") ?>
357 - </h2>
358 - </div>
359 - <div class="wtotem_table wt_card">
360 - <div class="wtotem_table__row">
361 - <div class="wtotem_table__col">
362 - <div class="wtotem_table__th">
363 - <h3 class="wtotem_table__title wtotem_title-info__title">
364 - <?= wtsec_locale("ssl") ?>
365 - <span class="wtotem_title-info__info" data-tlite="w"
366 - title="<?= $arguments["ssl"]["description"] ?>"></span>
367 - </h3>
368 - </div>
369 - <div class="wtotem_table__td">
370 - <div class="wtotem_table__expired">
371 - <?= $arguments["ssl"]["status"]["text"] ?>
372 - </div>
373 - <div class="wtotem_table__solve">
374 - <?= $arguments["ssl"]["solve_it"] ?>
375 - </div>
376 - </div>
377 - <?php if (!empty($arguments["ssl"]["days_left"])): ?>
378 - <div class="wtotem_table__info">
379 - <h3 class="wtotem_table__subject">
380 - <?= wtsec_locale("days_left") ?>
381 - </h3>
382 - <div class="wtotem_table__text">
383 - <?= $arguments["ssl"]["days_left"] ?>
384 - </div>
385 - </div>
386 - <?php endif; ?>
387 - <?php if (!empty($arguments["ssl"]["issue_date"])): ?>
388 - <div class="wtotem_table__info">
389 - <h3 class="wtotem_table__subject">
390 - <?= wtsec_locale("issue_date") ?>
391 - </h3>
392 - <div class="wtotem_table__text">
393 - <?= $arguments["ssl"]["issue_date"] ?>
394 - </div>
395 - </div>
396 - <?php endif; ?>
397 - <?php if (!empty($arguments["ssl"]["expiry_date"])): ?>
398 - <div class="wtotem_table__info">
399 - <h3 class="wtotem_table__subject">
400 - <?= wtsec_locale("expiry_date") ?>
401 - </h3>
402 - <div class="wtotem_table__text">
403 - <?= $arguments["ssl"]["expiry_date"] ?>
404 - </div>
405 - </div>
406 - <?php endif; ?>
407 -
408 - </div>
409 - <div class="wtotem_table__col">
410 - <div class="wtotem_table__th">
411 - <h3 class="wtotem_table__title wtotem_title-info__title">
412 - <?= wtsec_locale("availability") ?>
413 - <span class="wtotem_title-info__info" data-tlite="w"
414 - title="<?= $arguments["wa"]["description"] ?>"></span>
415 - </h3>
416 - </div>
417 - <div class="wtotem_table__td">
418 - <div class="wtotem_table__perfomance">
419 - <?= wtsec_locale("performance") ?>
420 - </div>
421 - <div class="wtotem_table__right wtotem_table__right_progress-wrap">
422 - <span class="wtotem_table__initial-value">0%</span>
423 - <div class="wtotem_table__stick-progress">
424 - <div class="wtotem_table__message"><span
425 - class="wtotem_table__percent"><?= $arguments["wa"]["availability_percent"] ?>%</span><span
426 - class="wtotem_table__triangle"></span>
427 - </div>
428 - </div>
429 - </div>
430 - </div>
431 - <div class="wtotem_table__info">
432 - <h3 class="wtotem_table__subject"><?= wtsec_locale("status") ?></h3>
433 - <div class="wtotem_table__status"><?= $arguments["wa"]["status"]["text"] ?></div>
434 - </div>
435 - <div class="wtotem_table__info">
436 - <h3 class="wtotem_table__subject"><?= wtsec_locale("response_time") ?></h3>
437 - <div class="wtotem_table__text"><?= $arguments["wa"]["response_time"] ?></div>
438 - </div>
439 - <div class="wtotem_table__info">
440 - <h3 class="wtotem_table__subject"><?= wtsec_locale("downtime") ?></h3>
441 - <div class="wtotem_table__text"><?= $arguments["wa"]["downtime"] ?></div>
442 - </div>
443 - <div class="wtotem_table__info">
444 - <h3 class="wtotem_table__subject"><?= wtsec_locale("last_test") ?></h3>
445 - <div class="wtotem_table__text"><?= $arguments["wa"]["last_test"] ?></div>
446 - </div>
447 - </div>
448 - <div class="wtotem_table__col">
449 - <div class="wtotem_table__th">
450 - <h3 class="wtotem_table__title wtotem_title-info__title"><?= wtsec_locale("reputation") ?>
451 - <span class="wtotem_title-info__info" data-tlite="w"
452 - title="<?= $arguments["av"]["description"] ?>"></span></h3>
453 - </div>
454 - <div class="wtotem_table__td">
455 - <div class="wtotem_table__wrap">
456 - <img src="<?= wtsec_getImagePath($arguments["dc"]["status"]["image"]) ?>" alt="Check mark icon"
457 - class="wtotem_table__img"/>
458 - </div>
459 -
460 - <div class="wtotem_table__perfomance wtotem_table__perfomance_long ml-2"><?= $arguments["av"]["reputation"] ?></div>
461 - </div>
462 - <div class="wtotem_table__info">
463 - <h3 class="wtotem_table__subject"><?= wtsec_locale("status") ?></h3>
464 - <div class="wtotem_table__status"><?= $arguments["av"]["status"]["text"] ?></div>
465 - </div>
466 - <div class="wtotem_table__info">
467 - <h3 class="wtotem_table__subject">
468 - <?= wtsec_locale("blacklists_entries") ?>
469 - </h3>
470 - <div class="wtotem_table__text">
471 - <?= $arguments["av"]["blacklists_entries"] ?>
472 - </div>
473 - </div>
474 - <div class="wtotem_table__info">
475 - <h3 class="wtotem_table__subject">
476 - <?= wtsec_locale("last_test") ?>
477 - </h3>
478 - <div class="wtotem_table__text">
479 - <?= $arguments["av"]["time_of_the_last_test"] ?>
480 - </div>
481 - </div>
482 - <div class="wtotem_table__info"></div>
483 - </div>
484 - </div>
485 - <div class="wtotem_table__footer">
486 - <a target="_blank" href="https://wtotem.com/#hs-chat-open" class="wtotem_table__link">
487 - <div class="wtotem_table__perfomance">
488 - <?= wtsec_locale("need_more_support") ?>
489 - <span><?= wtsec_locale("lets_talk") ?></span>
490 - </div>
491 - </a>
492 - </div>
493 - </div>
494 - </div>
495 -
496 -
497 -
498 - <div class="wtotem_scanning">
499 - <div class="wtotem_scanning__first section-header-mb">
500 - <h2 class="title">
501 - <?= wtsec_locale("scanning") ?>
502 - </h2>
503 - </div>
504 - <div class="wtotem_table wt_card">
505 - <div class="wtotem_table__row">
506 - <div class="wtotem_table__col">
507 - <div class="wtotem_table__th">
508 - <h3 class="wtotem_table__title wtotem_title-info__title">
509 - <?= wtsec_locale("port_scanner") ?>
510 - <span class="wtotem_title-info__info" data-tlite="w"
511 - title="<?= $arguments["dc"]["description"] ?>"></span>
512 - </h3>
513 - </div>
514 - <div class="wtotem_table__info">
515 - <h3 class="wtotem_table__subject">
516 - <?= wtsec_locale("status") ?>
517 - </h3>
518 - <div class="wtotem_table__status"><?= $arguments["ps"]["status"]["text"] ?></div>
519 - </div>
520 - <div class="wtotem_table__info">
521 - <h3 class="wtotem_table__subject"><?= wtsec_locale("ip_address") ?></h3>
522 - <div class="wtotem_table__text"><?= $arguments["ps"]["ip"] ?></div>
523 - </div>
524 - <?php if (!empty($arguments["ps"]["tcp"])): ?>
525 - <div class="wtotem_table__info">
526 - <h3 class="wtotem_table__subject">
527 - <?= wtsec_locale("tcp") ?>
528 - </h3>
529 - <div class="wtotem_table__text">
530 - <?= $arguments["ps"]["tcp"] ?>
531 - </div>
532 - </div>
533 - <?php endif; ?>
534 - <div class="wtotem_table__info">
535 - <h3 class="wtotem_table__subject">
536 - <?= wtsec_locale("last_test") ?>
537 - </h3>
538 - <div class="wtotem_table__text">
539 - <?= $arguments["ps"]["last_test"] ?>
540 - </div>
541 - </div>
542 - </div>
543 -
544 - <div class="wtotem_table__col">
545 - <div class="wtotem_table__th wtotem_overall__title">
546 - <h3 class="wtotem_table__title wtotem_title-info__title">
547 - <?= wtsec_locale("deface_scanner") ?>
548 - <span class="wtotem_title-info__info" data-tlite="w"
549 - title="<?= $arguments["dc"]["description"] ?>"></span>
550 - </h3>
551 - </div>
552 - <div class="wtotem_table__item">
553 - <div class="wtotem_table__wrap_big">
554 - <img src="<?= wtsec_getImagePath($arguments["dc"]["status"]["image"]) ?>" alt="Check mark icon"
555 - class="wtotem_table__img"/>
556 - </div>
557 - </div>
558 -
559 - <div class="wtotem_table__info">
560 - <h3 class="wtotem_table__subject">
561 - <?= wtsec_locale("status") ?>
562 - </h3>
563 - <div class="wtotem_table__status">
564 - <?= $arguments["dc"]["status"]["text"] ?>
565 - </div>
566 - </div>
567 - <div class="wtotem_table__info">
568 - <h3 class="wtotem_table__subject">
569 - <?= wtsec_locale("number") ?>
570 - </h3>
571 - <div class="wtotem_table__text">
572 - <?= $arguments["dc"]["number"] ?>
573 - </div>
574 - </div>
575 - <div class="wtotem_table__info">
576 - <h3 class="wtotem_table__subject">
577 - <?= wtsec_locale("last_test") ?>
578 - </h3>
579 - <div class="wtotem_table__text">
580 - <?= $arguments["dc"]["time_of_the_last_test"] ?>
581 - </div>
582 - </div>
583 - </div>
584 - <div class="wtotem_table__col">
585 - <div class="wtotem_table__th">
586 - <h3 class="wtotem_table__title wtotem_title-info__title">
587 - <?= wtsec_locale("domain") ?>
588 - <span class="wtotem_title-info__info" data-tlite="w"
589 - title="<?= $arguments["dec"]["description"] ?>"></span>
590 - </h3>
591 - </div>
592 - <div class="wtotem_table__item">
593 - <div class="wtotem_table__wrap_big">
594 - <img src="<?= wtsec_getImagePath($arguments["dec"]["status"]["image"]) ?>" alt="Check mark icon"
595 - class="wtotem_table__img"/>
596 - </div>
597 - </div>
598 -
599 - <div class="wtotem_table__info">
600 - <h3 class="wtotem_table__subject">
601 - <?= wtsec_locale("status") ?>
602 - </h3>
603 - <div class="wtotem_table__status">
604 - <?= $arguments["dec"]["status"]["text"] ?>
605 - </div>
606 - </div>
607 - <div class="wtotem_table__info">
608 - <h3 class="wtotem_table__subject">
609 - <?= wtsec_locale("created") ?>
610 - </h3>
611 - <div class="wtotem_table__text">
612 - <?= $arguments["dec"]["created"] ?>
613 - </div>
614 - </div>
615 - <div class="wtotem_table__info">
616 - <h3 class="wtotem_table__subject">
617 - <?= wtsec_locale("expiry_date") ?>
618 - </h3>
619 - <div class="wtotem_table__text">
620 - <?= $arguments["dec"]["expiry_date"] ?>
621 - </div>
622 - </div>
623 - </div>
624 - </div>
625 -
626 - <div class="wtotem_table__footer">
627 - <a target="_blank" href="https://wtotem.com/#hs-chat-open" class="wtotem_table__link">
628 - <div class="wtotem_table__perfomance">
629 - <?= wtsec_locale("need_more_support") ?>
630 - <span><?= wtsec_locale("lets_talk") ?></span>
631 - </div>
632 - </a>
633 - </div>
634 - </div>
635 - </div>
636 - </div>
637 -</div>
638 -
639 -<script>
640 - var availability_percent = "<?=$arguments["wa"]["availability_percent"]?>";
641 - var waf_chart = <?=$arguments["waf"]["chart"]?>;
642 -</script>
643 -<script>
644 - var wtotem_token = "<?=$arguments["settings"]["token"]?>";
645 - var wtotem_site_id = "<?=$arguments["settings"]["site_id"]?>";
646 - var wtotem_am_process_status = "<?=$arguments["am"]["process_status"]?>";
647 - var wtotem_locale_installed = "<?= wtsec_locale("installed") ?>";
648 - var wtotem_locale_installing = "<?= wtsec_locale("installation_in_progress") ?>";
649 - var wtotem_locale_failed = "<?= wtsec_locale("failed") ?>";
650 - var wtotem_socket_url = "wss://api.wtotem.com/graphql";
651 - document.addEventListener('DOMContentLoaded', function () {
652 - if (wtotem_am_process_status === "installing") {
653 - let firewall_selector = document.getElementsByClassName("wtotem_unit__block_firewall");
654 - let firewall_installed_selector = document.getElementById("wtsec_firewall_block_installed");
655 - let firewall_installing_selector = document.getElementById("wtsec_firewall_block_installing");
656 - let firewall_failed_selector = document.getElementById("wtsec_firewall_block_failed");
657 - let antivirus_selector = document.getElementsByClassName("wtotem_unit__block_antivirus");
658 - let antivirus_installed_selector = document.getElementById("wtsec_antivirus_block_installed");
659 - let antivirus_installing_selector = document.getElementById("wtsec_antivirus_block_installing");
660 - let antivirus_failed_selector = document.getElementById("wtsec_antivirus_block_failed");
661 -
662 - function show_hide(selector,show = true){
663 - if(show){
664 - selector.style.display = "flex";
665 - }else{
666 - selector.style.display = "none";
667 - }
668 - }
669 -
670 - function show_hide_in_loop(selectors,show = true){
671 - for(let selector of selectors){
672 - show_hide(selector,show);
673 - }
674 - }
675 -
676 - show_hide(firewall_installing_selector,true);
677 - show_hide(antivirus_installing_selector,true);
678 - let variables = {
679 - input: {
680 - token: wtotem_token,
681 - service: 'am',
682 - siteId: wtotem_site_id,
683 - },
684 - }
685 - let query = `subscription EventsSubscription($input: EventsInput!) {
686 - events(input: $input) {
687 - siteId
688 - hostname
689 - status
690 - service
691 - error {
692 - message
693 - __typename
694 - }
695 - __typename
696 - }
697 - }`;
698 - const sub = graphQLSubscriber(wtotem_socket_url, {},
699 - (error, subscribe) => {
700 - if (!(error || subscribe)) {
701 - // Normal closure.
702 - return
703 - }
704 - if (error) {
705 - console.error(error)
706 - throw error
707 - }
708 - const unsubscribe = subscribe(
709 - query,
710 - variables,
711 - null,
712 - (error, data) => {
713 - if (!(error || subscribe)) {
714 - // Normal closure
715 - return
716 - }
717 - if (error) {
718 - console.error(error)
719 - throw error
720 - }
721 -
722 - if (data.events.status === "waf_installed") {
723 - show_hide_in_loop(firewall_selector, false);
724 - show_hide(firewall_installed_selector,true);
725 - } else if (data.events.status === "av_installed") {
726 - show_hide_in_loop(antivirus_selector, false);
727 - show_hide(antivirus_installed_selector,true);
728 - } else if (data.events.status === "am_installed") {
729 -
730 - } else {
731 - let split = data.events.status.split("_");
732 - if(split.length === 0){
733 - return;
734 - }
735 - let service = split[0];
736 - if (service === "waf") {
737 - show_hide_in_loop(firewall_selector, false);
738 - show_hide(firewall_failed_selector,true);
739 - }
740 - if (service === "av") {
741 - show_hide_in_loop(antivirus_selector, false);
742 - show_hide(antivirus_failed_selector,true);
743 - }
744 - if (service === "am") {
745 -
746 - }
747 - }
748 - })
749 - })
750 - }
751 - });
752 -</script>
753 -<?php else: ?>
754 -//show error here
1 +<?php defined('ABSPATH') or die("Protected By WT!"); ?>
2 +
3 +<?php if (!empty($arguments)): ?>
4 +
5 +<div class="wtotem_content">
6 + <div class="wtotem_container">
7 + <div class="wtotem_first">
8 + <div class="wtotem_overall wtotem_first_left wt_card">
9 + <div class="wtotem_overall__title wtotem_title-info">
10 + <h3 class="wtotem_title-info__title">
11 + <?= wtsec_locale("score.overall_security_grade") ?>
12 + <div class="wtotem_title-info__info wtotem-tooltip">
13 + <div class="wtotem-tooltip__content">
14 + <?= wtsec_locale("tooltips.scoring") ?>
15 + </div>
16 + </div>
17 + </h3>
18 + </div>
19 + <div class="wtotem_overall__body">
20 + <div class="wtotem_overall__inner">
21 + <div class="wtotem_overall__rectangle wtsec_score_bg_<?= $arguments["score"]["color"] ?>"><?= $arguments["score"]["grade"] ?></div>
22 + <div class="wtotem_overall__figures wtsec_score_<?= $arguments["score"]["color"] ?>"><?= $arguments["score"]["total_score"] ?></div>
23 + </div>
24 + <p class="wtotem_overall__text"><?= $arguments["score"]["information"] ?></p>
25 + </div>
26 + </div>
27 +
28 + <div class="wtotem_info wtotem_first_right wt_card">
29 + <div class="wtotem_info__item">
30 + <div class="wtotem_info__block">
31 + <div class="wtotem_info__subtitle"><?= wtsec_locale("score.tested_on") ?></div>
32 + <div class="wtotem_info__info"><?= $arguments["score"]["tested_on"] ?></div>
33 + </div>
34 + <div class="wtotem_info__block">
35 + <div class="wtotem_info__subtitle"><?= wtsec_locale("score.server_ip") ?></div>
36 + <div class="wtotem_info__info"><?= $arguments["score"]["server_ip"] ?></div>
37 + </div>
38 + </div>
39 + <div class="wtotem_info__item">
40 + <div class="wtotem_info__block">
41 + <div class="wtotem_info__subtitle"><?= wtsec_locale("score.location") ?></div>
42 + <div class="wtotem_info__info"><?= $arguments["score"]["location"] ?></div>
43 + </div>
44 + <div class="wtotem_info__scoring arrow-right"><a href="https://wtotem.com/cabinet/site/<?= $arguments['settings']['site_id']?>/scoring" target="_blank"><?= wtsec_locale("score.full_scoring") ?></a></div>
45 + </div>
46 + </div>
47 + </div>
48 +
49 + <?php if ($arguments["am"]["process_status"] !== "installed" || !$arguments["am"]["installed"]): ?>
50 + <div class="wtotem_unit">
51 + <div class="wtotem_unit__first section-header-mb">
52 + <h2 class="title">
53 + <?= wtsec_locale("agent_manager_installation") ?>
54 + </h2>
55 +
56 + <a class="wtotem_button wtotem_button--primary wtotem_font-700 wtotem_reinstall" href="#" data-text="<?= wtsec_locale("reinstall_warning") ?>">
57 + <span><?= wtsec_locale("reinstall") ?></span>
58 + </a>
59 + </div>
60 + <div class="wtotem_unit__wrapper wt_card">
61 + <?php if ($arguments["am"]["process_status"] === "installing"): ?>
62 + <div class="wtotem_unit__block wtotem_unit__block_antivirus" id="wtsec_antivirus_block_installed" style="display: none">
63 + <div class="wtotem_unit__contain">
64 + <div class="wtotem_unit__circle wtotem_unit__circle_success">
65 + <img src="<?= wtsec_getImagePath("success.svg") ?>" alt="Success" class="wtotem_unit__img">
66 + </div>
67 + <h2 class="title">
68 + <?= wtsec_locale("remote_antivirus") ?>
69 + </h2>
70 + </div>
71 + <div class="wtotem_unit__expectation wtotem_unit__expectation_success">
72 + <?= wtsec_locale("installed") ?>
73 + </div>
74 + </div>
75 + <div class="wtotem_unit__block wtotem_unit__block_antivirus" id="wtsec_antivirus_block_installing" >
76 + <div class="wtotem_unit__contain">
77 + <div class="wtotem_unit__expectation wtotem_unit__circle_loading">
78 + <img src="<?= wtsec_getImagePath("spinner.svg") ?>" alt="Spinner"
79 + class="wtotem_unit__img wtotem_unit__img_spinner"/>
80 + </div>
81 + <h2 class="title ml-2">
82 + <?= wtsec_locale("remote_antivirus") ?>
83 + </h2>
84 + </div>
85 + <div class="wtotem_unit__expectation wtotem_unit__expectation_loading">
86 + <?= wtsec_locale("installation_in_progress") ?>...
87 + </div>
88 + </div>
89 + <div class="wtotem_unit__block wtotem_unit__block_antivirus" id="wtsec_antivirus_block_failed" style="display: none">
90 + <div class="wtotem_unit__contain">
91 + <div class="wtotem_unit__circle wtotem_unit__circle_error"></div>
92 + <h2 class="title">
93 + <?= wtsec_locale("remote_antivirus") ?>
94 + </h2>
95 + </div>
96 + <div class="wtotem_unit__expectation wtotem_unit__expectation_error">
97 + <?= wtsec_locale("installation_failed") ?>
98 + </div>
99 + </div>
100 +
101 + <div class="wtotem_unit__block wtotem_unit__block_firewall" id="wtsec_firewall_block_installed" style="display: none">
102 + <div class="wtotem_unit__contain">
103 + <div class="wtotem_unit__circle wtotem_unit__circle_success">
104 + <img src="<?= wtsec_getImagePath("success.svg") ?>" alt="Success"
105 + class="wtotem_unit__img">
106 + </div>
107 + <h2 class="title">
108 + <?= wtsec_locale("firewall") ?>
109 + </h2>
110 + </div>
111 + <div class="wtotem_unit__expectation wtotem_unit__expectation_success">
112 + <?= wtsec_locale("installed") ?>
113 + </div>
114 + </div>
115 +
116 + <div class="wtotem_unit__block wtotem_unit__block_firewall" id="wtsec_firewall_block_installing">
117 + <div class="wtotem_unit__contain">
118 + <div class="wtotem_unit__expectation wtotem_unit__circle_loading">
119 + <img src="<?= wtsec_getImagePath("spinner.svg") ?>" alt="Spinner"
120 + class="wtotem_unit__img wtotem_unit__img_spinner"/>
121 + </div>
122 + <h2 class="title ml-2">
123 + <?= wtsec_locale("firewall") ?>
124 + </h2>
125 + </div>
126 + <div class="wtotem_unit__expectation wtotem_unit__expectation_loading">
127 + <?= wtsec_locale("installation_in_progress") ?>...
128 + </div>
129 + </div>
130 +
131 + <div class="wtotem_unit__block wtotem_unit__block_firewall" id="wtsec_firewall_block_failed" style="display: none">
132 + <div class="wtotem_unit__contain">
133 + <div class="wtotem_unit__circle wtotem_unit__circle_error"></div>
134 + <h2 class="title">
135 + <?= wtsec_locale("firewall") ?>
136 + </h2>
137 + </div>
138 + <div class="wtotem_unit__expectation wtotem_unit__expectation_error">
139 + <?= wtsec_locale("installation_failed") ?>
140 + </div>
141 + </div>
142 +
143 + <?php elseif(!$arguments["am"]["installed"]): ?>
144 + <div class="wtotem_unit__block">
145 + <div class="wtotem_unit__contain">
146 + <div class="wtotem_unit__circle wtotem_unit__circle_error"></div>
147 + <h2 class="title">
148 + <?= wtsec_locale("agent_manager_failed") ?>
149 + </h2>
150 + </div>
151 + <div class="wtotem_unit__expectation wtotem_unit__expectation_error">
152 + <a class="wtotem_button wtotem_button--primary wtotem_font-700 wtotem_block_center wtotem_reinstall" href="#" data-text="<?= wtsec_locale("reinstall_warning") ?>">
153 + <span><?= wtsec_locale("install") ?></span>
154 + </a>
155 + </div>
156 + </div>
157 + <?php endif; ?>
158 +
159 + </div>
160 +
161 + </div>
162 + <?php endif; ?>
163 +
164 +
165 + <div class="wtotem_firewall">
166 + <div class="wtotem_firewall__first section-header-mb">
167 + <h2 class="title"><?= wtsec_locale("firewall_activity") ?></h2>
168 + </div>
169 +
170 + <?php if($arguments["wafTraining"]):?>
171 + <div class="wtotem_firwall-training-alert wt_card">
172 + <div class="wtotem_firwall-training-alert__text-wrapper">
173 + <p class="wtotem_firwall-training-alert__text">
174 + <?= wtsec_locale("firewall-training") ?>
175 + </p>
176 + </div>
177 + <a href="https://wtotem.com/docs/our-features/firewall" target="_blank" class="wtotem_firwall-training-alert__learn-more button">
178 + <?= wtsec_locale("learn_more") ?>
179 + </a>
180 + </div>
181 + <?php endif; ?>
182 +
183 + <div class="wtotem_firewall__block">
184 + <div class="wtotem_numbers wt_card">
185 + <div class="wtotem_numbers__item">
186 + <div class="wtotem_numbers__title"><?= wtsec_locale("attacks") ?></div>
187 + <div class="wtotem_numbers__figures"><?= $arguments["waf"]["attacks"] ?></div>
188 + </div>
189 +
190 + <div class="wtotem_numbers__item">
191 + <div class="wtotem_numbers__title"><?= wtsec_locale("attacks_blocked") ?></div>
192 + <div class="wtotem_numbers__figures"><?= $arguments["waf"]["blocking"] ?></div>
193 + </div>
194 +
195 + <div class="wtotem_numbers__item">
196 + <div class="wtotem_numbers__title"><?= wtsec_locale("not_blocked") ?></div>
197 + <div class="wtotem_numbers__figures"><?= $arguments["waf"]["non-blocking"] ?></div>
198 + </div>
199 + </div>
200 +
201 +
202 + <div class="wtotem_from wt_card">
203 + <div class="wtotem_from__svg-wrap">
204 + <svg class="wtotem_from__progress">
205 + <circle class="wtotem_from__circle" cx="35" cy="35" r="28" stroke-width="20" stroke="rgb(135,255,222)"/>
206 + </svg>
207 + <span class="wtotem_from__percent" data-value="<?=$arguments["waf"]["countryAttacks"]['percent']?>">100%</span>
208 + </div>
209 +
210 + <div class="wtotem_from__info">
211 + <div class="wtotem_from__title"><?= wtsec_locale("chart.country") ?></div>
212 + <div class="wtotem_from__country" >
213 + <?= ($arguments["waf"]["countryAttacks"]["country"]) ?
214 + wtsec_locale("chart.attack_from_region",['region' => $arguments["waf"]["countryAttacks"]["country"]]) :
215 + wtsec_locale('statuses.pending') ?>
216 + </div>
217 + </div>
218 + <a href="<?=wtsec_getUrl("waf")?>" class="wtotem_from__arrow-right"></a>
219 + </div>
220 + </div>
221 + </div>
222 +
223 + <div class="wtotem_chart wt_card">
224 + <div class="wtotem_chart-first">
225 + <div class="wtotem_chart-first__left">
226 + <div class="wtotem_chart-first__hack wtotem_chart-first__hack_attack">
227 + <span></span>
228 + <p><?= wtsec_locale("chart.attacks") ?></p>
229 + </div>
230 + <div class="wtotem_chart-first__hack wtotem_chart-first__hack_blocked">
231 + <span></span>
232 + <p><?= wtsec_locale("chart.blocked") ?></p>
233 + </div>
234 + </div>
235 +
236 + <div class="wtotem_chart-first__right chart_btn" data-box="chart_wrap" data-service="waf">
237 + <div class="wtotem_chart-first__btn" data-days="365"><?= wtsec_locale("chart.yearly") ?></div>
238 + <div class="wtotem_chart-first__btn wtotem_chart-first__btn_active" data-days="31"><?= wtsec_locale("chart.monthly") ?></div>
239 + <div class="wtotem_chart-first__btn" data-days="7"><?= wtsec_locale("chart.weekly") ?></div>
240 + <div class="wtotem_chart-first__btn" data-days="1"><?= wtsec_locale("chart.daily") ?></div>
241 + </div>
242 + </div>
243 +
244 +
245 + <?php if($arguments["waf"]["chart"] && $arguments["waf"]["chart"] != 'null'):?>
246 + <div id="chart_wrap">
247 + <div class="wtotem_chart__diagram" data-days="31" id="wtotem_chart_diagram">
248 + <div id="line-chart" class="line-chart">
249 + <div id="tooltipAttacks" class="line-chart__tooltip">
250 + <span id="countAttacks"></span>
251 + </div>
252 + <div id="tooltipBlocked" class="line-chart__tooltip line-chart__tooltip--reverse">
253 + <span id="countBlocked"></span>
254 + </div>
255 + </div>
256 + </div>
257 +
258 + <div class="wtotem_chart__line"></div>
259 + </div>
260 + <?php else:?>
261 + <!-- No data block -->
262 + <section class="wtotem_reports-no-data" style="height:300px" >
263 + <h2 class="visually-hidden"><?= wtsec_locale("no_data") ?></h2>
264 + <p class="wtotem_reports-no-data__text">
265 + <?= wtsec_locale("has_no_action_ready_yet") ?>
266 + </p>
267 + </section>
268 + <?php endif; ?>
269 +
270 + <div class="wtotem_data">
271 + <div class="wtotem_data__thead">
272 + <div class="wtotem_data__tr">
273 + <div class="wtotem_data__th wtotem_data_width_1">
274 + <?= wtsec_locale("chart.type_ip") ?>
275 + </div>
276 + <div class="wtotem_data__th wtotem_data_width_2">
277 + <?= wtsec_locale("chart.country") ?>
278 + </div>
279 + <div class="wtotem_data__th wtotem_data_width_3">
280 + <?= wtsec_locale("chart.time") ?>
281 + </div>
282 + <div class="wtotem_data__th wtotem_data_width_4">
283 + <?= wtsec_locale("chart.attack_location") ?>
284 + </div>
285 + <div class="wtotem_data__th wtotem_data_width_6">
286 + <?= wtsec_locale("chart.status") ?>
287 + </div>
288 + </div>
289 + </div>
290 + <div class="wtotem_data__tbody">
291 + <?php include 'components/_firewall_lazy.php'?>
292 + </div>
293 + </div>
294 + <div class="wtotem_chart__line"></div>
295 + <div class="wtotem_chart__last">
296 +
297 +
298 + <a href="<?=wtsec_getUrl("waf")?>" class="wtotem_chart__btn">
299 + <?= wtsec_locale("read_more") ?>
300 + </a>
301 + </div>
302 + </div>
303 +
304 + <div class="wtotem_map__first section-header-mb">
305 + <h2 class="title"><?= wtsec_locale("server_resources") ?>
306 + <div class="wtotem_title-info__info wtotem-tooltip">
307 + <div class="wtotem-tooltip__content">
308 + <p class="wtotem-tooltip__header"><?= wtsec_locale("server_resources") ?></p>
309 + <?= wtsec_locale("tooltips.server_resources") ?>
310 + </div>
311 + </div>
312 + </h2>
313 +
314 + </div>
315 +
316 + <!-- RAM diagram -->
317 + <div class="wtotem_chart wt_card">
318 + <div class="wtotem_chart-first">
319 + <div class="wtotem_chart-first__left">
320 + <h3><?= wtsec_locale("random_access_memory") ?>
321 + <div class="wtotem_title-info__info wtotem-tooltip">
322 + <div class="wtotem-tooltip__content">
323 + <?= wtsec_locale("tooltips.ram") ?>
324 + </div>
325 + </div>
326 + </h3>
327 + </div>
328 + <div class="wtotem_chart-first__right chart_btn" data-box="chart_ram_wrap" data-service="ram">
329 + <div class="wtotem_chart-first__btn" data-days="365"><?= wtsec_locale("chart.yearly") ?></div>
330 + <div class="wtotem_chart-first__btn" data-days="31"><?= wtsec_locale("chart.monthly") ?></div>
331 + <div class="wtotem_chart-first__btn wtotem_chart-first__btn_active" data-days="7"><?= wtsec_locale("chart.weekly") ?></div>
332 + <div class="wtotem_chart-first__btn" data-days="1"><?= wtsec_locale("chart.daily") ?></div>
333 + </div>
334 + </div>
335 +
336 + <?php if($arguments["serverStatus"]["ramChart"] && $arguments["serverStatus"]["ramChart"] != 'null'):?>
337 + <div id="chart_ram_wrap">
338 + <div class="wtotem_chart__diagram">
339 + <div id="ram-chart" class="line-chart" data-days="7">
340 + <div id="tooltipRam" class="line-chart__tooltip">
341 + <span id="countRam"></span>
342 + </div>
343 + </div>
344 + </div>
345 + <div class="wtotem_chart__line"></div>
346 + </div>
347 +
348 + <?php else:?>
349 +
350 + <!-- No data block -->
351 + <section class="wtotem_reports-no-data" style="height:300px" >
352 + <h2 class="visually-hidden"><?= wtsec_locale("no_data") ?></h2>
353 + <p class="wtotem_reports-no-data__text">
354 + <?= wtsec_locale("no_data") ?>
355 + </p>
356 + </section>
357 +
358 + <?php endif; ?>
359 +
360 + <section class="wtotem-ss-info">
361 + <h3 class="visually-hidden"></h3>
362 + <dl class="wtotem-ss-info__stats-list">
363 + <div class="wtotem-ss-info__column">
364 + <div class="wtotem-ss-info__stat-wrapper">
365 + <dt>PHP version</dt>
366 + <dd><?= $arguments['serverStatus']['info']['phpVersion']?></dd>
367 + </div>
368 + <div class="wtotem-ss-info__stat-wrapper">
369 + <dt>PHP Server User</dt>
370 + <dd><?= $arguments['serverStatus']['info']['phpServerUser']?></dd>
371 + </div>
372 + <div class="wtotem-ss-info__stat-wrapper">
373 + <dt>Operation system</dt>
374 + <dd title="<?= $arguments['serverStatus']['info']['osInfo']?>">
375 + <?= wtsec_cutString($arguments['serverStatus']['info']['osInfo'],20)?>
376 + </dd>
377 + </div>
378 + </div>
379 + <div class="wtotem-ss-info__column">
380 + <div class="wtotem-ss-info__stat-wrapper">
381 + <dt>CPU Freq</dt>
382 + <dd><?= $arguments['serverStatus']['info']['CpuFreq']?> MHz</dd>
383 + </div>
384 + <div class="wtotem-ss-info__stat-wrapper">
385 + <dt>CPU count</dt>
386 + <dd><?= $arguments['serverStatus']['info']['cpuCount']?></dd>
387 + </div>
388 + <div class="wtotem-ss-info__stat-wrapper">
389 + <dt>CPU Model</dt>
390 + <dd title="<?= $arguments['serverStatus']['info']['cpuModel']?>">
391 + <?= wtsec_cutString($arguments['serverStatus']['info']['cpuModel'],20)?>
392 + </dd>
393 + </div>
394 + </div>
395 + <div class="wtotem-ss-info__column">
396 + <div class="wtotem-ss-info__stat-wrapper">
397 + <dt>CPU Family</dt>
398 + <dd><?= $arguments['serverStatus']['info']['cpuFamily']?></dd>
399 + </div>
400 +
401 + </div>
402 + </dl>
403 + </section>
404 +
405 + </div>
406 +
407 + <!-- CPU diagram -->
408 + <div class="wtotem_chart wt_card">
409 + <div class="wtotem_chart-first">
410 + <div class="wtotem_chart-first__left">
411 + <h3><?= wtsec_locale("cpu_memory") ?>
412 + <div class="wtotem_title-info__info wtotem-tooltip">
413 + <div class="wtotem-tooltip__content">
414 + <?= wtsec_locale("tooltips.cpu") ?>
415 + </div>
416 + </div>
417 + </h3>
418 + </div>
419 + <div class="wtotem_chart-first__right chart_btn" data-box="chart_cpu_wrap" data-service="cpu">
420 + <div class="wtotem_chart-first__btn" data-days="365"><?= wtsec_locale("chart.yearly") ?></div>
421 + <div class="wtotem_chart-first__btn" data-days="31"><?= wtsec_locale("chart.monthly") ?></div>
422 + <div class="wtotem_chart-first__btn wtotem_chart-first__btn_active" data-days="7"><?= wtsec_locale("chart.weekly") ?></div>
423 + <div class="wtotem_chart-first__btn" data-days="1"><?= wtsec_locale("chart.daily") ?></div>
424 + </div>
425 + </div>
426 +
427 + <?php if($arguments["serverStatus"]["cpuChart"] && $arguments["serverStatus"]["cpuChart"] != 'null'):?>
428 + <div id="chart_cpu_wrap">
429 + <div class="wtotem_chart__diagram">
430 + <div id="cpu-chart" class="line-chart" data-days="7">
431 + <div id="tooltipCpu" class="line-chart__tooltip">
432 + <span id="countCpu"></span>
433 + </div>
434 + </div>
435 + </div>
436 + </div>
437 + <?php else:?>
438 + <!-- No data block -->
439 + <section class="wtotem_reports-no-data" style="height:300px" >
440 + <h2 class="visually-hidden"><?= wtsec_locale("no_data") ?></h2>
441 + <p class="wtotem_reports-no-data__text">
442 + <?= wtsec_locale("no_data") ?>
443 + </p>
444 + </section>
445 + <?php endif; ?>
446 + </div>
447 +
448 + <div class="wtotem_antivirus">
449 + <div class="wtotem_antivirus__first section-header-mb">
450 + <h2 class="title">
451 + <?= wtsec_locale("remote_antivirus") ?>
452 + </h2>
453 + <a href="<?=wtsec_getUrl("vc")?>" class="arrow-right">
454 + <?= wtsec_locale("learn_more") ?>
455 + </a>
456 + </div>
457 + <div class="wtotem_antivirus__block wt_card">
458 + <div class="wtotem_antivirus__item">
459 + <div class="wtotem_antivirus__figures wtotem_antivirus__figures_green">
460 + <?= $arguments["vc"]["scanned"] ?>
461 + </div>
462 + <div class="wtotem_antivirus__title">
463 + <?= wtsec_locale("antivirus.scanned") ?>
464 + </div>
465 + </div>
466 +
467 + <div class="wtotem_antivirus__item">
468 + <div class="wtotem_antivirus__figures wtotem_antivirus__figures_yellow">
469 + <?= $arguments["vc"]["changes"] ?>
470 + </div>
471 + <div class="wtotem_antivirus__title">
472 + <?= wtsec_locale("antivirus.changed") ?>
473 + </div>
474 + </div>
475 +
476 + <div class="wtotem_antivirus__item">
477 + <div class="wtotem_antivirus__figures wtotem_antivirus__figures_black">
478 + <?= $arguments["vc"]["deleted"] ?>
479 + </div>
480 + <div class="wtotem_antivirus__title">
481 + <?= wtsec_locale("antivirus.deleted") ?>
482 + </div>
483 + </div>
484 +
485 + <div class="wtotem_antivirus__item">
486 + <div class="wtotem_antivirus__figures wtotem_antivirus__figures_orange">
487 + <?= $arguments["vc"]["signatures"] ?>
488 + </div>
489 + <div class="wtotem_antivirus__title">
490 + <?= wtsec_locale("antivirus.infected") ?>
491 + </div>
492 + </div>
493 +
494 + </div>
495 + </div>
496 +
497 + <div class="wtotem_monitoring">
498 + <div class="wtotem_monitoring__first section-header-mb">
499 + <h2 class="title">
500 + <?= wtsec_locale("monitoring") ?>
501 + </h2>
502 + </div>
503 + <div class="wtotem_table wt_card">
504 + <div class="wtotem_table__row">
505 + <div class="wtotem_table__col">
506 + <div class="wtotem_table__th">
507 + <h3 class="wtotem_table__title wtotem_title-info__title">
508 + <?= wtsec_locale("ssl") ?>
509 + <div class="wtotem_title-info__info wtotem-tooltip">
510 + <div class="wtotem-tooltip__content">
511 + <?= wtsec_locale("tooltips.ssl") ?>
512 + </div>
513 + </div>
514 + </h3>
515 + </div>
516 +
517 + <?php if($arguments["ssl"]["status"]['type'] == 'pending'):?>
518 + <?php include 'components/_dots_loader.php'?>
519 + <?php else: ?>
520 + <div class="wtotem_table__td">
521 + <div class="wtotem_table__expired">
522 + <?= $arguments["ssl"]["status"]["text"] ?>
523 + </div>
524 + </div>
525 +
526 + <?php if (!empty($arguments["ssl"]["days_left"])): ?>
527 + <div class="wtotem_table__info">
528 + <h3 class="wtotem_table__subject">
529 + <?= wtsec_locale("days_left") ?>
530 + </h3>
531 + <div class="wtotem_table__text">
532 + <?= $arguments["ssl"]["days_left"] ?>
533 + </div>
534 + </div>
535 + <?php endif; ?>
536 + <?php if (!empty($arguments["ssl"]["issue_date"])): ?>
537 + <div class="wtotem_table__info">
538 + <h3 class="wtotem_table__subject">
539 + <?= wtsec_locale("issue_date") ?>
540 + </h3>
541 + <div class="wtotem_table__text">
542 + <?= $arguments["ssl"]["issue_date"] ?>
543 + </div>
544 + </div>
545 + <?php endif; ?>
546 + <?php if (!empty($arguments["ssl"]["expiry_date"])): ?>
547 + <div class="wtotem_table__info">
548 + <h3 class="wtotem_table__subject">
549 + <?= wtsec_locale("expiry_date") ?>
550 + </h3>
551 + <div class="wtotem_table__text">
552 + <?= $arguments["ssl"]["expiry_date"] ?>
553 + </div>
554 + </div>
555 + <?php endif; ?>
556 +
557 + <?php endif; ?>
558 + </div>
559 + <div class="wtotem_table__col">
560 + <div class="wtotem_table__th">
561 + <h3 class="wtotem_table__title wtotem_title-info__title">
562 + <?= wtsec_locale("availability") ?>
563 + <div class="wtotem_title-info__info wtotem-tooltip">
564 + <div class="wtotem-tooltip__content">
565 + <?= wtsec_locale("tooltips.availability") ?>
566 + </div>
567 + </div>
568 + </h3>
569 + </div>
570 +
571 + <?php if($arguments["wa"]["status"]['type'] == 'pending'):?>
572 + <?php include 'components/_dots_loader.php'?>
573 + <?php else: ?>
574 + <div class="wtotem_table__td">
575 + <div class="wtotem_table__perfomance">
576 + <?= wtsec_locale("performance") ?>
577 + </div>
578 + <div class="wtotem_table__right wtotem_table__right_progress-wrap">
579 + <span class="wtotem_table__initial-value">0%</span>
580 + <div class="wtotem_table__stick-progress">
581 + <div class="wtotem_table__message">
582 + <span class="wtotem_table__percent">
583 + <?= $arguments["wa"]["availability_percent"] ?>%
584 + </span>
585 + <span class="wtotem_table__triangle"></span>
586 + </div>
587 + </div>
588 + </div>
589 + </div>
590 + <div class="wtotem_table__info">
591 + <h3 class="wtotem_table__subject">
592 + <?= wtsec_locale("status") ?>
593 + <div class="wtotem_title-info__info wtotem-tooltip">
594 + <div class="wtotem-tooltip__content">
595 + <?= wtsec_locale("tooltips.status.".$arguments["wa"]["status"]["type"]."") ?>
596 + </div>
597 + </div>
598 + </h3>
599 + <div class="wtotem_table__status"><?= $arguments["wa"]["status"]["text"] ?></div>
600 + </div>
601 + <div class="wtotem_table__info">
602 + <h3 class="wtotem_table__subject"><?= wtsec_locale("response_time") ?></h3>
603 + <div class="wtotem_table__text"><?= $arguments["wa"]["response_time"] ?></div>
604 + </div>
605 + <div class="wtotem_table__info">
606 + <h3 class="wtotem_table__subject"><?= wtsec_locale("downtime") ?></h3>
607 + <div class="wtotem_table__text"><?= $arguments["wa"]["downtime"] ?></div>
608 + </div>
609 + <div class="wtotem_table__info">
610 + <h3 class="wtotem_table__subject"><?= wtsec_locale("last_test") ?></h3>
611 + <div class="wtotem_table__text"><?= $arguments["wa"]["last_test"] ?></div>
612 + </div>
613 + <?php endif; ?>
614 + </div>
615 +
616 + <div class="wtotem_table__col">
617 + <div class="wtotem_table__th">
618 + <h3 class="wtotem_table__title wtotem_title-info__title"><?= wtsec_locale("reputation") ?>
619 + <div class="wtotem_title-info__info wtotem-tooltip">
620 + <div class="wtotem-tooltip__content">
621 + <?= wtsec_locale("tooltips.reputation") ?>
622 + </div>
623 + </div>
624 + </h3>
625 + </div>
626 +
627 + <?php if($arguments["av"]["status"]['type'] == 'pending'):?>
628 + <?php include 'components/_dots_loader.php'?>
629 + <?php else: ?>
630 +
631 + <div class="wtotem_table__td">
632 + <div class="wtotem_table__wrap">
633 + <?php if($arguments["av"]["status"]["image"]):?>
634 + <img src="<?= wtsec_getImagePath($arguments["av"]["status"]["image"]) ?>" alt="Check mark icon"
635 + class="wtotem_table__img"/>
636 + <?php endif; ?>
637 + </div>
638 +
639 + <div class="wtotem_table__perfomance wtotem_table__perfomance_long ml-2"><?= $arguments["av"]["reputation"] ?></div>
640 + </div>
641 + <div class="wtotem_table__info">
642 + <h3 class="wtotem_table__subject">
643 + <?= wtsec_locale("status") ?>
644 + <div class="wtotem_title-info__info wtotem-tooltip">
645 + <div class="wtotem-tooltip__content">
646 + <?= wtsec_locale("tooltips.status.".$arguments["av"]["status"]["type"]."") ?>
647 + </div>
648 + </div>
649 + </h3>
650 + <div class="wtotem_table__status"><?= $arguments["av"]["status"]["text"] ?></div>
651 + </div>
652 + <div class="wtotem_table__info">
653 + <h3 class="wtotem_table__subject">
654 + <?= wtsec_locale("blacklists_entries") ?>
655 + </h3>
656 + <div class="wtotem_table__text">
657 + <?= $arguments["av"]["blacklists_entries"] ?>
658 + </div>
659 + </div>
660 + <div class="wtotem_table__info">
661 + <h3 class="wtotem_table__subject">
662 + <?= wtsec_locale("last_test") ?>
663 + </h3>
664 + <div class="wtotem_table__text">
665 + <?= $arguments["av"]["time_of_the_last_test"] ?>
666 + </div>
667 + </div>
668 + <div class="wtotem_table__info"></div>
669 + </div>
670 + <?php endif; ?>
671 + </div>
672 + <div class="wtotem_table__footer">
673 + <a target="_blank" href="https://wtotem.com/faq/#hs-chat-open" class="wtotem_table__link">
674 + <div class="wtotem_table__perfomance">
675 + <?= wtsec_locale("need_more_support") ?>
676 + <span><?= wtsec_locale("lets_talk") ?></span>
677 + </div>
678 + </a>
679 + </div>
680 + </div>
681 + </div>
682 +
683 + <div class="wtotem_scanning">
684 + <div class="wtotem_scanning__first section-header-mb">
685 + <h2 class="title">
686 + <?= wtsec_locale("scanning") ?>
687 + </h2>
688 + </div>
689 + <div class="wtotem_table wt_card">
690 + <div class="wtotem_table__row">
691 + <div class="wtotem_table__col">
692 + <div class="wtotem_table__th">
693 + <h3 class="wtotem_table__title wtotem_title-info__title">
694 + <?= wtsec_locale("port_scanner") ?>
695 + <div class="wtotem_title-info__info wtotem-tooltip">
696 + <div class="wtotem-tooltip__content">
697 + <?= wtsec_locale("tooltips.port_scanner") ?>
698 + </div>
699 + </div>
700 + </h3>
701 + </div>
702 + <?php if($arguments["ps"]["status"]['type'] == 'pending'):?>
703 + <?php include 'components/_dots_loader.php'?>
704 + <?php else: ?>
705 + <div class="wtotem_table__info">
706 + <h3 class="wtotem_table__subject">
707 + <?= wtsec_locale("status") ?>
708 + <div class="wtotem_title-info__info wtotem-tooltip">
709 + <div class="wtotem-tooltip__content">
710 + <?= wtsec_locale("tooltips.status.".$arguments["ps"]["status"]["type"]."") ?>
711 + </div>
712 + </div>
713 + </h3>
714 + <div class="wtotem_table__status"><?= $arguments["ps"]["status"]["text"] ?></div>
715 + </div>
716 + <div class="wtotem_table__info">
717 + <h3 class="wtotem_table__subject"><?= wtsec_locale("ip_address") ?></h3>
718 + <div class="wtotem_table__text"><?= $arguments["ps"]["ip"] ?></div>
719 + </div>
720 + <?php if (!empty($arguments["ps"]["tcp"])): ?>
721 + <div class="wtotem_table__info">
722 + <h3 class="wtotem_table__subject">
723 + <?= wtsec_locale("tcp") ?>
724 + </h3>
725 + <div class="wtotem_table__text">
726 + <?= $arguments["ps"]["tcp"] ?>
727 + </div>
728 + </div>
729 + <?php endif; ?>
730 + <div class="wtotem_table__info">
731 + <h3 class="wtotem_table__subject">
732 + <?= wtsec_locale("last_test") ?>
733 + </h3>
734 + <div class="wtotem_table__text">
735 + <?= $arguments["ps"]["last_test"] ?>
736 + </div>
737 + </div>
738 + <?php endif; ?>
739 + </div>
740 +
741 + <div class="wtotem_table__col">
742 + <div class="wtotem_table__th">
743 + <h3 class="wtotem_table__title wtotem_title-info__title">
744 + <?= wtsec_locale("deface_scanner") ?>
745 + <div class="wtotem_title-info__info wtotem-tooltip">
746 + <div class="wtotem-tooltip__content">
747 + <?= wtsec_locale("tooltips.deface_scanner") ?>
748 + </div>
749 + </div>
750 + </h3>
751 + </div>
752 +
753 + <?php if($arguments["dc"]["status"]['type'] == 'pending'):?>
754 + <?php include 'components/_dots_loader.php'?>
755 + <?php else: ?>
756 +
757 + <div class="wtotem_table__item">
758 + <div class="wtotem_table__wrap_big">
759 + <?php if($arguments["dc"]["status"]["image"]):?>
760 + <img src="<?= wtsec_getImagePath($arguments["dc"]["status"]["image"]) ?>" alt="Check mark icon"
761 + class="wtotem_table__img"/>
762 + <?php endif; ?>
763 + </div>
764 + </div>
765 +
766 + <div class="wtotem_table__info">
767 + <h3 class="wtotem_table__subject">
768 + <?= wtsec_locale("status") ?>
769 + <span class="wtotem_title-info__info wtotem-tooltip">
770 + <div class="wtotem-tooltip__content">
771 + <?= wtsec_locale("tooltips.status.".$arguments["dc"]["status"]["type"]."") ?>
772 + </div>
773 + </span>
774 + </h3>
775 + <div class="wtotem_table__status">
776 + <?= $arguments["dc"]["status"]["text"] ?>
777 + </div>
778 + </div>
779 + <?php if($arguments["dc"]["words"]):?>
780 + <div class="wtotem_table__info">
781 + <h3 class="wtotem_table__subject">
782 + <?= wtsec_locale("words") ?>
783 + </h3>
784 + <div class="wtotem_table__text">
785 + <?= $arguments["dc"]["words"] ?>
786 + </div>
787 + </div>
788 + <?php endif; ?>
789 + <div class="wtotem_table__info">
790 + <h3 class="wtotem_table__subject">
791 + <?= wtsec_locale("last_test") ?>
792 + </h3>
793 + <div class="wtotem_table__text">
794 + <?= $arguments["dc"]["time_of_the_last_test"] ?>
795 + </div>
796 + </div>
797 +
798 + <?php endif; ?>
799 + </div>
800 +
801 + <div class="wtotem_table__col">
802 + <section class="wtotem-ss-disc">
803 + <div class="wtotem_chart wt_card wtotem-ss-disc">
804 + <div class="wtotem_chart-first wtotem-ss-disc__header">
805 + <h3 class="wtotem_table__subject" ><?= wtsec_locale("disk_usage") ?>
806 + <div class="wtotem_title-info__info wtotem-tooltip">
807 + <div class="wtotem-tooltip__content">
808 + <?= wtsec_locale("tooltips.disk_usage") ?>
809 + </div>
810 + </div>
811 + </h3>
812 + </div>
813 + <div class="wtotem_state__line wtotem-ss-disc__line"></div>
814 +
815 + <div class="wtotem-ss-disc__content">
816 + <?php if(!$arguments["serverStatus"]["discUsage"]['total']):?>
817 + <section class="wtotem_reports-no-data" >
818 + <h2 class="visually-hidden"><?= wtsec_locale("no_data") ?></h2>
819 + <p class="wtotem_reports-no-data__text">
820 + <?= wtsec_locale("no_data") ?>
821 + </p>
822 + </section>
823 + <?php else: ?>
824 + <div class="wtotem-ss-disc__wrapper">
825 + <div id="disk-chart"></div>
826 + <div class="wtotem-ss-disc__totals">
827 + <p class="wtotem-ss-disc__totals-caption"><?= wtsec_locale("total") ?></p>
828 + <p class="wtotem-ss-disc__totals-value"><?= $arguments["serverStatus"]["discUsage"]['total']?></p>
829 + </div>
830 + </div>
831 + <ul class="wtotem-ss-disc__legend">
832 + <li class="wtotem-ss-disc__legend-item wtotem-ss-disc__legend-item--use">
833 + <p class="wtotem-ss-disc__legend-value"><?= $arguments["serverStatus"]["discUsage"]['use']?></p>
834 + <p class="wtotem-ss-disc__legend-caption"><?= wtsec_locale("use") ?></p>
835 + </li>
836 + <li class="wtotem-ss-disc__legend-item wtotem-ss-disc__legend-item--free">
837 + <p class="wtotem-ss-disc__legend-value"><?= $arguments["serverStatus"]["discUsage"]['free']?></p>
838 + <p class="wtotem-ss-disc__legend-caption"><?= wtsec_locale("free") ?></p>
839 + </li>
840 + </ul>
841 + <?php endif; ?>
842 + </div>
843 + </div>
844 + </section>
845 +
846 + </div>
847 +
848 + </div>
849 +
850 + <div class="wtotem_table__footer">
851 + <a target="_blank" href="https://wtotem.com/faq/#hs-chat-open" class="wtotem_table__link">
852 + <div class="wtotem_table__perfomance">
853 + <?= wtsec_locale("need_more_support") ?>
854 + <span><?= wtsec_locale("lets_talk") ?></span>
855 + </div>
856 + </a>
857 + </div>
858 + </div>
859 + </div>
860 + </div>
861 +</div>
862 +
863 +<script>
864 + var availability_percent = "<?=$arguments["wa"]["availability_percent"]?>";
865 + var waf_chart = <?php echo $arguments["waf"]["chart"] ?: 'false' ?>;
866 + var serverStatusRam = <?php echo $arguments["serverStatus"]["ramChart"] ?: 'false' ?>;
867 + var serverStatusCpu = <?php echo $arguments["serverStatus"]["cpuChart"] ?: 'false' ?>;
868 + var serverStatusDiscUsage = <?= json_encode($arguments["serverStatus"]["discUsage"])?>;
869 +
870 + var wtotem_token = "<?=$arguments["settings"]["token"]?>";
871 + var wtotem_site_id = "<?=$arguments["settings"]["site_id"]?>";
872 + var wtotem_am_process_status = "<?=$arguments["am"]["process_status"]?>";
873 + var wtotem_locale_installed = "<?= wtsec_locale("installed") ?>";
874 + var wtotem_locale_installing = "<?= wtsec_locale("installation_in_progress") ?>";
875 + var wtotem_locale_failed = "<?= wtsec_locale("failed") ?>";
876 + var wtotem_dashbord = true;
877 +
878 + var wtotem_socket_url = "wss://api.wtotem.com/graphql";
879 +
880 +
881 + document.addEventListener('DOMContentLoaded', function () {
882 + if (wtotem_am_process_status === "installing") {
883 + let firewall_selector = document.getElementsByClassName("wtotem_unit__block_firewall");
884 + let firewall_installed_selector = document.getElementById("wtsec_firewall_block_installed");
885 + let firewall_installing_selector = document.getElementById("wtsec_firewall_block_installing");
886 + let firewall_failed_selector = document.getElementById("wtsec_firewall_block_failed");
887 + let antivirus_selector = document.getElementsByClassName("wtotem_unit__block_antivirus");
888 + let antivirus_installed_selector = document.getElementById("wtsec_antivirus_block_installed");
889 + let antivirus_installing_selector = document.getElementById("wtsec_antivirus_block_installing");
890 + let antivirus_failed_selector = document.getElementById("wtsec_antivirus_block_failed");
891 +
892 + function show_hide(selector,show = true){
893 + if(show){
894 + selector.style.display = "flex";
895 + }else{
896 + selector.style.display = "none";
897 + }
898 + }
899 +
900 + function show_hide_in_loop(selectors,show = true){
901 + for(let selector of selectors){
902 + show_hide(selector,show);
903 + }
904 + }
905 +
906 + show_hide(firewall_installing_selector,true);
907 + show_hide(antivirus_installing_selector,true);
908 + let variables = {
909 + input: {
910 + token: wtotem_token,
911 + service: 'am',
912 + siteId: wtotem_site_id,
913 + },
914 + }
915 + let query = `subscription EventsSubscription($input: EventsInput!) {
916 + events(input: $input) {
917 + siteId hostname status service
918 + error {
919 + message
920 + __typename
921 + }
922 + __typename
923 + }
924 + }`;
925 + const sub = graphQLSubscriber(wtotem_socket_url, {},
926 + (error, subscribe) => {
927 + if (!(error || subscribe)) {
928 + // Normal closure.
929 + return
930 + }
931 + if (error) {
932 + wtsec_showNotification('connection_fail','error');
933 + console.error(error)
934 + throw error
935 + }
936 + const unsubscribe = subscribe(
937 + query,
938 + variables,
939 + null,
940 + (error, data) => {
941 + console.log(data);
942 + if (!(error || subscribe)) {
943 + // Normal closure
944 + return
945 + }
946 + if (error) {
947 + wtsec_showNotification('connection_fail','error');
948 + console.error(error)
949 + throw error
950 + }
951 +
952 + if (data.events.status === "waf_installed") {
953 + show_hide_in_loop(firewall_selector, false);
954 + show_hide(firewall_installed_selector,true);
955 + } else if (data.events.status === "av_installed") {
956 + show_hide_in_loop(antivirus_selector, false);
957 + show_hide(antivirus_installed_selector,true);
958 + } else if (data.events.status === "am_installed") {
959 +
960 + } else {
961 + let split = data.events.status.split("_");
962 + if(split.length === 0){
963 + return;
964 + }
965 + let service = split[0];
966 + if (service === "waf") {
967 + show_hide_in_loop(firewall_selector, false);
968 + show_hide(firewall_failed_selector,true);
969 + }
970 + if (service === "av") {
971 + show_hide_in_loop(antivirus_selector, false);
972 + show_hide(antivirus_failed_selector,true);
973 + }
974 + if (service === "am") {
975 +
976 + }
977 + }
978 + })
979 + })
980 + }
981 + });
982 +</script>
983 +
984 + <script>
985 + if(typeof waf_chart == "object"){
986 + drawWafChart(waf_chart);
987 + }
988 + if(typeof serverStatusRam == "object"){
989 + drawRamChart(serverStatusRam);
990 + }
991 + if(typeof serverStatusCpu == "object") {
992 + drawCpuChart(serverStatusCpu);
993 + }
994 + if(typeof serverStatusDiscUsage == "object") {
995 + drawDiskChart(serverStatusDiscUsage);
996 + }
997 + </script>
998 +<?php else: ?>
999 +<?php //show error here ?>
755 1000 <?php endif; ?>