File "widget_networkattacks.php"
Full Path: /home/itfekxul/theolympicssports.com/wp-content/plugins/wordfence/lib/dashboard/widget_networkattacks.php
File size: 7.49 KB
MIME-type: text/x-php
Charset: utf-8
<?php if (!defined('WORDFENCE_VERSION')) { exit; } ?>
<div class="wf-row">
<div class="wf-col-xs-12">
<div class="wf-dashboard-item active">
<div class="wf-dashboard-item-inner">
<div class="wf-dashboard-item-content">
<div class="wf-dashboard-item-title">
<strong><?php esc_html_e('Total Attacks Blocked:', 'wordfence'); ?> </strong><?php esc_html_e('Wordfence Network', 'wordfence'); ?>
</div>
<div class="wf-dashboard-item-action"><div class="wf-dashboard-item-action-disclosure"></div></div>
</div>
</div>
<div class="wf-dashboard-item-extra">
<ul class="wf-dashboard-item-list">
<li>
<?php if ($d->networkBlock24h === null): ?>
<div class="wf-dashboard-item-list-text"><p><em><?php esc_html_e('Blocked attack counts not available yet.', 'wordfence'); ?></em></p></div>
<?php else: ?>
<div class="wf-dashboard-graph-wrapper">
<div class="wf-dashboard-toggle-btns">
<ul class="wf-pagination wf-pagination-sm">
<li class="wf-active"><a href="#" class="wf-dashboard-graph-attacks" data-grouping="24h" role="button"><?php esc_html_e('24 Hours', 'wordfence'); ?></a></li>
<li><a href="#" class="wf-dashboard-graph-attacks" data-grouping="30d" role="button"><?php esc_html_e('30 Days', 'wordfence'); ?></a></li>
</ul>
</div>
<div class="wf-dashboard-network-blocks"><canvas id="wf-dashboard-network-blocks-24h"></canvas></div>
<div class="wf-dashboard-network-blocks wf-hidden"><canvas id="wf-dashboard-network-blocks-7d"></canvas></div>
<div class="wf-dashboard-network-blocks wf-hidden"><canvas id="wf-dashboard-network-blocks-30d"></canvas></div>
</div>
<script type="application/javascript">
<?php
$totalAttacksString = json_encode(__("Total Attacks", 'wordfence'));
$styling = <<<STYLING
label: $totalAttacksString,
fill: false,
lineTension: 0.1,
backgroundColor: "rgba(75,192,192,0.4)",
borderColor: "#16bc9b",
borderCapStyle: 'butt',
borderDash: [],
borderDashOffset: 0.0,
borderJoinStyle: 'miter',
pointBorderColor: "rgba(75,192,192,1)",
pointBackgroundColor: "#fff",
pointBorderWidth: 1,
pointHoverRadius: 5,
pointHoverBackgroundColor: "rgba(75,192,192,1)",
pointHoverBorderColor: "rgba(220,220,220,1)",
pointHoverBorderWidth: 2,
pointRadius: 1,
pointHitRadius: 10,
spanGaps: false,
STYLING;
?>
(function($) {
$(document).ready(function() {
new Chart($('#wf-dashboard-network-blocks-24h'), {
type: 'line',
data: {
<?php
$blocks = $d->networkBlock24h;
$labels = array();
$values = array();
foreach ($blocks as $b) {
$values[] = $b['c'];
$labels[] = "'" . wfUtils::formatLocalTime('g a', $b['t']) . "'";
}
?>
labels: [<?php echo implode(',', $labels); ?>],
datasets: [
{
<?php echo $styling; ?>
data: [<?php echo implode(',', $values) ?>]
}
]
},
options: {
scales: {
y: {
beginAtZero: true,
ticks: {
callback: function(value, index, values) {
return value.toLocaleString();
}
}
}
},
tooltips: {
callbacks: {
label: function(tooltipItem, data) {
var datasetLabel = data.datasets[tooltipItem.datasetIndex].label || 'Other';
var label = parseInt(tooltipItem.yLabel).toLocaleString();
return datasetLabel + ': ' + label;
}
}
}
}
});
new Chart($('#wf-dashboard-network-blocks-7d'), {
type: 'line',
data: {
<?php
$blocks = $d->networkBlock7d;
$labels = array();
$values = array();
foreach ($blocks as $b) {
$values[] = $b['c'];
$labels[] = "'" . wfUtils::formatLocalTime('M j', $b['t']) . "'";
}
?>
labels: [<?php echo implode(',', $labels); ?>],
datasets: [
{
<?php echo $styling; ?>
data: [<?php echo implode(',', $values) ?>]
}
]
},
options: {
scales: {
y: {
beginAtZero: true,
ticks: {
callback: function(value, index, values) {
return value.toLocaleString();
}
}
}
},
tooltips: {
callbacks: {
label: function(tooltipItem, data) {
var datasetLabel = data.datasets[tooltipItem.datasetIndex].label || 'Other';
var label = parseInt(tooltipItem.yLabel).toLocaleString();
return datasetLabel + ': ' + label;
}
}
}
}
});
new Chart($('#wf-dashboard-network-blocks-30d'), {
type: 'line',
data: {
<?php
$blocks = $d->networkBlock30d;
$labels = array();
$values = array();
foreach ($blocks as $b) {
$values[] = $b['c'];
$labels[] = "'" . wfUtils::formatLocalTime('M j', $b['t']) . "'";
}
?>
labels: [<?php echo implode(',', $labels); ?>],
datasets: [
{
<?php echo $styling; ?>
data: [<?php echo implode(',', $values) ?>]
}
]
},
options: {
scales: {
y: {
beginAtZero: true,
ticks: {
callback: function(value, index, values) {
return value.toLocaleString();
}
}
}
},
tooltips: {
callbacks: {
label: function(tooltipItem, data) {
var datasetLabel = data.datasets[tooltipItem.datasetIndex].label || 'Other';
var label = parseInt(tooltipItem.yLabel).toLocaleString();
return datasetLabel + ': ' + label;
}
}
}
}
});
});
$('.wf-dashboard-graph-attacks').on('click', function(e) {
e.preventDefault();
e.stopPropagation();
$(this).closest('ul').find('li').removeClass('wf-active');
$(this).closest('li').addClass('wf-active');
$('.wf-dashboard-network-blocks').addClass('wf-hidden');
$('#wf-dashboard-network-blocks-' + $(this).data('grouping')).closest('.wf-dashboard-network-blocks').removeClass('wf-hidden');
});
})(jQuery);
</script>
<?php endif; ?>
</li>
</ul>
<p class="wf-dashboard-last-updated"><?php echo esc_html(sprintf(
/* translators: Time since. Example: 1 minute, 2 seconds */
__('Last Updated: %s ago', 'wordfence'), wfUtils::makeTimeAgo(time() - $d->lastGenerated))); ?></p>
</div>
</div>
</div>
</div>