PluginProbe
WebTotem Security / 2.1.8
WebTotem Security v2.1.8
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
wt-security / includes / dashboard.php

dashboard.php in WebTotem Security 2.1.8, at includes/dashboard.php

768 lines 39.8 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php defined('ABSPATH') or die("Protected By WT!"); ?>
2 <?php if (!empty($arguments)): ?>
3
4 <div class="wtotem_content">
5 <div class="wtotem_container">
6 <div class="wtotem_first">
7 <div class="wtotem_overall wtotem_first_left wt_card">
8 <div class="wtotem_overall__title wtotem_title-info">
9 <h3 class="wtotem_title-info__title">
10 <?= wtsec_locale("score.overall_security_grade") ?>
11 <span class="wtotem_title-info__info" data-tlite="w"
12 title="<?= $arguments["score"]["description"] ?>"> </span>
13 </h3>
14 </div>
15 <div class="wtotem_overall__body">
16 <div class="wtotem_overall__inner">
17 <div class="wtotem_overall__rectangle wtsec_score_bg_<?= $arguments["score"]["color"] ?>"><?= $arguments["score"]["grade"] ?></div>
18 <div class="wtotem_overall__figures wtsec_score_<?= $arguments["score"]["color"] ?>"><?= $arguments["score"]["total_score"] ?></div>
19 </div>
20 <p class="wtotem_overall__text"><?= $arguments["score"]["information"] ?></p>
21 </div>
22 </div>
23
24 <div class="wtotem_info wtotem_first_right wt_card">
25 <div class="wtotem_info__item">
26 <div class="wtotem_info__block">
27 <div class="wtotem_info__subtitle"><?= wtsec_locale("score.tested_on") ?></div>
28 <div class="wtotem_info__info"><?= $arguments["score"]["tested_on"] ?></div>
29 </div>
30 <div class="wtotem_info__block">
31 <div class="wtotem_info__subtitle"><?= wtsec_locale("score.server_ip") ?></div>
32 <div class="wtotem_info__info"><?= $arguments["score"]["server_ip"] ?></div>
33 </div>
34 </div>
35 <div class="wtotem_info__item">
36 <div class="wtotem_info__block">
37 <div class="wtotem_info__subtitle"><?= wtsec_locale("score.location") ?></div>
38 <div class="wtotem_info__info"><?= $arguments["score"]["location"] ?></div>
39 </div>
40 <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>
41 </div>
42 </div>
43 </div>
44
45 <?php if ($arguments["am"]["process_status"] !== "installed" || !$arguments["am"]["installed"]): ?>
46 <div class="wtotem_unit">
47 <div class="wtotem_unit__first section-header-mb">
48 <h2 class="title">
49 <?= wtsec_locale("agent_manager_installation") ?>
50 </h2>
51 </div>
52 <div class="wtotem_unit__wrapper wt_card">
53 <?php if ($arguments["am"]["process_status"] === "installing"): ?>
54 <div class="wtotem_unit__block wtotem_unit__block_antivirus" id="wtsec_antivirus_block_installed" style="display: none">
55 <div class="wtotem_unit__contain">
56 <div class="wtotem_unit__circle wtotem_unit__circle_success">
57 <img src="<?= wtsec_getImagePath("success.svg") ?>" alt="Success" class="wtotem_unit__img">
58 </div>
59 <h2 class="title">
60 <?= wtsec_locale("remote_antivirus") ?>
61 </h2>
62 </div>
63 <div class="wtotem_unit__expectation wtotem_unit__expectation_success">
64 <?= wtsec_locale("installed") ?>
65 </div>
66 </div>
67 <div class="wtotem_unit__block wtotem_unit__block_antivirus" id="wtsec_antivirus_block_installing" style="display: none">
68 <div class="wtotem_unit__contain">
69 <div class="wtotem_unit__expectation wtotem_unit__circle_loading">
70 <img src="<?= wtsec_getImagePath("spinner.svg") ?>" alt="Spinner"
71 class="wtotem_unit__img wtotem_unit__img_spinner"/>
72 </div>
73 <h2 class="title ml-2">
74 <?= wtsec_locale("remote_antivirus") ?>
75 </h2>
76 </div>
77 <div class="wtotem_unit__expectation wtotem_unit__expectation_loading">
78 <?= wtsec_locale("installation_in_progress") ?>...
79 </div>
80 </div>
81 <div class="wtotem_unit__block wtotem_unit__block_antivirus" id="wtsec_antivirus_block_failed" style="display: none">
82 <div class="wtotem_unit__contain">
83 <div class="wtotem_unit__circle wtotem_unit__circle_error"></div>
84 <h2 class="title">
85 <?= wtsec_locale("remote_antivirus") ?>
86 </h2>
87 </div>
88 <div class="wtotem_unit__expectation wtotem_unit__expectation_error">
89 <?= wtsec_locale("installation_failed") ?>
90 </div>
91 </div>
92
93 <div class="wtotem_unit__block wtotem_unit__block_firewall" id="wtsec_firewall_block_installed" style="display: none">
94 <div class="wtotem_unit__contain">
95 <div class="wtotem_unit__circle wtotem_unit__circle_success">
96 <img src="<?= wtsec_getImagePath("success.svg") ?>" alt="Success"
97 class="wtotem_unit__img">
98 </div>
99 <h2 class="title">
100 <?= wtsec_locale("firewall") ?>
101 </h2>
102 </div>
103 <div class="wtotem_unit__expectation wtotem_unit__expectation_success">
104 <?= wtsec_locale("installed") ?>
105 </div>
106 </div>
107
108 <div class="wtotem_unit__block wtotem_unit__block_firewall" id="wtsec_firewall_block_installing" style="display: none">
109 <div class="wtotem_unit__contain">
110 <div class="wtotem_unit__expectation wtotem_unit__circle_loading">
111 <img src="<?= wtsec_getImagePath("spinner.svg") ?>" alt="Spinner"
112 class="wtotem_unit__img wtotem_unit__img_spinner"/>
113 </div>
114 <h2 class="title ml-2">
115 <?= wtsec_locale("firewall") ?>
116 </h2>
117 </div>
118 <div class="wtotem_unit__expectation wtotem_unit__expectation_loading">
119 <?= wtsec_locale("installation_in_progress") ?>...
120 </div>
121 </div>
122
123 <div class="wtotem_unit__block wtotem_unit__block_firewall" id="wtsec_firewall_block_failed" style="display: none">
124 <div class="wtotem_unit__contain">
125 <div class="wtotem_unit__circle wtotem_unit__circle_error"></div>
126 <h2 class="title">
127 <?= wtsec_locale("firewall") ?>
128 </h2>
129 </div>
130 <div class="wtotem_unit__expectation wtotem_unit__expectation_error">
131 <?= wtsec_locale("installation_failed") ?>
132 </div>
133 </div>
134 <?php elseif(!$arguments["am"]["installed"]): ?>
135 <div class="wtotem_unit__block">
136 <div class="wtotem_unit__contain">
137 <div class="wtotem_unit__circle wtotem_unit__circle_error"></div>
138 <h2 class="title">
139 <?= wtsec_locale("agent_manager_failed") ?>
140 </h2>
141 </div>
142 <div class="wtotem_unit__expectation wtotem_unit__expectation_error">
143 <?php if (isset($arguments['am']['actions']['first'])) { ?>
144 <?= $arguments['am']['actions']['first'] ?>
145 <?php } ?>
146 </div>
147 </div>
148 <?php endif; ?>
149
150 </div>
151 </div>
152 <?php endif; ?>
153
154
155
156 <div class="wtotem_firewall">
157 <div class="wtotem_firewall__first section-header-mb">
158 <h2 class="title"><?= wtsec_locale("firewall_activity") ?></h2>
159 <a href="<?=wtsec_getUrl("waf")?>" class="wtotem_firewall__stats wtotem_print">
160 <span class="wtotem_firewall__icon"></span>
161 <span class="wtotem_firewall__text wtotem_print__label">Full stats</span>
162 </a>
163 </div>
164 <div class="wtotem_firewall__block">
165 <div class="wtotem_numbers wt_card">
166 <div class="wtotem_numbers__item">
167 <div class="wtotem_numbers__title"><?= wtsec_locale("attacks") ?></div>
168 <div class="wtotem_numbers__figures"><?= $arguments["waf"]["attacks"] ?></div>
169 </div>
170
171 <div class="wtotem_numbers__item">
172 <div class="wtotem_numbers__title"><?= wtsec_locale("attacks_blocked") ?></div>
173 <div class="wtotem_numbers__figures"><?= $arguments["waf"]["blocking"] ?></div>
174 </div>
175
176 <div class="wtotem_numbers__item">
177 <div class="wtotem_numbers__title"><?= wtsec_locale("not_blocked") ?></div>
178 <div class="wtotem_numbers__figures"><?= $arguments["waf"]["non-blocking"] ?></div>
179 </div>
180 </div>
181
182
183 <div class="wtotem_from wt_card">
184 <div class="wtotem_from__svg-wrap">
185 <svg class="wtotem_from__progress">
186 <circle class="wtotem_from__circle" cx="35" cy="35" r="28" stroke-width="20"
187 stroke="rgb(135,255,222)"/>
188 </svg>
189 <span class="wtotem_from__percent" data-value="<?=$arguments["waf"]["countryAttacks"]['percent']?>">100%</span>
190 </div>
191
192 <div class="wtotem_from__info">
193 <div class="wtotem_from__title"><?= wtsec_locale("chart.country") ?></div>
194 <div class="wtotem_from__country" >
195 <?= ($arguments["waf"]["countryAttacks"]["country"]) ?
196 wtsec_locale("chart.attack_from_region",['region' => $arguments["waf"]["countryAttacks"]["country"]]) :
197 wtsec_locale('statuses.ok') ?>
198 </div>
199 </div>
200 <div class="wtotem_from__arrow-right"></div>
201 </div>
202 </div>
203 </div>
204
205 <div class="wtotem_chart wt_card">
206 <div class="wtotem_chart-first">
207 <div class="wtotem_chart-first__left">
208 <div class="wtotem_chart-first__all"><?= wtsec_locale("chart.all") ?></div>
209 <div class="wtotem_chart-first__hack wtotem_chart-first__hack_attack">
210 <span></span>
211 <p><?= wtsec_locale("chart.attacks") ?></p>
212 </div>
213 <div class="wtotem_chart-first__hack wtotem_chart-first__hack_blocked">
214 <span></span>
215 <p><?= wtsec_locale("chart.blocked") ?></p>
216 </div>
217 </div>
218
219 <div class="wtotem_chart-first__right" id="chart_btn">
220 <div class="wtotem_chart-first__btn" data-days="365"><?= wtsec_locale("chart.yearly") ?></div>
221 <div class="wtotem_chart-first__btn" data-days="31"><?= wtsec_locale("chart.monthly") ?></div>
222 <div class="wtotem_chart-first__btn wtotem_chart-first__btn_active" data-days="7"><?= wtsec_locale("chart.weekly") ?></div>
223 <div class="wtotem_chart-first__btn" data-days="1"><?= wtsec_locale("chart.daily") ?></div>
224 </div>
225 </div>
226
227 <div id="chart_wrap">
228 <div class="wtotem_chart__diagram" data-days="7" id="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
239 <div class="wtotem_chart__line"></div>
240 </div>
241
242
243 <div class="wtotem_data">
244 <div class="wtotem_data__thead">
245 <div class="wtotem_data__tr">
246 <div
247 class="wtotem_data__th wtotem_data_width_1"
248 >
249 <?= wtsec_locale("chart.type_ip") ?>
250 </div>
251 <div
252 class="wtotem_data__th wtotem_data_width_2"
253 >
254 <?= wtsec_locale("chart.country") ?>
255 </div>
256 <div
257 class="wtotem_data__th wtotem_data_width_3"
258 >
259 <?= wtsec_locale("chart.time") ?>
260 </div>
261 <div
262 class="wtotem_data__th wtotem_data_width_4"
263 >
264 <?= wtsec_locale("chart.attack_location") ?>
265 </div>
266 <div
267 class="wtotem_data__th wtotem_data_width_6"
268 >
269 <?= wtsec_locale("chart.status") ?>
270 </div>
271 </div>
272 </div>
273 <div class="wtotem_data__tbody">
274 <?php foreach ($arguments['waf']['edges'] as $edge){?>
275 <div class="wtotem_data__tr">
276 <div class="wtotem_data__td <?= $edge['node']['blocked'] ? 'wtotem_data__td_banned' : 'wtotem_data__td_blocked' ?> wtotem_data_width_1 break-word">
277 <div class="wtotem_data__ip">
278 <?= $edge['node']['ip'] ?>
279 </div>
280 </div>
281 <div class="wtotem_data__td wtotem_data_width_2 break-word">
282
283 <div class="wtotem_data__country wt-flex wt-flex-middle">
284 <img src="https://assets.wtotem.net/images/flags/<?= mb_strtolower($edge['node']['country']) ?>.png" class="wt-margin-right-10 wt_flag">
285
286 <?= $edge['node']['location']['country']['nameEn'] ?>
287 </div>
288 </div>
289 <div class="wtotem_data__td wtotem_data_width_3">
290 <?= date("Y-m-d H:i:s",$edge['node']['time']/1000) ?>
291 </div>
292 <div
293 class="wtotem_data__td wtotem_data_width_4 break-word">
294 <?= $edge['node']['request'] ?>
295 </div>
296 <div
297 class="wtotem_data__td wtotem_data_width_6">
298 <?= $edge['node']['blocked'] ? wtsec_locale('chart.blocked_ip') : wtsec_locale('chart.not_blocked_ip') ?>
299 </div>
300 </div>
301 <?php } ?>
302 </div>
303 </div>
304 <div class="wtotem_chart__line"></div>
305 <div class="wtotem_chart__last">
306 <p class="wtotem_chart__text">
307 <?= wtsec_locale("want_more") ?>
308 </p>
309
310 <a href="<?=wtsec_getUrl("waf")?>" class="wtotem_chart__btn">
311 <?= wtsec_locale("read_more") ?>
312 </a>
313 </div>
314 </div>
315
316 <div class="wtotem_antivirus">
317 <div class="wtotem_antivirus__first section-header-mb">
318 <h2 class="title">
319 <?= wtsec_locale("remote_antivirus") ?>
320 </h2>
321 <a href="<?=wtsec_getUrl("vc")?>" class="arrow-right">
322 <?= wtsec_locale("learn_more") ?>
323 </a>
324 </div>
325 <div class="wtotem_antivirus__block wt_card">
326 <div class="wtotem_antivirus__item">
327 <div class="wtotem_antivirus__figures wtotem_antivirus__figures_green">
328 <?= $arguments["vc"]["scanned"] ?>
329 </div>
330 <div class="wtotem_antivirus__title">
331 <?= wtsec_locale("antivirus.scanned") ?>
332 </div>
333 </div>
334
335 <div class="wtotem_antivirus__item">
336 <div class="wtotem_antivirus__figures wtotem_antivirus__figures_yellow">
337 <?= $arguments["vc"]["changes"] ?>
338 </div>
339 <div class="wtotem_antivirus__title">
340 <?= wtsec_locale("antivirus.changed") ?>
341 </div>
342 </div>
343
344 <div class="wtotem_antivirus__item">
345 <div class="wtotem_antivirus__figures wtotem_antivirus__figures_orange">
346 <?= $arguments["vc"]["signatures"] ?>
347 </div>
348 <div class="wtotem_antivirus__title"><?= wtsec_locale("antivirus.infected") ?></div>
349 </div>
350
351 <div class="wtotem_antivirus__item">
352 <div class="wtotem_antivirus__figures wtotem_antivirus__figures_black"><?= $arguments["vc"]["deleted"] ?></div>
353 <div class="wtotem_antivirus__title"><?= wtsec_locale("antivirus.deleted") ?></div>
354 </div>
355 </div>
356 </div>
357
358 <div class="wtotem_monitoring">
359 <div class="wtotem_monitoring__first section-header-mb">
360 <h2 class="title">
361 <?= wtsec_locale("monitoring") ?>
362 </h2>
363 </div>
364 <div class="wtotem_table wt_card">
365 <div class="wtotem_table__row">
366 <div class="wtotem_table__col">
367 <div class="wtotem_table__th">
368 <h3 class="wtotem_table__title wtotem_title-info__title">
369 <?= wtsec_locale("ssl") ?>
370 <span class="wtotem_title-info__info" data-tlite="w"
371 title="<?= $arguments["ssl"]["description"] ?>"></span>
372 </h3>
373 </div>
374 <div class="wtotem_table__td">
375 <div class="wtotem_table__expired">
376 <?= $arguments["ssl"]["status"]["text"] ?>
377 </div>
378 <div class="wtotem_table__solve">
379 <?= $arguments["ssl"]["solve_it"] ?>
380 </div>
381 </div>
382 <?php if (!empty($arguments["ssl"]["days_left"])): ?>
383 <div class="wtotem_table__info">
384 <h3 class="wtotem_table__subject">
385 <?= wtsec_locale("days_left") ?>
386 </h3>
387 <div class="wtotem_table__text">
388 <?= $arguments["ssl"]["days_left"] ?>
389 </div>
390 </div>
391 <?php endif; ?>
392 <?php if (!empty($arguments["ssl"]["issue_date"])): ?>
393 <div class="wtotem_table__info">
394 <h3 class="wtotem_table__subject">
395 <?= wtsec_locale("issue_date") ?>
396 </h3>
397 <div class="wtotem_table__text">
398 <?= $arguments["ssl"]["issue_date"] ?>
399 </div>
400 </div>
401 <?php endif; ?>
402 <?php if (!empty($arguments["ssl"]["expiry_date"])): ?>
403 <div class="wtotem_table__info">
404 <h3 class="wtotem_table__subject">
405 <?= wtsec_locale("expiry_date") ?>
406 </h3>
407 <div class="wtotem_table__text">
408 <?= $arguments["ssl"]["expiry_date"] ?>
409 </div>
410 </div>
411 <?php endif; ?>
412
413 </div>
414 <div class="wtotem_table__col">
415 <div class="wtotem_table__th">
416 <h3 class="wtotem_table__title wtotem_title-info__title">
417 <?= wtsec_locale("availability") ?>
418 <span class="wtotem_title-info__info" data-tlite="w"
419 title="<?= $arguments["wa"]["description"] ?>"></span>
420 </h3>
421 </div>
422 <div class="wtotem_table__td">
423 <div class="wtotem_table__perfomance">
424 <?= wtsec_locale("performance") ?>
425 </div>
426 <div class="wtotem_table__right wtotem_table__right_progress-wrap">
427 <span class="wtotem_table__initial-value">0%</span>
428 <div class="wtotem_table__stick-progress">
429 <div class="wtotem_table__message"><span
430 class="wtotem_table__percent"><?= $arguments["wa"]["availability_percent"] ?>%</span><span
431 class="wtotem_table__triangle"></span>
432 </div>
433 </div>
434 </div>
435 </div>
436 <div class="wtotem_table__info">
437 <h3 class="wtotem_table__subject"><?= wtsec_locale("status") ?></h3>
438 <div class="wtotem_table__status"><?= $arguments["wa"]["status"]["text"] ?></div>
439 </div>
440 <div class="wtotem_table__info">
441 <h3 class="wtotem_table__subject"><?= wtsec_locale("response_time") ?></h3>
442 <div class="wtotem_table__text"><?= $arguments["wa"]["response_time"] ?></div>
443 </div>
444 <div class="wtotem_table__info">
445 <h3 class="wtotem_table__subject"><?= wtsec_locale("downtime") ?></h3>
446 <div class="wtotem_table__text"><?= $arguments["wa"]["downtime"] ?></div>
447 </div>
448 <div class="wtotem_table__info">
449 <h3 class="wtotem_table__subject"><?= wtsec_locale("last_test") ?></h3>
450 <div class="wtotem_table__text"><?= $arguments["wa"]["last_test"] ?></div>
451 </div>
452 </div>
453 <div class="wtotem_table__col">
454 <div class="wtotem_table__th">
455 <h3 class="wtotem_table__title wtotem_title-info__title"><?= wtsec_locale("reputation") ?>
456 <span class="wtotem_title-info__info" data-tlite="w"
457 title="<?= $arguments["av"]["description"] ?>"></span></h3>
458 </div>
459 <div class="wtotem_table__td">
460 <div class="wtotem_table__wrap">
461 <img src="<?= wtsec_getImagePath($arguments["dc"]["status"]["image"]) ?>" alt="Check mark icon"
462 class="wtotem_table__img"/>
463 </div>
464
465 <div class="wtotem_table__perfomance wtotem_table__perfomance_long ml-2"><?= $arguments["av"]["reputation"] ?></div>
466 </div>
467 <div class="wtotem_table__info">
468 <h3 class="wtotem_table__subject"><?= wtsec_locale("status") ?></h3>
469 <div class="wtotem_table__status"><?= $arguments["av"]["status"]["text"] ?></div>
470 </div>
471 <div class="wtotem_table__info">
472 <h3 class="wtotem_table__subject">
473 <?= wtsec_locale("blacklists_entries") ?>
474 </h3>
475 <div class="wtotem_table__text">
476 <?= $arguments["av"]["blacklists_entries"] ?>
477 </div>
478 </div>
479 <div class="wtotem_table__info">
480 <h3 class="wtotem_table__subject">
481 <?= wtsec_locale("last_test") ?>
482 </h3>
483 <div class="wtotem_table__text">
484 <?= $arguments["av"]["time_of_the_last_test"] ?>
485 </div>
486 </div>
487 <div class="wtotem_table__info"></div>
488 </div>
489 </div>
490 <div class="wtotem_table__footer">
491 <a target="_blank" href="https://wtotem.com/faq/#hs-chat-open" class="wtotem_table__link">
492 <div class="wtotem_table__perfomance">
493 <?= wtsec_locale("need_more_support") ?>
494 <span><?= wtsec_locale("lets_talk") ?></span>
495 </div>
496 </a>
497 </div>
498 </div>
499 </div>
500
501
502
503 <div class="wtotem_scanning">
504 <div class="wtotem_scanning__first section-header-mb">
505 <h2 class="title">
506 <?= wtsec_locale("scanning") ?>
507 </h2>
508 </div>
509 <div class="wtotem_table wt_card">
510 <div class="wtotem_table__row">
511 <div class="wtotem_table__col">
512 <div class="wtotem_table__th">
513 <h3 class="wtotem_table__title wtotem_title-info__title">
514 <?= wtsec_locale("port_scanner") ?>
515 <span class="wtotem_title-info__info" data-tlite="w"
516 title="<?= $arguments["dc"]["description"] ?>"></span>
517 </h3>
518 </div>
519 <div class="wtotem_table__info">
520 <h3 class="wtotem_table__subject">
521 <?= wtsec_locale("status") ?>
522 </h3>
523 <div class="wtotem_table__status"><?= $arguments["ps"]["status"]["text"] ?></div>
524 </div>
525 <div class="wtotem_table__info">
526 <h3 class="wtotem_table__subject"><?= wtsec_locale("ip_address") ?></h3>
527 <div class="wtotem_table__text"><?= $arguments["ps"]["ip"] ?></div>
528 </div>
529 <?php if (!empty($arguments["ps"]["tcp"])): ?>
530 <div class="wtotem_table__info">
531 <h3 class="wtotem_table__subject">
532 <?= wtsec_locale("tcp") ?>
533 </h3>
534 <div class="wtotem_table__text">
535 <?= $arguments["ps"]["tcp"] ?>
536 </div>
537 </div>
538 <?php endif; ?>
539 <div class="wtotem_table__info">
540 <h3 class="wtotem_table__subject">
541 <?= wtsec_locale("last_test") ?>
542 </h3>
543 <div class="wtotem_table__text">
544 <?= $arguments["ps"]["last_test"] ?>
545 </div>
546 </div>
547 </div>
548
549 <div class="wtotem_table__col">
550 <div class="wtotem_table__th wtotem_overall__title">
551 <h3 class="wtotem_table__title wtotem_title-info__title">
552 <?= wtsec_locale("deface_scanner") ?>
553 <span class="wtotem_title-info__info" data-tlite="w"
554 title="<?= $arguments["dc"]["description"] ?>"></span>
555 </h3>
556 </div>
557 <div class="wtotem_table__item">
558 <div class="wtotem_table__wrap_big">
559 <img src="<?= wtsec_getImagePath($arguments["dc"]["status"]["image"]) ?>" alt="Check mark icon"
560 class="wtotem_table__img"/>
561 </div>
562 </div>
563
564 <div class="wtotem_table__info">
565 <h3 class="wtotem_table__subject">
566 <?= wtsec_locale("status") ?>
567 </h3>
568 <div class="wtotem_table__status">
569 <?= $arguments["dc"]["status"]["text"] ?>
570 </div>
571 </div>
572 <div class="wtotem_table__info">
573 <h3 class="wtotem_table__subject">
574 <?= wtsec_locale("number") ?>
575 </h3>
576 <div class="wtotem_table__text">
577 <?= $arguments["dc"]["number"] ?>
578 </div>
579 </div>
580 <div class="wtotem_table__info">
581 <h3 class="wtotem_table__subject">
582 <?= wtsec_locale("last_test") ?>
583 </h3>
584 <div class="wtotem_table__text">
585 <?= $arguments["dc"]["time_of_the_last_test"] ?>
586 </div>
587 </div>
588 </div>
589 <div class="wtotem_table__col">
590 <div class="wtotem_table__th">
591 <h3 class="wtotem_table__title wtotem_title-info__title">
592 <?= wtsec_locale("domain") ?>
593 <span class="wtotem_title-info__info" data-tlite="w"
594 title="<?= $arguments["dec"]["description"] ?>"></span>
595 </h3>
596 </div>
597 <div class="wtotem_table__item">
598 <div class="wtotem_table__wrap_big">
599 <img src="<?= wtsec_getImagePath($arguments["dec"]["status"]["image"]) ?>" alt="Check mark icon"
600 class="wtotem_table__img"/>
601 </div>
602 </div>
603
604 <div class="wtotem_table__info">
605 <h3 class="wtotem_table__subject">
606 <?= wtsec_locale("status") ?>
607 </h3>
608 <div class="wtotem_table__status">
609 <?= $arguments["dec"]["status"]["text"] ?>
610 </div>
611 </div>
612 <div class="wtotem_table__info">
613 <h3 class="wtotem_table__subject">
614 <?= wtsec_locale("created") ?>
615 </h3>
616 <div class="wtotem_table__text">
617 <?= $arguments["dec"]["created"] ?>
618 </div>
619 </div>
620 <div class="wtotem_table__info">
621 <h3 class="wtotem_table__subject">
622 <?= wtsec_locale("expiry_date") ?>
623 </h3>
624 <div class="wtotem_table__text">
625 <?= $arguments["dec"]["expiry_date"] ?>
626 </div>
627 </div>
628 </div>
629 </div>
630
631 <div class="wtotem_table__footer">
632 <a target="_blank" href="https://wtotem.com/faq/#hs-chat-open" class="wtotem_table__link">
633 <div class="wtotem_table__perfomance">
634 <?= wtsec_locale("need_more_support") ?>
635 <span><?= wtsec_locale("lets_talk") ?></span>
636 </div>
637 </a>
638 </div>
639 </div>
640 </div>
641 </div>
642 </div>
643
644 <?php
645 // $result = WTSEC_LIBRARY_WT::auth(wtsec_app()->get("api_key"));
646 // $token_ = $result['data']['guest']['apiKeys']['auth']['token']['value'];
647 ?>
648
649
650 <script>
651 var availability_percent = "<?=$arguments["wa"]["availability_percent"]?>";
652 var waf_chart = <?=$arguments["waf"]["chart"]?>;
653 </script>
654 <script>
655 //var wtotem_token = "<?//=$token_?>//";
656 var wtotem_token = "<?=$arguments["settings"]["token"]?>";
657 var wtotem_site_id = "<?=$arguments["settings"]["site_id"]?>";
658 var wtotem_am_process_status = "<?=$arguments["am"]["process_status"]?>";
659 var wtotem_locale_installed = "<?= wtsec_locale("installed") ?>";
660 var wtotem_locale_installing = "<?= wtsec_locale("installation_in_progress") ?>";
661 var wtotem_locale_failed = "<?= wtsec_locale("failed") ?>";
662 var wtotem_socket_url = "wss://api.wtotem.com/graphql";
663 document.addEventListener('DOMContentLoaded', function () {
664 if (wtotem_am_process_status === "installing") {
665 let firewall_selector = document.getElementsByClassName("wtotem_unit__block_firewall");
666 let firewall_installed_selector = document.getElementById("wtsec_firewall_block_installed");
667 let firewall_installing_selector = document.getElementById("wtsec_firewall_block_installing");
668 let firewall_failed_selector = document.getElementById("wtsec_firewall_block_failed");
669 let antivirus_selector = document.getElementsByClassName("wtotem_unit__block_antivirus");
670 let antivirus_installed_selector = document.getElementById("wtsec_antivirus_block_installed");
671 let antivirus_installing_selector = document.getElementById("wtsec_antivirus_block_installing");
672 let antivirus_failed_selector = document.getElementById("wtsec_antivirus_block_failed");
673
674 function show_hide(selector,show = true){
675 if(show){
676 selector.style.display = "flex";
677 }else{
678 selector.style.display = "none";
679 }
680 }
681
682 function show_hide_in_loop(selectors,show = true){
683 for(let selector of selectors){
684 show_hide(selector,show);
685 }
686 }
687
688 show_hide(firewall_installing_selector,true);
689 show_hide(antivirus_installing_selector,true);
690 let variables = {
691 input: {
692 token: wtotem_token,
693 service: 'am',
694 siteId: wtotem_site_id,
695 },
696 }
697 let query = `subscription EventsSubscription($input: EventsInput!) {
698 events(input: $input) {
699 siteId
700 hostname
701 status
702 service
703 error {
704 message
705 __typename
706 }
707 __typename
708 }
709 }`;
710 const sub = graphQLSubscriber(wtotem_socket_url, {},
711 (error, subscribe) => {
712 if (!(error || subscribe)) {
713 // Normal closure.
714 return
715 }
716 if (error) {
717 console.error(error)
718 throw error
719 }
720 const unsubscribe = subscribe(
721 query,
722 variables,
723 null,
724 (error, data) => {
725 console.log(data);
726 if (!(error || subscribe)) {
727 // Normal closure
728 return
729 }
730 if (error) {
731 console.error(error)
732 throw error
733 }
734
735 if (data.events.status === "waf_installed") {
736 show_hide_in_loop(firewall_selector, false);
737 show_hide(firewall_installed_selector,true);
738 } else if (data.events.status === "av_installed") {
739 show_hide_in_loop(antivirus_selector, false);
740 show_hide(antivirus_installed_selector,true);
741 } else if (data.events.status === "am_installed") {
742
743 } else {
744 let split = data.events.status.split("_");
745 if(split.length === 0){
746 return;
747 }
748 let service = split[0];
749 if (service === "waf") {
750 show_hide_in_loop(firewall_selector, false);
751 show_hide(firewall_failed_selector,true);
752 }
753 if (service === "av") {
754 show_hide_in_loop(antivirus_selector, false);
755 show_hide(antivirus_failed_selector,true);
756 }
757 if (service === "am") {
758
759 }
760 }
761 })
762 })
763 }
764 });
765 </script>
766 <?php else: ?>
767 <?php //show error here ?>
768 <?php endif; ?>