PluginProbe
WebTotem Security / 2.1.9
WebTotem Security v2.1.9
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.9, at includes/dashboard.php

774 lines 40.2 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 <?php if($arguments["dc"]["status"]["image"]):?>
462 <img src="<?= wtsec_getImagePath($arguments["dc"]["status"]["image"]) ?>" alt="Check mark icon"
463 class="wtotem_table__img"/>
464 <?php endif; ?>
465 </div>
466
467 <div class="wtotem_table__perfomance wtotem_table__perfomance_long ml-2"><?= $arguments["av"]["reputation"] ?></div>
468 </div>
469 <div class="wtotem_table__info">
470 <h3 class="wtotem_table__subject"><?= wtsec_locale("status") ?></h3>
471 <div class="wtotem_table__status"><?= $arguments["av"]["status"]["text"] ?></div>
472 </div>
473 <div class="wtotem_table__info">
474 <h3 class="wtotem_table__subject">
475 <?= wtsec_locale("blacklists_entries") ?>
476 </h3>
477 <div class="wtotem_table__text">
478 <?= $arguments["av"]["blacklists_entries"] ?>
479 </div>
480 </div>
481 <div class="wtotem_table__info">
482 <h3 class="wtotem_table__subject">
483 <?= wtsec_locale("last_test") ?>
484 </h3>
485 <div class="wtotem_table__text">
486 <?= $arguments["av"]["time_of_the_last_test"] ?>
487 </div>
488 </div>
489 <div class="wtotem_table__info"></div>
490 </div>
491 </div>
492 <div class="wtotem_table__footer">
493 <a target="_blank" href="https://wtotem.com/faq/#hs-chat-open" class="wtotem_table__link">
494 <div class="wtotem_table__perfomance">
495 <?= wtsec_locale("need_more_support") ?>
496 <span><?= wtsec_locale("lets_talk") ?></span>
497 </div>
498 </a>
499 </div>
500 </div>
501 </div>
502
503
504
505 <div class="wtotem_scanning">
506 <div class="wtotem_scanning__first section-header-mb">
507 <h2 class="title">
508 <?= wtsec_locale("scanning") ?>
509 </h2>
510 </div>
511 <div class="wtotem_table wt_card">
512 <div class="wtotem_table__row">
513 <div class="wtotem_table__col">
514 <div class="wtotem_table__th">
515 <h3 class="wtotem_table__title wtotem_title-info__title">
516 <?= wtsec_locale("port_scanner") ?>
517 <span class="wtotem_title-info__info" data-tlite="w"
518 title="<?= $arguments["dc"]["description"] ?>"></span>
519 </h3>
520 </div>
521 <div class="wtotem_table__info">
522 <h3 class="wtotem_table__subject">
523 <?= wtsec_locale("status") ?>
524 </h3>
525 <div class="wtotem_table__status"><?= $arguments["ps"]["status"]["text"] ?></div>
526 </div>
527 <div class="wtotem_table__info">
528 <h3 class="wtotem_table__subject"><?= wtsec_locale("ip_address") ?></h3>
529 <div class="wtotem_table__text"><?= $arguments["ps"]["ip"] ?></div>
530 </div>
531 <?php if (!empty($arguments["ps"]["tcp"])): ?>
532 <div class="wtotem_table__info">
533 <h3 class="wtotem_table__subject">
534 <?= wtsec_locale("tcp") ?>
535 </h3>
536 <div class="wtotem_table__text">
537 <?= $arguments["ps"]["tcp"] ?>
538 </div>
539 </div>
540 <?php endif; ?>
541 <div class="wtotem_table__info">
542 <h3 class="wtotem_table__subject">
543 <?= wtsec_locale("last_test") ?>
544 </h3>
545 <div class="wtotem_table__text">
546 <?= $arguments["ps"]["last_test"] ?>
547 </div>
548 </div>
549 </div>
550
551 <div class="wtotem_table__col">
552 <div class="wtotem_table__th wtotem_overall__title">
553 <h3 class="wtotem_table__title wtotem_title-info__title">
554 <?= wtsec_locale("deface_scanner") ?>
555 <span class="wtotem_title-info__info" data-tlite="w"
556 title="<?= $arguments["dc"]["description"] ?>"></span>
557 </h3>
558 </div>
559 <div class="wtotem_table__item">
560 <div class="wtotem_table__wrap_big">
561 <?php if($arguments["dc"]["status"]["image"]):?>
562 <img src="<?= wtsec_getImagePath($arguments["dc"]["status"]["image"]) ?>" alt="Check mark icon"
563 class="wtotem_table__img"/>
564 <?php endif; ?>
565 </div>
566 </div>
567
568 <div class="wtotem_table__info">
569 <h3 class="wtotem_table__subject">
570 <?= wtsec_locale("status") ?>
571 </h3>
572 <div class="wtotem_table__status">
573 <?= $arguments["dc"]["status"]["text"] ?>
574 </div>
575 </div>
576 <div class="wtotem_table__info">
577 <h3 class="wtotem_table__subject">
578 <?= wtsec_locale("number") ?>
579 </h3>
580 <div class="wtotem_table__text">
581 <?= $arguments["dc"]["number"] ?>
582 </div>
583 </div>
584 <div class="wtotem_table__info">
585 <h3 class="wtotem_table__subject">
586 <?= wtsec_locale("last_test") ?>
587 </h3>
588 <div class="wtotem_table__text">
589 <?= $arguments["dc"]["time_of_the_last_test"] ?>
590 </div>
591 </div>
592 </div>
593 <div class="wtotem_table__col">
594 <div class="wtotem_table__th">
595 <h3 class="wtotem_table__title wtotem_title-info__title">
596 <?= wtsec_locale("domain") ?>
597 <span class="wtotem_title-info__info" data-tlite="w"
598 title="<?= $arguments["dec"]["description"] ?>"></span>
599 </h3>
600 </div>
601 <div class="wtotem_table__item">
602 <div class="wtotem_table__wrap_big">
603 <?php if($arguments["dec"]["status"]["image"]):?>
604 <img src="<?= wtsec_getImagePath($arguments["dec"]["status"]["image"]) ?>" alt="Check mark icon"
605 class="wtotem_table__img"/>
606 <?php endif; ?>
607 </div>
608 </div>
609
610 <div class="wtotem_table__info">
611 <h3 class="wtotem_table__subject">
612 <?= wtsec_locale("status") ?>
613 </h3>
614 <div class="wtotem_table__status">
615 <?= $arguments["dec"]["status"]["text"] ?>
616 </div>
617 </div>
618 <div class="wtotem_table__info">
619 <h3 class="wtotem_table__subject">
620 <?= wtsec_locale("created") ?>
621 </h3>
622 <div class="wtotem_table__text">
623 <?= $arguments["dec"]["created"] ?>
624 </div>
625 </div>
626 <div class="wtotem_table__info">
627 <h3 class="wtotem_table__subject">
628 <?= wtsec_locale("expiry_date") ?>
629 </h3>
630 <div class="wtotem_table__text">
631 <?= $arguments["dec"]["expiry_date"] ?>
632 </div>
633 </div>
634 </div>
635 </div>
636
637 <div class="wtotem_table__footer">
638 <a target="_blank" href="https://wtotem.com/faq/#hs-chat-open" class="wtotem_table__link">
639 <div class="wtotem_table__perfomance">
640 <?= wtsec_locale("need_more_support") ?>
641 <span><?= wtsec_locale("lets_talk") ?></span>
642 </div>
643 </a>
644 </div>
645 </div>
646 </div>
647 </div>
648 </div>
649
650 <?php
651 // $result = WTSEC_LIBRARY_WT::auth(wtsec_app()->get("api_key"));
652 // $token_ = $result['data']['guest']['apiKeys']['auth']['token']['value'];
653 ?>
654
655
656 <script>
657 var availability_percent = "<?=$arguments["wa"]["availability_percent"]?>";
658 var waf_chart = <?=$arguments["waf"]["chart"]?>;
659 </script>
660 <script>
661 //var wtotem_token = "<?//=$token_?>//";
662 var wtotem_token = "<?=$arguments["settings"]["token"]?>";
663 var wtotem_site_id = "<?=$arguments["settings"]["site_id"]?>";
664 var wtotem_am_process_status = "<?=$arguments["am"]["process_status"]?>";
665 var wtotem_locale_installed = "<?= wtsec_locale("installed") ?>";
666 var wtotem_locale_installing = "<?= wtsec_locale("installation_in_progress") ?>";
667 var wtotem_locale_failed = "<?= wtsec_locale("failed") ?>";
668 var wtotem_socket_url = "wss://api.wtotem.com/graphql";
669 document.addEventListener('DOMContentLoaded', function () {
670 if (wtotem_am_process_status === "installing") {
671 let firewall_selector = document.getElementsByClassName("wtotem_unit__block_firewall");
672 let firewall_installed_selector = document.getElementById("wtsec_firewall_block_installed");
673 let firewall_installing_selector = document.getElementById("wtsec_firewall_block_installing");
674 let firewall_failed_selector = document.getElementById("wtsec_firewall_block_failed");
675 let antivirus_selector = document.getElementsByClassName("wtotem_unit__block_antivirus");
676 let antivirus_installed_selector = document.getElementById("wtsec_antivirus_block_installed");
677 let antivirus_installing_selector = document.getElementById("wtsec_antivirus_block_installing");
678 let antivirus_failed_selector = document.getElementById("wtsec_antivirus_block_failed");
679
680 function show_hide(selector,show = true){
681 if(show){
682 selector.style.display = "flex";
683 }else{
684 selector.style.display = "none";
685 }
686 }
687
688 function show_hide_in_loop(selectors,show = true){
689 for(let selector of selectors){
690 show_hide(selector,show);
691 }
692 }
693
694 show_hide(firewall_installing_selector,true);
695 show_hide(antivirus_installing_selector,true);
696 let variables = {
697 input: {
698 token: wtotem_token,
699 service: 'am',
700 siteId: wtotem_site_id,
701 },
702 }
703 let query = `subscription EventsSubscription($input: EventsInput!) {
704 events(input: $input) {
705 siteId
706 hostname
707 status
708 service
709 error {
710 message
711 __typename
712 }
713 __typename
714 }
715 }`;
716 const sub = graphQLSubscriber(wtotem_socket_url, {},
717 (error, subscribe) => {
718 if (!(error || subscribe)) {
719 // Normal closure.
720 return
721 }
722 if (error) {
723 console.error(error)
724 throw error
725 }
726 const unsubscribe = subscribe(
727 query,
728 variables,
729 null,
730 (error, data) => {
731 console.log(data);
732 if (!(error || subscribe)) {
733 // Normal closure
734 return
735 }
736 if (error) {
737 console.error(error)
738 throw error
739 }
740
741 if (data.events.status === "waf_installed") {
742 show_hide_in_loop(firewall_selector, false);
743 show_hide(firewall_installed_selector,true);
744 } else if (data.events.status === "av_installed") {
745 show_hide_in_loop(antivirus_selector, false);
746 show_hide(antivirus_installed_selector,true);
747 } else if (data.events.status === "am_installed") {
748
749 } else {
750 let split = data.events.status.split("_");
751 if(split.length === 0){
752 return;
753 }
754 let service = split[0];
755 if (service === "waf") {
756 show_hide_in_loop(firewall_selector, false);
757 show_hide(firewall_failed_selector,true);
758 }
759 if (service === "av") {
760 show_hide_in_loop(antivirus_selector, false);
761 show_hide(antivirus_failed_selector,true);
762 }
763 if (service === "am") {
764
765 }
766 }
767 })
768 })
769 }
770 });
771 </script>
772 <?php else: ?>
773 <?php //show error here ?>
774 <?php endif; ?>