PluginProbe
WebTotem Security / 2.1.6
WebTotem Security v2.1.6
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.6, at includes/dashboard.php

467 lines 27.7 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 <div class="ww-main ww-main--grid">
4 <div class="ww-main__graph">
5 <div class="ww-title"><img class="ww-icon" src="<?= wtsec_getImagePath("icon-shield-check.432cf8d4.svg") ?>"
6 alt=""><span><?= wtsec_locale("firewall") ?></span>
7 <?php if (isset($arguments["waf"]["description"])) { ?>
8 <div class="ww-icon ww-icon--info js--tooltip" data-tlite="w"
9 title="<?= $arguments["waf"]["description"] ?>"></div>
10 <?php } ?>
11 </div>
12 <div class="ww-graph ww-graph--line">
13 <div class="ww-graph__name"><?= wtsec_locale("attacks_blocked_weekly") ?></div>
14 <canvas id="lineChart" width="420"
15 height="200"></canvas>
16 </div>
17 </div>
18 <div class="ww-main__stats">
19 <div class="ww-title"><span><?= wtsec_locale("stats") ?></span></div>
20 <div class="ww-info ww-info--column">
21 <div class="ww-info__item">
22 <div class="ww-info__name"><?= wtsec_locale("status") ?></div>
23 <div class="ww-info__value"
24 id="wtotem_firewall_status"><?= $arguments["waf"]["status"]["text"] ?></div>
25 </div>
26 <div class="ww-info__item ww-info__item--highlight">
27 <div class="ww-info__name"><?= wtsec_locale("attacks") ?></div>
28 <div class="ww-info__value"><?= $arguments["waf"]["attacks"] ?></div>
29 </div>
30 <div class="ww-info__item ww-info__item--highlight">
31 <div class="ww-info__name"><?= wtsec_locale("attacks_blocked") ?></div>
32 <div class="ww-info__value"><?= $arguments["waf"]["blocking"] ?></div>
33 </div>
34 </div>
35 </div>
36 </div>
37 <div class="ww-main ww-main--grid">
38 <?php if ($arguments["am"]["process_status"] === "installing"): ?>
39 <div class="ww-main__graph">
40 <div class="ww-title"><span>Agent Manager</span></div>
41 <div class="ww-graph ww-graph--line">
42 <div class="ww-title"><?= wtsec_locale("firewall") ?></div>
43 <?php if ($arguments["waf"]["installed_status"]): ?>
44 <div class="ww-info ww-info--column">
45 <div class="ww-info__item" id="wtotem_firewall">
46 <?= wtsec_locale("installed") ?>
47 </div>
48 </div>
49 <?php else: ?>
50 <div class="ww-info ww-info--column">
51 <div class="lds-ellipsis" id="wtotem_firewall_progress_bar">
52 <div></div>
53 <div></div>
54 <div></div>
55 <div></div>
56 </div>
57 <div class="ww-info__item" id="wtotem_firewall">
58 <?= wtsec_locale("installation_in_progress") ?>...
59 </div>
60 </div>
61 <?php endif; ?>
62
63 </div>
64 </div>
65 <div class="ww-main__stats">
66 <div class="ww-title">&nbsp;</div>
67 <div class="ww-title"><span><?= wtsec_locale("remote_antivirus") ?></span></div>
68 <?php if ($arguments["vc"]["installed_status"]): ?>
69 <div class="ww-info ww-info--column">
70 <div class="ww-info__item" id="wtotem_antivirus">
71 <?= wtsec_locale("installed") ?>
72 </div>
73 </div>
74 <?php else: ?>
75 <div class="ww-info ww-info--column">
76 <div class="lds-ellipsis" id="wtotem_antivirus_progress_bar">
77 <div></div>
78 <div></div>
79 <div></div>
80 <div></div>
81 </div>
82 <div class="ww-info__item" id="wtotem_antivirus">
83 <?= wtsec_locale("installation_in_progress") ?>...
84 </div>
85 </div>
86 <?php endif; ?>
87 </div>
88 <?php elseif ($arguments["am"]["process_status"] === "installed"): ?>
89 <div class="ww-main__graph">
90 <div class="ww-title"><span>Agent Manager</span></div>
91 <div class="ww-main__stats">
92 <div class="ww-info ww-info--column">
93 <div class="ww-info__item">
94 <div class="ww-info__name"><?= wtsec_locale("status") ?></div>
95 <div class="ww-info__value"><?= $arguments["am"]["status"]["text"] ?></div>
96 </div>
97 <?php if (!$arguments["am"]["installed"]): ?>
98 <?php if (isset($arguments['am']['actions']['first'])) { ?>
99 <?= $arguments['am']['actions']['first'] ?>
100 <?php } ?>
101 <?php endif; ?>
102 </div>
103 </div>
104 </div>
105 <?php else: ?>
106 <div class="ww-main__graph">
107 <div class="ww-title"><span>Agent Manager</span></div>
108 <div class="ww-graph ww-graph--line">
109 <h3><?= wtsec_locale("installation_failed") ?></h3>
110 </div>
111 </div>
112 <div class="ww-main__stats">
113 <div class="ww-info ww-info--column">
114 <div class="ww-info__item">
115 <div class="ww-info__name"><?= wtsec_locale("status") ?></div>
116 <div class="ww-info__value"><?= $arguments["am"]["status"]["text"] ?></div>
117 </div>
118 <?php if (isset($arguments['am']['actions']['first'])) { ?>
119 <?= $arguments['am']['actions']['first'] ?>
120 <?php } ?>
121 </div>
122 </div>
123 <?php endif; ?>
124 </div>
125 <div class="ww-grid ww-grid--small-box">
126 <div class="ww-grid__3">
127 <div class="ww-main ww-main--small">
128 <div class="ww-content__header">
129 <div class="ww-title ww-title--small"><img class="ww-icon"
130 src="<?= wtsec_getImagePath("icon-diagnostic.3882a66e.svg") ?>"
131 alt=""><span><?= wtsec_locale("availability") ?></span>
132 <?php if (isset($arguments["wa"]["description"])) { ?>
133 <div class="ww-icon ww-icon--info js--tooltip" data-tlite="w"
134 title="<?= $arguments["wa"]["description"] ?>"></div>
135 <?php } ?>
136 </div>
137 <?= $arguments["wa"]["pause"] ?>
138 </div>
139 <div class="ww-graph ww-graph--circle">
140 <canvas id="circleChart" width="120" height="45"></canvas>
141 <div class="ww-graph__info">
142 <div class="ww-graph__percent"><?= $arguments["wa"]["availability_percent"] ?>%</div>
143 <div class="ww-graph__title"><?= wtsec_locale("available") ?></div>
144 </div>
145 </div>
146 <div class="ww-info ww-info--column">
147 <div class="ww-info__item">
148 <div class="ww-info__name"><?= wtsec_locale("status") ?></div>
149 <div class="ww-info__value"><?= $arguments["wa"]["status"]["text"] ?></div>
150 </div>
151 <div class="ww-info__item">
152 <div class="ww-info__name"><?= wtsec_locale("downtime") ?></div>
153 <div class="ww-info__value"><?= $arguments["wa"]["downtime"] ?></div>
154 </div>
155 <div class="ww-info__item">
156 <div class="ww-info__name"><?= wtsec_locale("response_time") ?></div>
157 <div class="ww-info__value"><?= $arguments["wa"]["response_time"] ?></div>
158 </div>
159 </div>
160 </div>
161 </div>
162 <div class="ww-grid__3">
163 <div class="ww-main ww-main--small">
164 <div class="ww-content__header">
165 <div class="ww-title ww-title--small"><img class="ww-icon"
166 src="<?= wtsec_getImagePath("icon-ssl.e6bef731.svg") ?>"
167 alt=""><span><?= wtsec_locale("ssl") ?></span>
168 <?php if (isset($arguments["ssl"]["description"])) { ?>
169 <div class="ww-icon ww-icon--info js--tooltip" data-tlite="w"
170 title="<?= $arguments["ssl"]["description"] ?>"></div>
171 <?php } ?>
172 </div>
173 <?= $arguments["ssl"]["pause"] ?>
174 </div>
175 <div class="ww-clipboard <?= $arguments["ssl"]["status"]["color"] ?>">
176 <div class="ww-clipboard__icon">
177 <svg width="45" height="42" viewBox="0 0 45 42" fill="none"
178 xmlns="http://www.w3.org/2000/svg">
179 <path fill-rule="evenodd" clip-rule="evenodd"
180 d="M29.8612 30.625C29.8612 29.6585 30.5743 28.875 31.4538 28.875H37.8242C38.7038 28.875 39.4168 29.6585 39.4168 30.625V40.8859C39.4168 41.6473 38.5932 42.0454 38.0824 41.5309L35.1771 38.6045C34.8726 38.2978 34.4054 38.2978 34.1009 38.6045L31.1956 41.5309C30.6849 42.0454 29.8612 41.6473 29.8612 40.8859V30.625Z"
181 class="ww-clipboard__path <?= $arguments["ssl"]["status"]["color"] ?>"></path>
182 <path
183 d="M8.95829 5.25H14.3333V6.125C14.3333 7.57475 15.5365 8.75 17.0208 8.75H25.9791C27.4634 8.75 28.6666 7.57475 28.6666 6.125V5.25H34.0416C35.0311 5.25 35.8333 6.0335 35.8333 7V25.125C35.8333 26.2296 34.9379 27.125 33.8333 27.125H30.7708C29.1139 27.125 27.7708 28.4681 27.7708 30.125V38.25C27.7708 39.3546 26.8754 40.25 25.7708 40.25H8.95829C7.96878 40.25 7.16663 39.4665 7.16663 38.5V7C7.16663 6.0335 7.96878 5.25 8.95829 5.25Z"
184 class="ww-clipboard__path <?= $arguments["ssl"]["status"]["color"] ?>"></path>
185 <path opacity="0.4"
186 d="M23.2117 22.6823C22.9202 22.3975 22.9202 21.9358 23.2117 21.6511C23.5033 21.3663 23.9759 21.3663 24.2675 21.6511L27.2536 24.5677C27.5451 24.8525 27.5451 25.3142 27.2536 25.5989C26.962 25.8837 26.4894 25.8837 26.1978 25.5989L23.2117 22.6823Z"
187 fill="white"></path>
188 <path fill-rule="evenodd" clip-rule="evenodd"
189 d="M15.5278 18.5208C15.5278 21.3398 17.8674 23.625 20.7535 23.625C23.6396 23.625 25.9792 21.3398 25.9792 18.5208C25.9792 15.7019 23.6396 13.4167 20.7535 13.4167C17.8674 13.4167 15.5278 15.7019 15.5278 18.5208ZM24.4862 18.5208C24.4862 20.5344 22.815 22.1667 20.7535 22.1667C18.692 22.1667 17.0209 20.5344 17.0209 18.5208C17.0209 16.5073 18.692 14.875 20.7535 14.875C22.815 14.875 24.4862 16.5073 24.4862 18.5208Z"
190 fill="white"></path>
191 <path opacity="0.5" fill-rule="evenodd" clip-rule="evenodd"
192 d="M23.2916 3.50001C23.2916 3.5 23.2916 3.5 23.2916 3.5C23.2916 2.5335 22.4895 1.75 21.5 1.75C20.5105 1.75 19.7083 2.5335 19.7083 3.5C19.7083 3.5 19.7083 3.5 19.7083 3.50001H16.625C16.3489 3.50001 16.125 3.72386 16.125 4.00001V6.50001C16.125 6.77615 16.3489 7.00001 16.625 7.00001H26.375C26.6511 7.00001 26.875 6.77615 26.875 6.50001V4.00001C26.875 3.72386 26.6511 3.50001 26.375 3.50001H23.2916Z"
193 class="ww-clipboard__path <?= $arguments["ssl"]["status"]["color"] ?>"></path>
194 </svg>
195 </div>
196 <div class="ww-clipboard__name"><?= $arguments["ssl"]["status"]["text"] ?></div>
197 </div>
198 <div class="ww-info ww-info--column">
199 <div class="ww-info__item">
200 <div class="ww-info__name"><?= wtsec_locale("status") ?></div>
201 <div class="ww-info__value"><?= $arguments["ssl"]["status"]["text"] ?></div>
202 </div>
203 <?php if (!empty($arguments["ssl"]["expiry_date"])): ?>
204 <div class="ww-info__item">
205 <div class="ww-info__name"><?= wtsec_locale("expiry_date") ?></div>
206 <div class="ww-info__value"><?= $arguments["ssl"]["expiry_date"] ?></div>
207 </div>
208 <?php endif; ?>
209 <?php if (!empty($arguments["ssl"]["days_left"])): ?>
210 <div class="ww-info__item">
211 <div class="ww-info__name"><?= wtsec_locale("days_left") ?></div>
212 <div class="ww-info__value"><?= $arguments["ssl"]["days_left"] ?></div>
213 </div>
214 <?php endif; ?>
215 </div>
216 </div>
217 </div>
218 <div class="ww-grid__3">
219 <div class="ww-main ww-main--small">
220 <div class="ww-content__header">
221 <div class="ww-title ww-title--small"><img class="ww-icon"
222 src="<?= wtsec_getImagePath("icon-shield.0208ca15.svg") ?>"
223 alt=""><span><?= wtsec_locale("domain") ?></span>
224 <?php if (isset($arguments["dec"]["description"])) { ?>
225 <div class="ww-icon ww-icon--info js--tooltip" data-tlite="w"
226 title="<?= $arguments["dec"]["description"] ?>"></div>
227 <?php } ?>
228 </div>
229 <?= $arguments["dec"]["pause"] ?>
230 </div>
231 <div class="ww-domain">
232 <div class="ww-domain__item">
233 <div class="ww-domain__name"><?= wtsec_locale("days_left") ?></div>
234 <div class="ww-domain__value ww-domain__value--numb"><?= $arguments["dec"]["days_left"] ?></div>
235 </div>
236 <div class="ww-domain__item">
237 <div class="ww-domain__name"><?= wtsec_locale("status") ?></div>
238 <div class="ww-domain__value">
239 <div class="ww-icon ww-icon--status <?= $arguments["dec"]["status"]["icon"] ?>"></div>
240 </div>
241 </div>
242 <div class="ww-domain__item">
243 <div class="ww-domain__name"><?= wtsec_locale("expiry_date") ?></div>
244 <div class="ww-domain__value is--status--ok"><?= $arguments["dec"]["expiry_date"] ?></div>
245 </div>
246 </div>
247 <?php if (!empty($arguments["dec"]["registrar"]) || !empty($arguments["dec"]["owner"]) || !empty($arguments["dec"]["email"])) { ?>
248 <div class="ww-info ww-info--column">
249 <?php if (!empty($arguments["dec"]["registrar"])) { ?>
250 <div class="ww-info__item">
251 <div class="ww-info__name"><?= wtsec_locale("registrar") ?></div>
252 <div class="ww-info__value ww-info__value--small"><?= $arguments["dec"]["registrar"] ?></div>
253 </div>
254 <?php } ?>
255 <?php if (!empty($arguments["dec"]["owner"])) { ?>
256 <div class="ww-info__item">
257 <div class="ww-info__name"><?= wtsec_locale("owner") ?></div>
258 <div class="ww-info__value ww-info__value--small"><?= $arguments["dec"]["owner"] ?></div>
259 </div>
260 <?php } ?>
261 <?php if (!empty($arguments["dec"]["email"])) { ?>
262 <div class="ww-info__item">
263 <div class="ww-info__name"><?= wtsec_locale("email") ?></div>
264 <div class="ww-info__value ww-info__value--small"><?= $arguments["dec"]["email"] ?></div>
265 </div>
266 <?php } ?>
267 </div>
268 <?php } ?>
269 </div>
270 </div>
271 <div class="ww-grid__3">
272 <div class="ww-main ww-main--small">
273 <div class="ww-content__header">
274 <div class="ww-title ww-title--small">
275 <img class="ww-icon" src="<?= wtsec_getImagePath("icon-star.ce261205.svg") ?>" alt="">
276 <span><?= wtsec_locale("reputation") ?></span>
277 <?php if (isset($arguments["av"]["description"])) { ?>
278 <div class="ww-icon ww-icon--info js--tooltip" data-tlite="w"
279 title="<?= $arguments["av"]["description"] ?>"></div>
280 <?php } ?>
281 </div>
282 <?= $arguments["av"]["pause"] ?>
283 </div>
284 <div class="ww-info ww-info--column">
285 <div class="ww-info__item">
286 <div class="ww-info__name"><?= wtsec_locale("status") ?></div>
287 <div class="ww-info__value"><?= $arguments["av"]["status"]["text"] ?></div>
288 </div>
289 <div class="ww-info__item">
290 <div class="ww-info__name"><?= wtsec_locale("blacklists_entries") ?></div>
291 <div class="ww-info__value"><?= $arguments["av"]["blacklists_entries"] ?></div>
292 </div>
293 <div class="ww-info__item">
294 <div class="ww-info__name"><?= wtsec_locale("last_test") ?></div>
295 <div class="ww-info__value"><?= $arguments["av"]["time_of_the_last_test"] ?></div>
296 </div>
297 </div>
298 </div>
299 </div>
300 <div class="ww-grid__3">
301 <div class="ww-main ww-main--small">
302 <div class="ww-content__header">
303 <div class="ww-title ww-title--small">
304 <img class="ww-icon" src="<?= wtsec_getImagePath("icon-script.b34b3af7.svg") ?>"
305 alt="">
306 <span><?= wtsec_locale("deface_scanner") ?></span>
307 <?php if (isset($arguments["dc"]["description"])) { ?>
308 <div class="ww-icon ww-icon--info js--tooltip" data-tlite="w"
309 title="<?= $arguments["dc"]["description"] ?>"></div>
310 <?php } ?>
311 </div>
312 <?= $arguments["dc"]["pause"] ?>
313 </div>
314 <div class="ww-info ww-info--column">
315 <div class="ww-info__item">
316 <div class="ww-info__name"><?= wtsec_locale("status") ?></div>
317 <div class="ww-info__value is--status--warning"><?= $arguments["dc"]["status"]["text"] ?></div>
318 </div>
319 <div class="ww-info__item">
320 <div class="ww-info__name"><?= wtsec_locale("last_test") ?></div>
321 <div class="ww-info__value"><?= $arguments["dc"]["time_of_the_last_test"] ?></div>
322 </div>
323 <div class="ww-info__item">
324 <div class="ww-info__name"><?= wtsec_locale("number") ?></div>
325 <div class="ww-info__value <?= $arguments["dc"]["number"] > 0 ? 'ww-info__value--bg' : '' ?>"><?= $arguments["dc"]["number"] ?></div>
326 </div>
327 </div>
328 </div>
329 </div>
330 <div class="ww-grid__3">
331 <div class="ww-main ww-main--small">
332 <div class="ww-content__header">
333 <div class="ww-title ww-title--small">
334 <img class="ww-icon" src="<?= wtsec_getImagePath("icon-antivirus.2c163fba.svg") ?>" alt="">
335 <span><?= wtsec_locale("remote_antivirus") ?></span>
336 <?php if (isset($arguments["vc"]["description"])) { ?>
337 <div class="ww-icon ww-icon--info js--tooltip" data-tlite="w"
338 title="<?= $arguments["vc"]["description"] ?>"></div>
339 <?php } ?>
340 </div>
341 </div>
342 <div class="ww-info ww-info--column antivirus_form">
343 <div class="ww-info__item">
344 <div class="ww-info__name"><?= wtsec_locale("status") ?></div>
345 <div class="ww-info__value"
346 id="wtotem_antivirus_status"><?= $arguments["vc"]["status"]["text"] ?></div>
347 </div>
348 <div class="ww-info__item">
349 <div class="ww-info__name"><?= wtsec_locale("signatures") ?><?php if ($arguments["vc"]["signatures"] > 0) { ?>
350 <a href="<?= wtsec_getUrl('vc') ?>" class="eye-vc">
351 <img class="ww-icon" src="<?= wtsec_getImagePath("icon-eye.5d74dcb4.svg") ?>" alt="">
352 </a><?php } ?>
353 </div>
354 <div class="ww-info__value <?= $arguments["vc"]["signatures"] > 0 ? 'ww-info__value--bg' : '' ?>"><?= $arguments["vc"]["signatures"] ?></div>
355 </div>
356 <div class="ww-info__item">
357 <div class="ww-info__name"><?= wtsec_locale("changes") ?><?php if ($arguments["vc"]["changes"] > 0) { ?>
358 <a href="<?= wtsec_getUrl('vc') ?>" class="eye-vc"><img class="ww-icon"
359 src="<?= wtsec_getImagePath("icon-eye.5d74dcb4.svg") ?>"
360 alt=""></a><?php } ?></div>
361 <div class="ww-info__value"><?= $arguments["vc"]["changes"] ?></div>
362 </div>
363 </div>
364 </div>
365 </div>
366 </div>
367 <script>
368 var availability_percent = "<?=$arguments["wa"]["availability_percent"]?>";
369 var waf_chart = <?=$arguments["waf"]["chart"]?>;
370 </script>
371 <script>
372 var wtotem_token = "<?=$arguments["settings"]["token"]?>";
373 var wtotem_site_id = "<?=$arguments["settings"]["site_id"]?>";
374 var wtotem_am_process_status = "<?=$arguments["am"]["process_status"]?>";
375 var wtotem_locale_installed = "<?= wtsec_locale("installed") ?>";
376 var wtotem_locale_installing = "<?= wtsec_locale("installation_in_progress") ?>";
377 var wtotem_locale_failed = "<?= wtsec_locale("failed") ?>";
378 document.addEventListener('DOMContentLoaded', function () {
379 if (wtotem_am_process_status === "installing") {
380 let firewall_selector = document.getElementById("wtotem_firewall");
381 let firewall_status_selector = document.getElementById("wtotem_firewall_status");
382 let firewall_progress_selector = document.getElementById("wtotem_firewall_progress_bar");
383 let antivirus_selector = document.getElementById("wtotem_antivirus");
384 let antivirus_status_selector = document.getElementById("wtotem_antivirus_status");
385 let antivirus_progress_selector = document.getElementById("wtotem_antivirus_progress_bar");
386 let status_installed_text = "<span class='is--status--ok'>" + wtotem_locale_installed + "</span>";
387 let status_failed_text = "<span class='is--status--error'>" + wtotem_locale_failed + "</span>";
388 let variables = {
389 input: {
390 token: wtotem_token,
391 service: 'am',
392 siteId: wtotem_site_id,
393 },
394 }
395 let query = `subscription EventsSubscription($input: EventsInput!) {
396 events(input: $input) {
397 siteId
398 hostname
399 status
400 service
401 error {
402 message
403 __typename
404 }
405 __typename
406 }
407 }`;
408 const sub = graphQLSubscriber('wss://api.wtotem.com/graphql', {},
409 (error, subscribe) => {
410 if (!(error || subscribe)) {
411 // Normal closure.
412 return
413 }
414 if (error) {
415 console.error(error)
416 throw error
417 }
418 const unsubscribe = subscribe(
419 query,
420 variables,
421 null,
422 (error, data) => {
423 if (!(error || subscribe)) {
424 // Normal closure
425 return
426 }
427 if (error) {
428 console.error(error)
429 throw error
430 }
431
432 if (data.events.status === "waf_installed") {
433 firewall_progress_selector.style.display = "none";
434 firewall_selector.innerHTML = status_installed_text;
435 firewall_status_selector.innerHTML = status_installed_text;
436 } else if (data.events.status === "av_installed") {
437 antivirus_progress_selector.style.display = "none";
438 antivirus_selector.innerHTML = status_installed_text;
439 antivirus_status_selector.innerHTML = status_installed_text;
440 } else if (data.events.status === "am_installed") {
441
442 } else {
443 let service = data.events.status.split("_")[0];
444 if (service === "waf") {
445 firewall_progress_selector.style.display = "none";
446 firewall_selector.innerHTML = status_failed_text;
447 firewall_status_selector.innerHTML = status_failed_text;
448 }
449 if (service === "av") {
450 antivirus_progress_selector.style.display = "none";
451 antivirus_selector.innerHTML = status_failed_text;
452 antivirus_status_selector.innerHTML = status_failed_text;
453 }
454 if (service === "am") {
455
456 }
457 }
458 })
459 })
460 }
461 });
462 </script>
463 <?php else: ?>
464 <div class="ww-main ww-main--grid">
465 <p><?= wtsec_locale('could_not_connect_to_the_server') ?></p>
466 </div>
467 <?php endif; ?>