You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
59 lines
2.5 KiB
59 lines
2.5 KiB
<?php |
|
if (!defined('WORDFENCE_VERSION')) { exit; } |
|
?> |
|
<ul id="wf-option-wafRules" class="wf-option wf-flex-vertical wf-flex-align-left"> |
|
<li class="wf-option-title"><strong><?php _e('Rules', 'wordfence'); ?></strong> <a href="<?php echo wfSupportController::esc_supportURL(wfSupportController::ITEM_FIREWALL_WAF_RULES); ?>" target="_blank" rel="noopener noreferrer" class="wf-inline-help"><i class="wf-fa wf-fa-question-circle-o" aria-hidden="true"></i></a></li> |
|
<li class="wf-option-subtitle"><?php echo ($firewall->isSubDirectoryInstallation() ? __('You are currently running the WAF from another WordPress installation. These rules can be disabled or enabled once you configure the firewall to run correctly on this site.', 'wordfence') : ''); ?></li> |
|
<li id="waf-rules-wrapper" class="wf-add-top"></li> |
|
<?php if (!WFWAF_SUBDIRECTORY_INSTALL): ?> |
|
<li id="waf-rules-manual-update"> |
|
<ul class="wf-option wf-option-footer wf-padding-no-bottom"> |
|
<li><a class="wf-btn wf-btn-default waf-rules-refresh" href="#"><?php _e('Manually Refresh Rules', 'wordfence'); ?></a> </li> |
|
<li class="wf-padding-add-top-xs-small"><em id="waf-rules-next-update"></em></li> |
|
</ul> |
|
<script type="application/javascript"> |
|
(function($) { |
|
$('.waf-rules-refresh').on('click', function(e) { |
|
e.preventDefault(); |
|
e.stopPropagation(); |
|
|
|
WFAD.wafUpdateRules(); |
|
}); |
|
})(jQuery); |
|
<?php |
|
try { |
|
$lastUpdated = wfWAF::getInstance()->getStorageEngine()->getConfig('rulesLastUpdated', null, 'transient'); |
|
|
|
$nextUpdate = PHP_INT_MAX; |
|
$cron = (array) wfWAF::getInstance()->getStorageEngine()->getConfig('cron', null, 'livewaf'); |
|
if (is_array($cron)) { |
|
/** @var wfWAFCronEvent $event */ |
|
foreach ($cron as $index => $event) { |
|
if ($event instanceof wfWAFCronFetchRulesEvent) { |
|
$event->setWaf(wfWAF::getInstance()); |
|
if (!$event->isInPast()) { |
|
$nextUpdate = min($nextUpdate, $event->getFireTime()); |
|
} |
|
} |
|
} |
|
} |
|
} |
|
catch (wfWAFStorageFileException $e) { |
|
error_log($e->getMessage()); |
|
} |
|
catch (wfWAFStorageEngineMySQLiException $e) { |
|
error_log($e->getMessage()); |
|
} |
|
if (!empty($lastUpdated)): ?> |
|
var lastUpdated = <?php echo (int) $lastUpdated ?>; |
|
WFAD.renderWAFRulesLastUpdated(new Date(lastUpdated * 1000)); |
|
<?php endif ?> |
|
|
|
<?php if ($nextUpdate < PHP_INT_MAX): ?> |
|
var nextUpdate = <?php echo (int) $nextUpdate ?>; |
|
WFAD.renderWAFRulesNextUpdate(new Date(nextUpdate * 1000)); |
|
<?php endif ?> |
|
</script> |
|
</li> |
|
<?php endif ?> |
|
</ul>
|
|
|