PluginProbe
AcyMailing – An Ultimate Newsletter Plugin and Marketing Automation Solution for WordPress / 10.11.1
AcyMailing – An Ultimate Newsletter Plugin and Marketing Automation Solution for WordPress v10.11.1
11.1.1 11.1.0 11.0.5 11.0.4 11.0.3 11.0.2 11.0.1 11.0.0 10.11.1 10.11.0 10.10.2 10.10.1 10.10.0 10.9.1 trunk 10.0.0 10.0.1 10.1.0 10.1.1 10.1.2 10.1.3 10.1.4 10.2.0 10.2.1 10.2.2 All 62 releases
acymailing / back / Views / Configuration / tmpl / security.php

security.php in AcyMailing – An Ultimate Newsletter Plugin and Marketing Automation Solution for WordPress 10.11.1, at back/Views/Configuration/tmpl/security.php

658 lines 30.3 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <div class="acym__content acym_area padding-vertical-1 padding-horizontal-2 margin-bottom-2">
2 <?php if (acym_level(ACYM_ESSENTIAL)) { ?>
3 <div class="margin-bottom-2 acym__configuration__rest_api cell grid-x">
4 <div class="acym__title acym__title__secondary grid-x">
5 <?php echo acym_translation('ACYM_REST_API'); ?>
6 <?php echo acym_externalLink(
7 'ACYM_DOCUMENTATION',
8 ACYM_DOCUMENTATION.'v/rest-api/',
9 true,
10 true,
11 ['margin-left-1 margin-right-1']
12 ); ?>
13 </div>
14 <div class="cell grid-x acym_vcenter">
15 <label class="cell large-3" for="php_overrides">
16 <?php echo acym_translation('ACYM_ACTIVATE_REST_API').acym_info(['textShownInTooltip' => 'ACYM_ACTIVATE_REST_API_DESC']); ?>
17 </label>
18 <div class="cell grid-x large-9">
19 <?php
20 echo acym_switch(
21 'config[rest_api]',
22 $this->config->get('rest_api', 0)
23 );
24 ?>
25 </div>
26 </div>
27 </div>
28 <?php } ?>
29
30 <?php if (!empty($data['labelDropdownCaptcha']) && isset($data['level']) && isset($data['captchaOptions'])) { ?>
31 <div class="margin-bottom-2 cell margin-y acym__configuration__security__captcha">
32 <div class="acym__title acym__title__secondary"><?php echo $data['labelDropdownCaptcha']; ?></div>
33 <div class="grid-x grid-margin-x margin-y">
34 <div class="cell medium-6 grid-x">
35 <label class="cell large-3" for="security_key">
36 <?php echo acym_translation('ACYM_CONFIGURATION_CAPTCHA').acym_info(['textShownInTooltip' => 'ACYM_CAPTCHA_DESC']); ?>
37 </label>
38 <div class="cell large-9">
39 <?php
40 $attribs = [
41 'class' => 'acym__select',
42 'data-toggle-select' => '{"acym_ireCaptcha":".acym__config__captcha__recaptcha","acym_reCaptcha_v3":".acym__config__captcha__recaptcha, .acym__config__captcha__recaptcha_v3","acym_hcaptcha":".acym__config__captcha__hcaptcha" }',
43 ];
44 if (!$data['level']) {
45 $attribs['disabled'] = '';
46 }
47
48 echo acym_select(
49 $data['captchaOptions'],
50 'config[captcha]',
51 $this->config->get('captcha', 'none'),
52 $attribs
53 );
54 ?>
55 </div>
56 </div>
57 <?php if ($data['level']) { ?>
58 <div class="cell medium-6 grid-x">
59 <label class="cell large-3" for="security_key">
60 <?php echo acym_translation('ACYM_SECURITY_KEY').acym_info(['textShownInTooltip' => 'ACYM_SECURITY_KEY_DESC']); ?>
61 </label>
62 <input class="cell large-9"
63 id="security_key"
64 type="text"
65 name="config[security_key]"
66 value="<?php echo acym_escape($this->config->get('security_key')); ?>" />
67 </div>
68 <div class="cell medium-6 grid-x acym__config__captcha__hcaptcha">
69 <label class="cell large-3" for="hcaptcha_sitekey">
70 <?php
71 echo acym_translation('ACYM_GENERAL_SITE_KEY');
72 echo acym_tooltip(
73 [
74 'hoveredText' => '<span class="acym__tooltip__info__container"><i class="acym__tooltip__info__icon acymicon-info-circle"></i></span>',
75 'textShownInTooltip' => acym_translation('ACYM_CLICK_HERE_TO_CREATE'),
76 'classContainer' => 'acym__tooltip__info',
77 'link' => 'https://dashboard.hcaptcha.com/sites/new',
78 ]
79 );
80 ?>
81 </label>
82 <input class="cell large-9"
83 id="hcaptcha_sitekey"
84 type="text"
85 name="config[hcaptcha_sitekey]"
86 value="<?php echo acym_escape($this->config->get('hcaptcha_sitekey')); ?>" />
87 </div>
88 <div class="cell medium-6 grid-x acym__config__captcha__hcaptcha">
89 <label class="cell large-3" for="hcaptcha_secretkey">
90 <?php
91 echo acym_translation('ACYM_GENERAL_SECRET_KEY');
92 echo acym_tooltip(
93 [
94 'hoveredText' => '<span class="acym__tooltip__info__container"><i class="acym__tooltip__info__icon acymicon-info-circle"></i></span>',
95 'textShownInTooltip' => acym_translation('ACYM_CLICK_HERE_TO_CREATE'),
96 'classContainer' => 'acym__tooltip__info',
97 'link' => 'https://dashboard.hcaptcha.com/sites/new',
98 ]
99 );
100 ?>
101 </label>
102 <input class="cell large-9"
103 id="hcaptcha_secretkey"
104 type="text"
105 name="config[hcaptcha_secretkey]"
106 value="<?php echo acym_escape($this->config->get('hcaptcha_secretkey')); ?>" />
107 </div>
108
109 <div class="cell medium-6 grid-x acym__config__captcha__recaptcha">
110 <label class="cell large-3" for="recaptcha_sitekey">
111 <?php
112 echo acym_translation('ACYM_SITE_KEY');
113 echo acym_tooltip(
114 [
115 'hoveredText' => '<span class="acym__tooltip__info__container"><i class="acym__tooltip__info__icon acymicon-info-circle"></i></span>',
116 'textShownInTooltip' => acym_translation('ACYM_CLICK_HERE_TO_CREATE'),
117 'classContainer' => 'acym__tooltip__info',
118 'link' => 'https://www.google.com/recaptcha/admin',
119 ]
120 );
121 ?>
122 </label>
123 <input class="cell large-9"
124 id="recaptcha_sitekey"
125 type="text"
126 name="config[recaptcha_sitekey]"
127 value="<?php echo acym_escape($this->config->get('recaptcha_sitekey')); ?>" />
128 </div>
129 <div class="cell medium-6 grid-x acym__config__captcha__recaptcha">
130 <label class="cell large-3" for="recaptcha_secretkey">
131 <?php
132 echo acym_translation('ACYM_SECRET_KEY');
133 echo acym_tooltip(
134 [
135 'hoveredText' => '<span class="acym__tooltip__info__container"><i class="acym__tooltip__info__icon acymicon-info-circle"></i></span>',
136 'textShownInTooltip' => acym_translation('ACYM_CLICK_HERE_TO_CREATE'),
137 'classContainer' => 'acym__tooltip__info',
138 'link' => 'https://www.google.com/recaptcha/admin',
139 ]
140 );
141 ?>
142 </label>
143 <input class="cell large-9"
144 id="recaptcha_secretkey"
145 type="text"
146 name="config[recaptcha_secretkey]"
147 value="<?php echo acym_escape($this->config->get('recaptcha_secretkey')); ?>" />
148 </div>
149 <div class="cell medium-6 grid-x acym__config__captcha__recaptcha_v3">
150 <label class="cell large-3" for="recaptcha_score">
151 <?php
152 echo acym_translation('ACYM_CAPTCHA_SCORE');
153 echo acym_tooltip(
154 [
155 'hoveredText' => '<span class="acym__tooltip__info__container"><i class="acym__tooltip__info__icon acymicon-info-circle"></i></span>',
156 'textShownInTooltip' => acym_translation('ACYM_CAPTCHA_SCORE_DESC'),
157 'classContainer' => 'acym__tooltip__info',
158 'link' => 'https://developers.google.com/recaptcha/docs/v3',
159 ]
160 );
161 ?>
162 </label>
163 <input class="cell large-9"
164 id="recaptcha_score"
165 type="number"
166 name="config[recaptcha_score]"
167 min="0"
168 max="1"
169 step="0.1"
170 onKeyDown="return false"
171 value="<?php echo acym_escape($this->config->get('recaptcha_score', 0.5)); ?>" />
172 </div>
173 <?php } ?>
174 </div>
175 </div>
176 <?php } ?>
177
178 <div class="acym__configuration__security__email cell grid-x">
179 <div class="acym__title acym__title__secondary grid-x">
180 <?php echo acym_translation('ACYM_EMAIL_VERIFICATION'); ?>
181 <div class="margin-left-1">
182 <?php
183 $score = 100;
184 $tooltip = [];
185 if ($this->config->get('email_checkdomain') == 0) {
186 $score -= 10;
187 $tooltip[] = acym_translation('ACYM_EMAIL_VERIFICATION_SCORE_DESC_DOMAIN_VERIFICATION');
188 }
189 if (empty($this->config->get('require_confirmation', 1))) {
190 $score -= 30;
191 $tooltip[] = acym_translation('ACYM_EMAIL_VERIFICATION_SCORE_DESC_DOUBLE_OPT_IN');
192 }
193 if ($this->config->get('email_spellcheck') == 0) {
194 $score -= 10;
195 $tooltip[] = acym_translation('ACYM_EMAIL_VERIFICATION_SCORE_DESC_TYPO');
196 }
197
198 if (!acym_isAcyCheckerInstalled()) {
199 $score -= 50;
200 $tooltip[] = acym_translation('ACYM_EMAIL_VERIFICATION_SCORE_DESC_CHECKER');
201 } else {
202 if ($this->config->get('email_verification') == 0) {
203 $score -= 50;
204 $tooltip[] = acym_translation('ACYM_EMAIL_VERIFICATION_SCORE_DESC_CHECKER');
205 }
206
207 $oneEnabled = false;
208
209 if ($this->config->get('email_verification', 0) != 0) {
210 $verificationOptions = [
211 'email_verification_non_existing',
212 'email_verification_disposable',
213 'email_verification_free',
214 'email_verification_role',
215 'email_verification_acceptall',
216 ];
217
218 foreach ($verificationOptions as $verificationOption) {
219 if ($this->config->get($verificationOption, 0) == 0) continue;
220
221 $oneEnabled = true;
222 break;
223 }
224 }
225
226 if (!$oneEnabled) $tooltip[] = acym_translation('ACYM_YOU_SHOULD_ENABLE_CHECK');
227 }
228
229 echo '('.acym_translationSprintf('ACYM_EMAIL_VERIFICATION_SCORE', $score).')';
230 if (!empty($tooltip)) {
231 echo acym_info(
232 [
233 'textShownInTooltip' => implode('<br />', $tooltip),
234 ]
235 );
236 }
237 ?>
238 </div>
239 </div>
240 <div class="grid-x margin-y">
241 <div class="cell medium-6 grid-x">
242 <?php
243 echo acym_switch(
244 'config[email_checkdomain]',
245 $this->config->get('email_checkdomain'),
246 acym_translation('ACYM_CHECK_DOMAIN_EXISTS'),
247 [],
248 'xlarge-9 large-6 small-9'
249 );
250 ?>
251 </div>
252 <div class="cell medium-6 grid-x">
253 <?php
254 echo acym_switch(
255 'config[email_spellcheck]',
256 $this->config->get('email_spellcheck'),
257 acym_translation('ACYM_SPELLCHECK_SUGGESTIONS').acym_info(['textShownInTooltip' => 'ACYM_SPELLCHECK_SUGGESTIONS_DESC']),
258 [],
259 'xlarge-9 large-6 small-9'
260 );
261 ?>
262 </div>
263 <div class="cell medium-6 grid-x">
264 <?php
265 echo acym_switch(
266 'config[email_confirmation]',
267 $this->config->get('email_confirmation'),
268 acym_translation('ACYM_ENABLE_EMAIL_CONFIRMATION_FOR_SUBSCRIPTION_FORM').acym_info(
269 ['textShownInTooltip' => 'ACYM_ENABLE_EMAIL_CONFIRMATION_FOR_SUBSCRIPTION_FORM_DESC']
270 ),
271 [],
272 'xlarge-9 large-6 small-9'
273 );
274 ?>
275 </div>
276 <div class="cell grid-x acychecker_ad">
277 <div class="cell ">
278 <h6>
279 <?php echo acym_translation('ACYM_ACYCHECKER_CONFIG_AD_TITLE'); ?>
280 <img class="acychecker_logo" alt="logo AcyChecker" src="<?php echo ACYM_IMAGES.'icons/logo_acychecker.png'; ?>" />
281 </h6>
282 </div>
283 <div class="cell xlarge-6 grid-x">
284 <?php
285 echo acym_switch(
286 'config[email_verification]',
287 $this->config->get('email_verification'),
288 acym_translation('ACYM_ACYCHECKER_CHECK_SUBSCRIPTION'),
289 [],
290 'xlarge-9 large-6 small-9',
291 'auto',
292 '',
293 $data['acychecker_installed'] ? 'email_verification' : null,
294 true,
295 '',
296 !$data['acychecker_installed']
297 );
298 ?>
299 </div>
300 <div id="email_verification" class="cell grid-x">
301 <label class="cell margin-top-1">
302 <?php echo acym_translation('ACYM_ACYCHECKER_CHECK_SUBSCRIPTION_BLOCK'); ?>
303 </label>
304 <div class="cell large-6 grid-x">
305 <?php
306 $verificationOptions = [
307 'email_verification_non_existing' => ['ACYM_ACYCHECKER_CHECK_SUBSCRIPTION_BLOCK_NON_EXISTING', ''],
308 'email_verification_disposable' => [
309 'ACYM_ACYCHECKER_CHECK_SUBSCRIPTION_BLOCK_DISPOSABLE',
310 'ACYM_ACYCHECKER_CHECK_SUBSCRIPTION_BLOCK_DISPOSABLE_DESC',
311 ],
312 'email_verification_free' => ['ACYM_ACYCHECKER_CHECK_SUBSCRIPTION_BLOCK_FREE', 'ACYM_ACYCHECKER_CHECK_SUBSCRIPTION_BLOCK_FREE_DESC'],
313 'email_verification_role' => ['ACYM_ACYCHECKER_CHECK_SUBSCRIPTION_BLOCK_ROLE', 'ACYM_ACYCHECKER_CHECK_SUBSCRIPTION_BLOCK_ROLE_DESC'],
314 'email_verification_acceptall' => [
315 'ACYM_ACYCHECKER_CHECK_SUBSCRIPTION_BLOCK_ACCEPT_ALL',
316 'ACYM_ACYCHECKER_CHECK_SUBSCRIPTION_BLOCK_ACCEPT_ALL_DESC',
317 ],
318 ];
319
320 foreach ($verificationOptions as $option => $label) {
321 echo '<div class="cell grid-x margin-bottom-1">';
322 $optionText = acym_translation($label[0]);
323 if (!empty($label[1])) {
324 $optionText .= acym_info(['textShownInTooltip' => $label[1]]);
325 }
326 echo acym_switch(
327 'config['.$option.']',
328 $this->config->get($option),
329 $optionText,
330 [],
331 'small-9',
332 'auto',
333 '',
334 null,
335 true,
336 '',
337 !$data['acychecker_installed']
338 );
339 echo '</div>';
340 }
341 ?>
342 </div>
343 <?php if (!$data['acychecker_installed']) { ?>
344 <div class="cell large-6 grid-x align-center">
345 <div class="cell large-6 grid-x align-center text-center">
346 <?php echo acym_translation('ACYM_ACYCHECKER_CONFIG_AD'); ?>
347 <a target="_blank" class="cell shrink button button-secondary" href="<?php echo $data['acychecker_get_link']; ?>">
348 <?php echo acym_translation('ACYM_ACYCHECKER_CONFIG_AD_BUTTON'); ?>
349 </a>
350 </div>
351 </div>
352 <?php } ?>
353 </div>
354 </div>
355 </div>
356 </div>
357 </div>
358
359 <div class="acym__content acym_area padding-horizontal-2 acym__configuration__advanced">
360 <div class="cell grid-x acym__configuration__showmore-head">
361 <div class="acym__title acym__title__secondary cell auto margin-bottom-0"><?php echo acym_translation('ACYM_CONFIGURATION_ADVANCED'); ?></div>
362 <div class="cell shrink">
363 <?php echo acym_showMore('acym__configuration__security__advanced__content'); ?>
364 </div>
365 </div>
366 <div id="acym__configuration__security__advanced__content" style="display:none;">
367 <?php if (!empty($data['acl'])) { ?>
368 <div class="margin-bottom-2">
369 <div class="acym__title acym__title__secondary"><?php echo acym_translation('ACYM_PERMISSIONS'); ?></div>
370 <div class="grid-x grid-margin-x margin-y">
371 <?php echo $data['acl']; ?>
372 <div class="cell grid-x">
373 <label class="cell large-3 medium-5 small-9">
374 <?php echo acym_translation('ACYM_ADVANCED_ACL').acym_info(['textShownInTooltip' => 'ACYM_ADVANCED_ACL_DESC']); ?>
375 </label>
376 <div class="cell auto">
377 <button type="button" class="button button-secondary" id="acym__configuration__acl__toggle"><?php echo acym_translation('ACYM_SHOW_HIDE'); ?></button>
378 </div>
379 </div>
380 </div>
381 <div class="grid-x grid-margin-x" id="acym__configuration__acl__zone">
382 <input type="hidden" name="json_acl" id="json_acl" />
383 <?php foreach ($data['acl_advanced'] as $page => $title) { ?>
384 <div class="cell grid-x acym__configuration__acl__row">
385 <div class="cell large-3 margin-left-1">
386 <?php echo acym_translation($title); ?>
387 </div>
388 <div class="cell auto">
389 <?php echo $data['aclType']->display($page); ?>
390 </div>
391 </div>
392 <?php } ?>
393 </div>
394 </div>
395 <?php } ?>
396 <?php if ('joomla' === ACYM_CMS) {
397 if (acym_level(ACYM_ENTERPRISE)) { ?>
398 <div class="margin-bottom-2">
399 <div class="acym__title acym__title__secondary"><?php echo acym_translation('ACYM_FRONTEND_EDITION'); ?></div>
400 <div class="grid-x grid-margin-x grid-margin-y">
401 <div class="cell large-3 small-12"><?php echo acym_translation('ACYM_FRONT_DELETE_BUTTON').acym_info(
402 ['textShownInTooltip' => 'ACYM_FRONT_DELETE_BUTTON_DESC']
403 ); ?></div>
404 <div class="cell auto">
405 <?php
406 echo acym_radio(
407 [
408 'delete' => acym_translation('ACYM_DELETE_THE_SUBSCRIBER'),
409 'removesub' => acym_translation('ACYM_REMOVE_USER_SUBSCRIPTION'),
410 ],
411 'config[frontend_delete_button]',
412 $this->config->get('frontend_delete_button', 'delete')
413 );
414 ?>
415 </div>
416 </div>
417 <div class="grid-x grid-margin-x grid-margin-y">
418 <div class="cell large-3"><?php echo acym_translation('ACYM_FRONT_FILTER_CAMPAIGNS'); ?></div>
419 <div class="cell large-9">
420 <?php
421 echo acym_select(
422 [
423 'own' => acym_translation('ACYM_FRONT_ONLY_CREATED_CAMPAIGNS'),
424 'allowed' => acym_translation('ACYM_FRONT_SENT_TO_ALLOWED_LISTS'),
425 ],
426 'config[front_campaigns_filter]',
427 $this->config->get('front_campaigns_filter', 'own'),
428 [
429 'class' => 'acym__select',
430 ]
431 );
432 ?>
433 </div>
434 </div>
435 </div>
436 <?php // __END__enterprise_
437 }
438 } ?>
439 <div class="margin-bottom-2">
440 <div class="acym__title acym__title__secondary"><?php echo acym_translation('ACYM_FILES'); ?></div>
441 <div class="grid-x grid-margin-y margin-y">
442
443 <label class="cell large-3" for="allowed_files">
444 <?php echo acym_translation('ACYM_ALLOWED_FILES').acym_info(['textShownInTooltip' => 'ACYM_ALLOWED_FILES_DESC']); ?>
445 </label>
446 <input class="cell auto"
447 id="allowed_files"
448 type="text"
449 name="config[allowed_files]"
450 value="<?php echo acym_escape($this->config->get('allowed_files')); ?>" />
451 </div>
452 <div class="grid-x grid-margin-y margin-y">
453 <label class="cell large-3" for="uploadfolder">
454 <?php echo acym_translation('ACYM_UPLOAD_FOLDER').acym_info(['textShownInTooltip' => 'ACYM_UPLOAD_FOLDER_DESC']); ?>
455 </label>
456 <input class="cell large-9" id="uploadfolder" type="text" name="config[uploadfolder]" value="<?php echo acym_escape($this->config->get('uploadfolder')); ?>" />
457 </div>
458 <?php
459 ?>
460 <div class="cell grid-x grid-margin-y margin-y acym_vcenter">
461 <label class="cell large-3" for="php_overrides">
462 <?php echo acym_translation('ACYM_ALLOW_PHP_OVERRIDES').acym_info(['textShownInTooltip' => 'ACYM_ALLOW_PHP_OVERRIDES_DESC']); ?>
463 </label>
464 <div class="cell grid-x large-9">
465 <?php
466 echo acym_switch(
467 'config[php_overrides]',
468 $this->config->get('php_overrides', 0)
469 );
470 ?>
471 </div>
472 </div>
473 </div>
474 <div class="acym__configuration__check-database margin-bottom-2">
475 <div class="acym__title acym__title__secondary"><?php echo acym_translation('ACYM_REDIRECTIONS'); ?></div>
476 <div class="grid-x grid-margin-x margin-y">
477 <div class="cell grid-x acym_vcenter">
478 <label class="cell large-3" for="allowed_files">
479 <?php echo acym_translation('ACYM_ALLOWED_HOSTS').acym_info(['textShownInTooltip' => 'ACYM_ALLOWED_HOSTS_DESC']); ?>
480 </label>
481 <div class="cell grid-x large-9">
482 <?php
483 $allowedHosts = $this->config->get('allowed_hosts', '');
484 if (empty($allowedHosts)) {
485 $allowedHosts = [];
486 } else {
487 $allowedHosts = explode(',', $allowedHosts);
488 }
489 $allowedHostsFormatted = [];
490 if (!empty($allowedHosts)) {
491 foreach ($allowedHosts as $host) {
492 $allowedHostsFormatted[$host] = $host;
493 }
494 }
495 echo acym_selectMultiple(
496 $allowedHostsFormatted,
497 'config[allowed_hosts]',
498 $allowedHosts,
499 ['class' => 'acym__allowed__hosts__select', 'placeholder' => acym_translation('ACYM_ENTER_NEW_DOMAIN')]
500 );
501 ?>
502 </div>
503 </div>
504 <div class="cell grid-x acym_vcenter">
505 <label class="cell large-3" for="allowed_files">
506 <?php echo acym_translation('ACYM_ACTIVATE_AUTOLOGIN_URLS').acym_info(['textShownInTooltip' => 'ACYM_ACTIVATE_AUTOLOGIN_URLS_DESCRIPTION']); ?>
507 </label>
508 <div class="cell grid-x large-9">
509 <?php
510 echo acym_switch(
511 'config[autologin_urls]',
512 $this->config->get('autologin_urls', 0),
513 '',
514 [],
515 '',
516 '',
517 '',
518 'autologin_urls_duration'
519 );
520 ?>
521 </div>
522 </div>
523 <div class="cell grid-x acym_vcenter" id="autologin_urls_duration">
524 <label class="cell large-3">
525 <?php echo acym_translation('ACYM_AUTOLOGIN_TOKEN_DURATION').acym_info(['textShownInTooltip' => 'ACYM_AUTOLOGIN_TOKEN_DURATION_DESC']); ?>
526 </label>
527 <div class="cell large-9">
528 <input type="number"
529 name="config[autologin_token_duration]"
530 value="<?php echo intval($this->config->get('autologin_token_duration', 48)); ?>"
531 min="1"
532 class="intext_input" />
533 </div>
534 </div>
535 </div>
536 </div>
537 <div class="margin-bottom-2">
538 <div class="acym__title acym__title__secondary"><?php echo acym_translation('ACYM_CRON'); ?></div>
539 <div class="grid-x grid-margin-x margin-y">
540 <div class="cell grid-x acym_vcenter">
541 <label class="cell large-3" for="cron_security">
542 <?php echo acym_translation('ACYM_ADD_SECURITY_KEY_CRON'); ?>
543 </label>
544 <div class="cell grid-x large-9">
545 <?php
546 echo acym_switch(
547 'config[cron_security]',
548 $this->config->get('cron_security', 0)
549 );
550 ?>
551 </div>
552 </div>
553 </div>
554 <div class="grid-x grid-margin-y margin-y">
555 <label class="cell large-3" for="cron_key">
556 <?php echo acym_translation('ACYM_CRON_KEY').acym_info(['textShownInTooltip' => 'ACYM_CRON_KEY_DESC']); ?>
557 </label>
558 <input class="cell large-9"
559 id="cron_key"
560 type="text"
561 name="config[cron_key]"
562 value="<?php echo acym_escape($this->config->get('cron_key', $this->config->get('security_key', ''))); ?>" />
563 </div>
564 </div>
565
566 <div class="margin-bottom-2">
567 <div class="acym__title acym__title__secondary"><?php echo acym_translation('ACYM_URL'); ?></div>
568 <div class="grid-x grid-margin-x margin-y">
569 <div class="cell grid-x acym_vcenter">
570 <label class="cell large-3" for="different_admin_url_toggle">
571 <?php echo acym_translation('ACYM_FRONT_BACK_URL'); ?>
572 </label>
573 <div class="cell grid-x large-9">
574 <?php
575 echo acym_switch(
576 'config[different_admin_url_toggle]',
577 $this->config->get('different_admin_url_toggle', 0),
578 '',
579 [],
580 '',
581 '',
582 '',
583 'cron_security_config'
584 );
585 ?>
586 </div>
587 </div>
588 </div>
589 <div class="grid-x grid-margin-y margin-y" id="cron_security_config">
590 <div class="cell grid-x acym_vcenter">
591 <label class="cell large-3" for="different_admin_url_value">
592 <?php echo acym_translation('ACYM_BACKEND_URL'); ?>
593 </label>
594 <?php $differentUrl = $this->config->get('different_admin_url_value'); ?>
595 <input class="cell large-9"
596 id="different_admin_url_value"
597 type="text"
598 name="config[different_admin_url_value]"
599 placeholder="<?php echo acym_escape(rtrim(ACYM_LIVE, '/')); ?>"
600 value="<?php echo acym_escape($differentUrl); ?>" />
601 </div>
602 </div>
603 </div>
604
605 <div class="acym__configuration__check-database margin-bottom-2">
606 <div class="acym__title acym__title__secondary"><?php echo acym_translation('ACYM_CONFIGURATION_DB_MAINTENANCE'); ?></div>
607 <div class="grid-x grid-margin-x margin-y">
608 <div class="cell grid-x">
609 <?php
610 echo acym_tooltip(
611 [
612 'hoveredText' => '<button type="button" class="cell medium-shrink button button-secondary" id="checkdb_button">'.acym_translation(
613 'ACYM_CHECK_DB'
614 ).'</button>',
615 'textShownInTooltip' => acym_translation('ACYM_INTRO_CHECK_DATABASE'),
616 'classContainer' => 'cell medium-shrink',
617 ]
618 );
619 ?>
620 <div class="cell auto padding-left-1" id="checkdb_report"></div>
621 </div>
622 <?php if (acym_existsAcyMailing59()) { ?>
623 <div class="cell grid-x">
624 <button type="submit" data-task="redomigration" class="cell medium-shrink button button-secondary acy_button_submit">
625 <?php echo acym_translation('ACYM_REDO_MIGRATION'); ?>
626 </button>
627 </div>
628 <?php } ?>
629 </div>
630 </div>
631
632 <?php if (acym_isLogFileErrorExist()) { ?>
633 <div class="acym__configuration__log">
634 <div class="acym__title acym__title__secondary"><?php echo acym_translation('ACYM_LOG_FILE'); ?></div>
635 <div class="grid-x grid-margin-x margin-y">
636 <div class="cell grid-x">
637 <div class="cell grid-x">
638 <?php
639 echo acym_modal(
640 acym_translation('ACYM_REPORT_SEE'),
641 '',
642 null,
643 [],
644 [
645 'class' => 'button button-secondary',
646 'data-ajax' => 'true',
647 'data-iframe' => '&ctrl=configuration&task=seeLogs&filename='.acym_getErrorLogFilename(),
648 ]
649 );
650 ?>
651 </div>
652 </div>
653 </div>
654 </div>
655 <?php } ?>
656 </div>
657 </div>
658