: str_replace(): Passing null to parameter #2 ($replace) of type array|string is deprecated in
<div class="wf-live-traffic-none" data-bind="if: listings().length == 0">
<?php esc_html_e('No requests to report yet.', 'wordfence') ?>
<script type="application/javascript">
$('.wf-option.wf-option-toggled-boolean-switch[data-option="liveTraf_displayExpandedRecords"]').on('change', function() {
delete WFAD.pendingChanges['liveTraf_displayExpandedRecords'];
var isOn = $(this).find('.wf-boolean-switch').hasClass('wf-active');
WFAD.setOption($(this).data('option'), (isOn ? $(this).data('enabledValue') : $(this).data('disabledValue')), function() {
$('#wf-live-traffic').toggleClass('wf-live-traffic-display-expanded', isOn);
$(document).on('heartbeat-tick', function(heartbeat) {
WFAD.serverMicrotime = heartbeat.timeStamp / 1000;
<div id="wf-live-traffic-util-overlay-wrapper" style="display: none">
<div class="wf-live-traffic-util-overlay">
<div class="wf-live-traffic-util-overlay-header"></div>
<div class="wf-live-traffic-util-overlay-body"></div>
<span class="wf-live-traffic-util-overlay-close wf-ion-android-close"></span>
<div id="wfrawhtml"></div>
<script type="text/x-jquery-template" id="wf-live-traffic-hostname-template">
<span title="${ip}">${(ip && ip.length > 22) ? '...' + ip.substring(ip.length - 22) : ip}</span>
<?php if (wfOnboardingController::willShowNewTour(wfOnboardingController::TOUR_LIVE_TRAFFIC)): ?>
<script type="application/javascript">
WFAD.tour1 = function() {
WFAD.tour('wfNewTour1', 'wf-live-traffic', 'bottom', 'bottom', null, WFAD.tourComplete);
WFAD.tourComplete = function() { WFAD.tourFinish('<?php echo esc_attr(wfOnboardingController::TOUR_LIVE_TRAFFIC); ?>'); };
<?php if (wfOnboardingController::shouldShowNewTour(wfOnboardingController::TOUR_LIVE_TRAFFIC)): ?>
if (!WFAD.isSmallScreen) { WFAD.tour1(); }
<script type="text/x-jquery-template" id="wfNewTour1">
<h3><?php esc_html_e('Live Traffic', 'wordfence'); ?></h3>
<p><?php echo wp_kses(__('Live traffic defaults to a summary view of all security-related traffic. Details are viewable by clicking anywhere within the summary record. To switch to the expanded view, click the <strong>Expand All Records</strong> switch.', 'wordfence'), array('strong'=>array())); ?></p>
<div class="wf-pointer-footer">
<ul class="wf-tour-pagination">
<li class="wf-active">•</li>
<div id="wf-tour-continue"><a href="#" class="wf-onboarding-btn wf-onboarding-btn-primary" role="button"><?php esc_html_e('Got it', 'wordfence'); ?></a></div>
<div id="wf-tour-close"><a href="#" role="button"><i class="wf-fa wf-fa-times-circle" aria-hidden="true"></i></a></div>
<?php if (wfOnboardingController::willShowUpgradeTour(wfOnboardingController::TOUR_LIVE_TRAFFIC)): ?>
<script type="application/javascript">
WFAD.tour1 = function() {
WFAD.tour('wfUpgradeTour1', 'wf-live-traffic', 'bottom', 'bottom', null, WFAD.tourComplete);
WFAD.tourComplete = function() { WFAD.tourFinish('<?php echo esc_attr(wfOnboardingController::TOUR_LIVE_TRAFFIC); ?>'); };
<?php if (wfOnboardingController::shouldShowUpgradeTour(wfOnboardingController::TOUR_LIVE_TRAFFIC)): ?>
if (!WFAD.isSmallScreen) { WFAD.tour1(); }
<script type="text/x-jquery-template" id="wfUpgradeTour1">
<h3><?php esc_html_e('Live Traffic', 'wordfence'); ?></h3>
<p><?php echo wp_kses(__('Live traffic now defaults to a summary view. Details are viewable by clicking anywhere within the summary record. To switch to the expanded view, click the <strong>Expand All Records</strong> switch. New installations will only log security-related traffic by default, though your previous setting has been preserved.', 'wordfence'), array('strong'=>array())); ?></p>
<div class="wf-pointer-footer">
<ul class="wf-tour-pagination">
<li class="wf-active">•</li>
<div id="wf-tour-continue"><a href="#" role="button" class="wf-onboarding-btn wf-onboarding-btn-primary"><?php esc_html_e('Got it', 'wordfence'); ?></a></div>
<div id="wf-tour-close"><a href="#" role="button"><i class="wf-fa wf-fa-times-circle" aria-hidden="true"></i></a></div>