- New: License section in Settings -- a 30-day trial with every feature active starts automatically, no registration required to start. Protection continues regardless of license status; the trial only affects what's shown, never what's enforced. Enter a license key to keep Premium features once the trial ends. This is the first release where the license system is actually visible anywhere -- it existed in the codebase before but had no entry form and was excluded from every published build. - Intelligence page: rewrote descriptions in plain language about what each thing does for your site's protection, not internal implementation details (was showing raw technical descriptions like a "signature corpus" and "RIR delegation database" range counts). Verified end-to-end before publishing (not just code review): a real signup and license created on the actual companion license service, then submitted through the real Settings page form exactly as a customer would -- status went from "TRIAL -- 30 DAYS LEFT" to "LICENSED" on both the Settings and Overview pages. This exact ZIP was also installed fresh and every admin page loaded with zero errors before this commit. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
107 lines
5.6 KiB
PHP
107 lines
5.6 KiB
PHP
<?php
|
|
|
|
if ( ! defined( 'ABSPATH' ) ) {
|
|
exit;
|
|
}
|
|
|
|
$argus_active_page = 'intelligence';
|
|
include ARGUS_WPD_DIR . 'admin/views/partials/header.php';
|
|
?>
|
|
|
|
<h1 class="argus-wpd-page-title"><?php esc_html_e( 'Intelligence', 'argus-wordpress-defence' ); ?></h1>
|
|
<p style="color:var(--muted);font-size:13px;margin:0 0 24px;"><?php esc_html_e( 'Threat intelligence sources feeding ARGUS Defence.', 'argus-wordpress-defence' ); ?></p>
|
|
|
|
<div class="argus-wpd-not-connected">
|
|
<span class="icon"><?php echo 'active' === $anis_status['protection'] ? '🛡' : '🔌'; ?></span>
|
|
<div>
|
|
<h3>
|
|
<?php
|
|
if ( 'active' === $anis_status['protection'] ) {
|
|
esc_html_e( 'GLOBAL THREAT INTELLIGENCE: ACTIVE', 'argus-wordpress-defence' );
|
|
} elseif ( 'limited' === $anis_status['protection'] ) {
|
|
esc_html_e( 'GLOBAL THREAT INTELLIGENCE: TEMPORARILY LIMITED', 'argus-wordpress-defence' );
|
|
} else {
|
|
esc_html_e( 'GLOBAL THREAT INTELLIGENCE: CONNECTING', 'argus-wordpress-defence' );
|
|
}
|
|
?>
|
|
</h3>
|
|
<p>
|
|
<?php if ( 'active' === $anis_status['protection'] ) : ?>
|
|
<?php esc_html_e( 'ARGUS Defence is automatically connected to the ARGUS threat intelligence network. Continuously updated intelligence helps identify and block malicious sources detected across the ARGUS security network. Everything below is this site\'s own local intelligence.', 'argus-wordpress-defence' ); ?>
|
|
<?php elseif ( 'limited' === $anis_status['protection'] ) : ?>
|
|
<?php esc_html_e( 'ARGUS Defence is continuing to protect your website while intelligence connectivity is being restored automatically.', 'argus-wordpress-defence' ); ?>
|
|
<?php else : ?>
|
|
<?php esc_html_e( 'ARGUS Defence is connecting to the global threat intelligence network -- this happens automatically, no action needed. Everything below is this site\'s own local intelligence, already fully active.', 'argus-wordpress-defence' ); ?>
|
|
<?php endif; ?>
|
|
</p>
|
|
<p style="margin-top:10px;"><a href="<?php echo esc_url( admin_url( 'admin.php?page=argus-wpd-anis' ) ); ?>" class="button"><?php esc_html_e( 'View Threat Intelligence Status', 'argus-wordpress-defence' ); ?></a></p>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="argus-wpd-tile-row">
|
|
<div class="argus-wpd-tile">
|
|
<div class="argus-wpd-tile-label"><?php esc_html_e( 'Firewall', 'argus-wordpress-defence' ); ?></div>
|
|
<div class="argus-wpd-tile-value" style="font-size:16px;"><span style="color:var(--emerald)"><?php esc_html_e( 'Protecting', 'argus-wordpress-defence' ); ?></span></div>
|
|
</div>
|
|
<div class="argus-wpd-tile">
|
|
<div class="argus-wpd-tile-label"><?php esc_html_e( 'Vulnerability Protection', 'argus-wordpress-defence' ); ?></div>
|
|
<div class="argus-wpd-tile-value" style="font-size:16px;"><span style="color:var(--emerald)"><?php esc_html_e( 'Protecting', 'argus-wordpress-defence' ); ?></span></div>
|
|
</div>
|
|
<div class="argus-wpd-tile">
|
|
<div class="argus-wpd-tile-label"><?php esc_html_e( 'Location Awareness', 'argus-wordpress-defence' ); ?></div>
|
|
<div class="argus-wpd-tile-value" style="font-size:16px;">
|
|
<?php if ( $geoip_status && ! empty( $geoip_status['range_count'] ) ) : ?>
|
|
<span style="color:var(--emerald)"><?php esc_html_e( 'Active', 'argus-wordpress-defence' ); ?></span>
|
|
<?php else : ?>
|
|
<span style="color:var(--faint)"><?php esc_html_e( 'Activating', 'argus-wordpress-defence' ); ?></span>
|
|
<?php endif; ?>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="argus-wpd-panel">
|
|
<h2><?php esc_html_e( 'What\'s Protecting Your Site', 'argus-wordpress-defence' ); ?></h2>
|
|
<div class="argus-wpd-ioc-row">
|
|
<span class="argus-wpd-ioc-type"><?php esc_html_e( 'Firewall', 'argus-wordpress-defence' ); ?></span>
|
|
<span class="argus-wpd-ioc-desc"><?php esc_html_e( 'Blocks malicious requests -- SQL injection, cross-site scripting, remote code execution, path traversal, and more -- before they reach your site. Kept up to date automatically.', 'argus-wordpress-defence' ); ?></span>
|
|
</div>
|
|
<div class="argus-wpd-ioc-row">
|
|
<span class="argus-wpd-ioc-type"><?php esc_html_e( 'Vulnerability Protection', 'argus-wordpress-defence' ); ?></span>
|
|
<span class="argus-wpd-ioc-desc">
|
|
<?php
|
|
echo esc_html(
|
|
$vuln_row_count > 0
|
|
? __( 'Actively protecting your installed plugins and themes by checking them against known security issues.', 'argus-wordpress-defence' )
|
|
: __( 'Actively protecting WordPress core against known security issues. Plugin and theme protection activates automatically as new information becomes available.', 'argus-wordpress-defence' )
|
|
);
|
|
?>
|
|
</span>
|
|
</div>
|
|
<div class="argus-wpd-ioc-row">
|
|
<span class="argus-wpd-ioc-type"><?php esc_html_e( 'Location Awareness', 'argus-wordpress-defence' ); ?></span>
|
|
<span class="argus-wpd-ioc-desc">
|
|
<?php
|
|
if ( $geoip_status && ! empty( $geoip_status['range_count'] ) ) {
|
|
esc_html_e( 'Identifies where threats are coming from automatically, with no external service or configuration required.', 'argus-wordpress-defence' );
|
|
} else {
|
|
esc_html_e( 'Activating automatically -- no action needed.', 'argus-wordpress-defence' );
|
|
}
|
|
?>
|
|
</span>
|
|
</div>
|
|
<div class="argus-wpd-ioc-row">
|
|
<span class="argus-wpd-ioc-type"><?php esc_html_e( 'Global Threat Network', 'argus-wordpress-defence' ); ?></span>
|
|
<span class="argus-wpd-ioc-desc">
|
|
<?php
|
|
if ( 'not_connected' === $anis_status['protection'] ) {
|
|
esc_html_e( 'Connecting automatically -- no action needed.', 'argus-wordpress-defence' );
|
|
} else {
|
|
esc_html_e( 'Helps identify and block malicious sources seen across other protected sites, automatically.', 'argus-wordpress-defence' );
|
|
}
|
|
?>
|
|
</span>
|
|
</div>
|
|
</div>
|
|
|
|
<?php include ARGUS_WPD_DIR . 'admin/views/partials/footer.php'; ?>
|