PluginProbe ʕ •ᴥ•ʔ
Wordfence Security – Firewall, Malware Scan, and Login Security / 7.4.4
Wordfence Security – Firewall, Malware Scan, and Login Security v7.4.4
8.2.2 8.2.1 8.2.0 3.7.1 3.7.2 3.8.1 3.8.2 3.8.3 3.8.4 3.8.5 3.8.6 3.8.7 3.8.8 3.8.9 3.9.1 4.0.1 4.0.2 4.0.3 5.0.1 5.0.2 5.0.3 5.0.4 5.0.5 5.0.6 5.0.7 5.0.8 5.0.9 5.1.1 5.1.2 5.1.4 5.1.5 5.1.6 5.1.7 5.1.8 5.1.9 5.2.1 5.2.2 5.2.3 5.2.4 5.2.5 5.2.6 5.2.7 5.2.8 5.2.9 5.3.1 5.3.10 5.3.11 5.3.12 5.3.2 5.3.3 5.3.4 5.3.5 5.3.6 5.3.7 5.3.8 5.3.9 6.0.1 6.0.10 6.0.11 6.0.12 6.0.14 6.0.15 6.0.16 6.0.17 6.0.18 6.0.19 6.0.2 6.0.20 6.0.21 6.0.22 6.0.23 6.0.24 6.0.25 6.0.3 6.0.4 6.0.5 6.0.6 6.0.7 6.0.8 6.0.9 6.1.1 6.1.10 6.1.11 6.1.12 6.1.14 6.1.15 6.1.16 6.1.17 6.1.2 6.1.3 6.1.4 6.1.5 6.1.6 6.1.7 6.1.8 6.1.9 6.2.0 6.2.1 6.2.10 6.2.2 6.2.3 6.2.4 6.2.5 6.2.6 6.2.7 6.2.8 6.2.9 6.3.0 6.3.1 6.3.10 6.3.11 6.3.12 6.3.14 6.3.15 6.3.16 6.3.17 6.3.18 6.3.19 6.3.2 6.3.20 6.3.21 6.3.22 6.3.3 6.3.4 6.3.5 6.3.6 6.3.7 6.3.8 6.3.9 7.0.1 7.0.2 7.0.3 7.0.4 7.0.5 7.1.0 7.1.1 7.1.10 7.1.11 7.1.12 7.1.14 7.1.15 7.1.16 7.1.17 7.1.18 7.1.19 7.1.2 7.1.20 7.1.3 7.1.4 7.1.5 7.1.6 7.1.7 7.1.8 7.1.9 7.10.0 7.10.1 7.10.2 7.10.3 7.10.4 7.10.5 7.10.6 7.10.7 7.11.0 7.11.1 7.11.2 7.11.3 7.11.4 7.11.5 7.11.6 7.11.7 7.2.1 7.2.2 7.2.3 7.2.4 7.2.5 7.3.1 7.3.2 7.3.3 7.3.4 7.3.5 7.3.6 7.4.0 7.4.1 7.4.10 7.4.11 7.4.12 7.4.14 7.4.2 7.4.3 trunk 7.4.4 1.1 7.4.5 1.2 7.4.6 1.3 7.4.7 1.3.1 7.4.8 1.3.2 7.4.9 1.3.3 7.5.0 1.4.2 7.5.1 1.4.3 7.5.10 1.4.4 7.5.11 1.4.5 7.5.2 1.4.6 7.5.3 1.4.7 7.5.4 1.4.8 7.5.5 1.5.1 7.5.6 1.5.2 7.5.7 1.5.3 7.5.8 1.5.4 7.5.9 1.5.5 7.6.0 1.5.6 7.6.1 2.0.1 7.6.2 2.0.2 7.7.0 2.0.3 7.7.1 2.0.5 7.8.0 2.0.6 7.8.1 2.0.7 7.8.2 2.1.0 7.9.0 2.1.1 7.9.1 2.1.2 7.9.2 2.1.3 7.9.3 2.1.4 8.0.0 2.1.5 8.0.1 3.0.2 8.0.2 3.0.3 8.0.3 3.0.4 8.0.4 3.0.5 8.0.5 3.0.6 8.1.0 3.0.7 8.1.1 3.0.8 8.1.2 3.0.9 8.1.3 3.1.0 8.1.4 3.1.1 v1.4.1 3.1.2 3.1.4 3.1.6 3.2.1 3.2.3 3.2.4 3.2.5 3.2.6 3.2.7 3.3.2 3.3.3 3.3.4 3.3.5 3.3.6 3.3.7 3.4.1 3.4.4 3.4.5 3.5.1 3.5.2 3.6.1 3.6.3 3.6.4 3.6.5 3.6.6 3.6.7 3.6.8 3.6.9
wordfence / lib / menu_scanner.php
wordfence / lib Last commit date
Diff 6 years ago dashboard 7 years ago rest-api 6 years ago .htaccess 7 years ago Diff.php 6 years ago GeoLite2-Country.mmdb 6 years ago IPTraf.php 6 years ago IPTrafList.php 7 years ago WFLSPHP52Compatability.php 6 years ago compat.php 8 years ago conntest.php 7 years ago cronview.php 8 years ago dbview.php 8 years ago diffResult.php 8 years ago email_genericAlert.php 7 years ago email_newIssues.php 6 years ago email_unlockRequest.php 8 years ago email_unsubscribeRequest.php 7 years ago flags.php 7 years ago live_activity.php 8 years ago menu_dashboard.php 7 years ago menu_dashboard_options.php 7 years ago menu_firewall.php 6 years ago menu_firewall_blocking.php 7 years ago menu_firewall_blocking_options.php 8 years ago menu_firewall_waf.php 7 years ago menu_firewall_waf_options.php 7 years ago menu_options.php 6 years ago menu_scanner.php 6 years ago menu_scanner_credentials.php 8 years ago menu_scanner_options.php 6 years ago menu_support.php 7 years ago menu_tools.php 7 years ago menu_tools_diagnostic.php 6 years ago menu_tools_importExport.php 7 years ago menu_tools_livetraffic.php 6 years ago menu_tools_twoFactor.php 7 years ago menu_tools_whois.php 8 years ago menu_wordfence_central.php 7 years ago noc1.key 7 years ago sysinfo.php 8 years ago unknownFiles.php 8 years ago viewFullActivityLog.php 8 years ago wf503.php 7 years ago wfAPI.php 6 years ago wfActivityReport.php 6 years ago wfAdminNoticeQueue.php 8 years ago wfAlerts.php 6 years ago wfArray.php 7 years ago wfBrowscap.php 6 years ago wfBrowscapCache.php 7 years ago wfBulkCountries.php 7 years ago wfCache.php 6 years ago wfCentralAPI.php 6 years ago wfConfig.php 6 years ago wfCrawl.php 6 years ago wfCredentialsController.php 7 years ago wfCrypt.php 6 years ago wfDB.php 7 years ago wfDashboard.php 7 years ago wfDateLocalization.php 8 years ago wfDiagnostic.php 6 years ago wfDict.php 8 years ago wfDirectoryIterator.php 7 years ago wfHelperBin.php 11 years ago wfHelperString.php 11 years ago wfIPWhitelist.php 7 years ago wfImportExportController.php 7 years ago wfIssues.php 6 years ago wfJWT.php 7 years ago wfLockedOut.php 7 years ago wfLog.php 6 years ago wfMD5BloomFilter.php 8 years ago wfModuleController.php 7 years ago wfNotification.php 8 years ago wfOnboardingController.php 7 years ago wfPersistenceController.php 8 years ago wfRESTAPI.php 7 years ago wfScan.php 6 years ago wfScanEngine.php 6 years ago wfSchema.php 6 years ago wfStyle.php 7 years ago wfSupportController.php 6 years ago wfUnlockMsg.php 6 years ago wfUpdateCheck.php 6 years ago wfUtils.php 6 years ago wfVersionCheckController.php 8 years ago wfView.php 10 years ago wfViewResult.php 8 years ago wordfenceClass.php 6 years ago wordfenceConstants.php 6 years ago wordfenceHash.php 6 years ago wordfenceScanner.php 6 years ago wordfenceURLHoover.php 6 years ago
menu_scanner.php
414 lines
1 <?php
2 if (!defined('WORDFENCE_VERSION')) { exit; }
3 $scanner = wfScanner::shared();
4 $issues = wfIssues::shared();
5 $dashboard = new wfDashboard();
6 ?>
7 <?php if (wfConfig::get('liveActivityPauseEnabled')): ?>
8 <div id="wfLiveTrafficOverlayAnchor"></div>
9 <div id="wfLiveTrafficDisabledMessage">
10 <h2>Status Updates Paused<br /><small>Click inside window to resume</small></h2>
11 </div>
12 <?php endif; ?>
13 <?php
14 if (wfOnboardingController::shouldShowAttempt3()) {
15 echo wfView::create('onboarding/disabled-overlay')->render();
16 echo wfView::create('onboarding/banner')->render();
17 }
18 else if (wfConfig::get('touppPromptNeeded')) {
19 echo wfView::create('gdpr/disabled-overlay')->render();
20 echo wfView::create('gdpr/banner')->render();
21 }
22 ?>
23 <div class="wrap wordfence">
24 <div class="wf-container-fluid">
25 <div class="wf-row">
26 <div class="wf-col-xs-12">
27 <div class="wp-header-end"></div>
28 <?php
29 echo wfView::create('common/section-title', array(
30 'title' => __('Scan', 'wordfence'),
31 'headerID' => 'wf-section-scan',
32 'helpLink' => wfSupportController::supportURL(wfSupportController::ITEM_SCAN),
33 'helpLabelHTML' => __('Learn more<span class="wf-hidden-xs"> about the Scanner</span>', 'wordfence'),
34 'showIcon' => true,
35 ))->render();
36 ?>
37 </div>
38 <div class="wf-col-xs-12">
39 <div class="wf-block wf-active">
40 <div class="wf-block-content">
41 <ul class="wf-block-list">
42 <li>
43 <?php
44 echo wfView::create('scanner/scanner-status', array(
45 'scanner' => $scanner,
46 'dashboard' => $dashboard,
47 ))->render();
48 ?>
49 </li>
50 <li>
51 <ul class="wf-block-list wf-block-list-horizontal wf-block-list-nowrap wf-scanner-coverage">
52 <li>
53 <?php
54 if (function_exists('network_admin_url') && is_multisite()) { $optionsURL = network_admin_url('admin.php?page=WordfenceScan&subpage=scan_options'); }
55 else { $optionsURL = admin_url('admin.php?page=WordfenceScan&subpage=scan_options'); }
56 echo wfView::create('common/status-detail', array(
57 'id' => 'wf-scanner-type',
58 'percentage' => $scanner->scanTypeStatus(),
59 'activeColor' => (!$scanner->isEnabled() ? '#ececec' : null /* automatic */),
60 'title' => __('Scan Type: ', 'wordfence') . wfScanner::displayScanType($scanner->scanType()),
61 'subtitle' => wfScanner::displayScanTypeDetail($scanner->scanType()),
62 'link' => $optionsURL,
63 'linkLabel' => __('Manage Scan', 'wordfence'),
64 'statusTitle' => __('Scan Status', 'wordfence'),
65 'statusList' => $scanner->scanTypeStatusList(),
66 'helpLink' => __('https://www.wordfence.com/help/scan/#scan-status', 'wordfence'),
67 ))->render();
68 ?>
69 </li>
70 <li>
71 <?php
72 echo wfView::create('common/status-detail', array(
73 'id' => 'wf-scanner-malware-type',
74 'percentage' => $scanner->signatureMode() == wfScanner::SIGNATURE_MODE_PREMIUM ? 1.0 : 0.7,
75 'activeColor' => (!$scanner->isEnabled() ? '#ececec' : null /* automatic */),
76 'title' => __('Malware Signatures: ', 'wordfence') . ($scanner->signatureMode() == wfScanner::SIGNATURE_MODE_PREMIUM ? __('Premium', 'wordfence') : __('Community', 'wordfence')),
77 'subtitle' => ($scanner->signatureMode() == wfScanner::SIGNATURE_MODE_PREMIUM ? __('Signatures updated in real-time', 'wordfence') : __('Signature updates delayed by 30 days', 'wordfence')),
78 'link' => 'https://www.wordfence.com/gnl1scanUpgrade/wordfence-signup/',
79 'linkLabel' => ($scanner->signatureMode() == wfScanner::SIGNATURE_MODE_PREMIUM ? __('Protect More Sites', 'wordfence') : __('Upgrade to Premium', 'wordfence')),
80 'linkNewWindow' => true,
81 'statusTitle' => __('Malware Signatures Status', 'wordfence'),
82 'statusList' => $scanner->signatureMode() == wfScanner::SIGNATURE_MODE_PREMIUM ? array() : array(array(
83 'percentage' => 0.30,
84 'title' => __('Enable Premium Scan Signatures.', 'wordfence'),
85 )),
86 'helpLink' => __('https://www.wordfence.com/help/scan/#scan-status', 'wordfence'),
87 ))->render();
88 ?>
89 </li>
90 <li>
91 <?php
92 echo wfView::create('common/status-detail', array(
93 'id' => 'wf-scanner-reputation',
94 'percentage' => $scanner->reputationStatus(),
95 'activeColor' => (!$scanner->isEnabled() ? '#ececec' : null /* automatic */),
96 'title' => __('Reputation Checks', 'wordfence'),
97 'subtitle' => __('Check spam &amp; spamvertising blacklists', 'wordfence'),
98 'link' => $optionsURL . '#wf-scanner-options-general',
99 'linkLabel' => __('Manage Options', 'wordfence'),
100 'statusTitle' => __('Reputation Check Status', 'wordfence'),
101 'statusList' => $scanner->reputationStatusList(),
102 'helpLink' => __('https://www.wordfence.com/help/scan/#scan-status', 'wordfence'),
103 ))->render();
104 ?>
105 </li>
106 </ul>
107 </li>
108 </ul>
109 </div>
110 </div>
111 </div>
112 </div>
113 <div class="wf-row">
114 <div class="wf-col-xs-12">
115 <div class="wf-block wf-active">
116 <?php if (wfConfig::get('betaThreatDefenseFeed')): ?>
117 <ul class="wf-block-banner">
118 <li><?php _e('Beta scan signatures are currently enabled. These signatures have not been fully tested yet and may cause false positives or scan stability issues on some sites.', 'wordfence'); ?></li>
119 <li><a href="#" class="wf-btn wf-btn-default" id="wf-beta-disable"><?php _e('Turn Off Beta Signatures', 'wordfence'); ?></a></li>
120 </ul>
121 <?php endif; ?>
122 <div class="wf-block-content">
123 <ul class="wf-block-list">
124 <li>
125 <ul class="wf-block-list wf-block-list-horizontal wf-scan-navigation">
126 <li>
127 <?php
128 echo wfView::create('scanner/scan-starter', array(
129 'running' => wfScanner::shared()->isRunning(),
130 ))->render();
131 ?>
132 </li>
133 <li>
134 <?php
135 echo wfView::create('common/block-navigation-option', array(
136 'id' => 'wf-scan-option-support',
137 'img' => 'support.svg',
138 'title' => __('Help', 'wordfence'),
139 'subtitle' => __('Find the documentation and help you need', 'wordfence'),
140 'link' => network_admin_url('admin.php?page=WordfenceSupport'),
141 ))->render();
142 ?>
143 </li>
144 <li>
145 <?php
146 echo wfView::create('common/block-navigation-option', array(
147 'id' => 'wf-scan-option-all-options',
148 'img' => 'options.svg',
149 'title' => __('Scan Options and Scheduling', 'wordfence'),
150 'subtitle' => __('Manage scan options including scheduling', 'wordfence'),
151 'link' => network_admin_url('admin.php?page=WordfenceScan&subpage=scan_options'),
152 ))->render();
153 ?>
154 </li>
155 </ul>
156 </li>
157 <li id="wf-scan-progress-bar">
158 <?php
159 echo wfView::create('scanner/scan-progress', array(
160 'scanner' => $scanner,
161 'running' => wfScanner::shared()->isRunning(),
162 ))->render();
163 ?>
164 </li>
165 </ul>
166 </div>
167 </div>
168 </div>
169 </div>
170 <div class="wf-row">
171 <div class="wf-col-xs-12">
172 <?php
173 echo wfView::create('scanner/scan-progress-detailed', array(
174 'scanner' => $scanner,
175 ))->render();
176 ?>
177 </div>
178 </div>
179 <div class="wf-row">
180 <div class="wf-col-xs-12">
181 <?php
182 echo wfView::create('scanner/scan-results', array(
183 'scanner' => $scanner,
184 'issues' => $issues,
185 ))->render();
186 ?>
187 </div>
188 </div>
189 <div class="wf-row">
190 <div class="wf-col-xs-12">
191 <?php
192 echo wfView::create('scanner/site-cleaning-bottom', array(
193 ))->render();
194 ?>
195 </div>
196 </div>
197 </div> <!-- end container -->
198 </div>
199 <script type="application/javascript">
200 (function($) {
201 $(function() {
202 WFAD.updateActivityLog();
203 WFAD.startActivityLogUpdates();
204 });
205 })(jQuery);
206 </script>
207
208 <script type="text/x-jquery-template" id="wfTmpl_scannerDelete">
209 <?php
210 echo wfView::create('common/modal-prompt', array(
211 'title' => __('Are you sure you want to delete?', 'wordfence'),
212 'messageHTML' => '<p class="wf-callout-warning"><i class="wf-fa wf-fa-exclamation-triangle" aria-hidden="true"></i> ' . __('<strong>WARNING:</strong> If you delete the wrong file, it could cause your WordPress website to stop functioning, and you will probably have to restore from a backup.', 'wordfence') . '</p>' .
213 '<p>' . sprintf(__('Do not delete files on your system unless you\'re ABSOLUTELY sure you know what you\'re doing. If you delete the wrong file it could cause your WordPress website to stop functioning and you will probably have to restore from backups. If you\'re unsure, Cancel and work with your hosting provider to clean your system of infected files. If you\'d like to learn more, <a href="%s" target="_blank" rel="noopener noreferrer">click here for our help article</a>.', 'wordfence'), wfSupportController::esc_supportURL(wfSupportController::ITEM_SCAN_BULK_DELETE_WARNING)) . '</p>',
214 'primaryButton' => array('id' => 'wf-scanner-prompt-cancel', 'label' => __('Cancel', 'wordfence'), 'link' => '#', 'type' => 'wf-btn-default'),
215 'secondaryButtons' => array(array('id' => 'wf-scanner-prompt-confirm', 'label' => __('Delete Files', 'wordfence'), 'link' => '#', 'type' => 'wf-btn-danger')),
216 ))->render();
217 ?>
218 </script>
219
220 <script type="text/x-jquery-template" id="wfTmpl_scannerRepair">
221 <?php
222 echo wfView::create('common/modal-prompt', array(
223 'title' => __('Are you sure you want to repair?', 'wordfence'),
224 'message' => __('Do not repair files on your system unless you\'re ABSOLUTELY sure you know what you\'re doing. If you repair the wrong file it could cause your WordPress website to stop functioning and you will probably have to restore from backups. If you\'re unsure, Cancel and work with your hosting provider to clean your system of infected files.', 'wordfence'),
225 'primaryButton' => array('id' => 'wf-scanner-prompt-cancel', 'label' => __('Cancel', 'wordfence'), 'link' => '#'),
226 'secondaryButtons' => array(array('id' => 'wf-scanner-prompt-confirm', 'label' => __('Repair Files', 'wordfence'), 'link' => '#')),
227 ))->render();
228 ?>
229 </script>
230
231 <script type="text/x-jquery-template" id="wfTmpl_scannerStop">
232 <?php
233 echo wfView::create('common/modal-prompt', array(
234 'title' => '${title}',
235 'message' => '${message}',
236 'primaryButton' => array('id' => 'wf-generic-modal-close', 'label' => __('Close', 'wordfence'), 'link' => '#'),
237 ))->render();
238 ?>
239 </script>
240
241 <?php
242 echo wfView::create('scanner/site-cleaning')->render();
243 echo wfView::create('scanner/site-cleaning-high-sense')->render();
244 echo wfView::create('scanner/site-cleaning-beta-sigs')->render();
245 echo wfView::create('scanner/no-issues')->render();
246 echo wfView::create('scanner/issue-wfUpgrade')->render();
247 echo wfView::create('scanner/issue-wfPluginUpgrade')->render();
248 echo wfView::create('scanner/issue-wfThemeUpgrade')->render();
249 echo wfView::create('scanner/issue-wfPluginRemoved')->render();
250 echo wfView::create('scanner/issue-wfPluginAbandoned')->render();
251 echo wfView::create('scanner/issue-wfPluginVulnerable')->render();
252 echo wfView::create('scanner/issue-file')->render();
253 echo wfView::create('scanner/issue-skippedPaths')->render();
254 echo wfView::create('scanner/issue-knownfile')->render();
255 echo wfView::create('scanner/issue-configReadable')->render();
256 echo wfView::create('scanner/issue-publiclyAccessible')->render();
257 echo wfView::create('scanner/issue-coreUnknown')->render();
258 echo wfView::create('scanner/issue-diskSpace')->render();
259 echo wfView::create('scanner/issue-wafStatus')->render();
260 echo wfView::create('scanner/issue-geoipSupport')->render();
261 echo wfView::create('scanner/issue-easyPassword')->render();
262 echo wfView::create('scanner/issue-commentBadURL')->render();
263 echo wfView::create('scanner/issue-postBadURL')->render();
264 echo wfView::create('scanner/issue-postBadTitle')->render();
265 echo wfView::create('scanner/issue-optionBadURL')->render();
266 echo wfView::create('scanner/issue-database')->render();
267 echo wfView::create('scanner/issue-checkSpamIP')->render();
268 echo wfView::create('scanner/issue-spamvertizeCheck')->render();
269 echo wfView::create('scanner/issue-checkGSB')->render();
270 echo wfView::create('scanner/issue-checkHowGetIPs')->render();
271 echo wfView::create('scanner/issue-suspiciousAdminUsers')->render();
272 echo wfView::create('scanner/issue-timelimit')->render();
273
274 //Currently unused
275 echo wfView::create('scanner/issue-wpscan_fullPathDiscl')->render();
276 echo wfView::create('scanner/issue-wpscan_directoryList')->render();
277
278 if (wfOnboardingController::willShowNewTour(wfOnboardingController::TOUR_SCAN)): ?>
279 <script type="application/javascript">
280 (function($) {
281 $(function() {
282 WFAD.tour1 = function() {
283 WFAD.tour('wfNewTour1', 'wf-section-scan', 'top', 'left', null, WFAD.tour2);
284 };
285 WFAD.tour2 = function() {
286 WFAD.tour('wfNewTour2', 'wf-scan-option-all-options', 'right', 'right', WFAD.tour1, WFAD.tour3);
287 };
288 WFAD.tour3 = function() {
289 WFAD.tour('wfNewTour3', 'wf-scan-starter', 'left', 'left', WFAD.tour2, WFAD.tourComplete);
290 };
291 WFAD.tourComplete = function() { WFAD.tourFinish('<?php echo esc_attr(wfOnboardingController::TOUR_SCAN); ?>'); };
292
293 <?php if (wfOnboardingController::shouldShowNewTour(wfOnboardingController::TOUR_SCAN)): ?>
294 if (!WFAD.isSmallScreen) { WFAD.tour1(); }
295 <?php endif; ?>
296 });
297 })(jQuery);
298 </script>
299
300 <script type="text/x-jquery-template" id="wfNewTour1">
301 <div>
302 <h3><?php _e('Scan', 'wordfence'); ?></h3>
303 <p><?php _e('A Wordfence scan looks for malware, malicious URLs, and patterns of infections by examining all of the files, posts, and comments on your WordPress website. It also checks your server and monitors your site\'s online reputation.', 'wordfence'); ?></p>
304 <div class="wf-pointer-footer">
305 <ul class="wf-tour-pagination">
306 <li class="wf-active">&bullet;</li>
307 <li>&bullet;</li>
308 <li>&bullet;</li>
309 </ul>
310 <div id="wf-tour-continue"><a href="#" class="wf-onboarding-btn wf-onboarding-btn-primary"><?php _e('Next', 'wordfence'); ?></a></div>
311 </div>
312 <div id="wf-tour-close"><a href="#"><i class="wf-fa wf-fa-times-circle" aria-hidden="true"></i></a></div>
313 </div>
314 </script>
315 <script type="text/x-jquery-template" id="wfNewTour2">
316 <div>
317 <h3><?php _e('Manage Scan Settings', 'wordfence'); ?></h3>
318 <p class="wf-center"><svg viewBox="0 0 100.11 100.11" class="wf-icon"><path d="M99.59,41.42a2.06,2.06,0,0,0-1.37-.82L86.3,38.78a39.34,39.34,0,0,0-2.67-6.39q1.17-1.63,3.52-4.6t3.32-4.33A2.52,2.52,0,0,0,91,22a2.1,2.1,0,0,0-.46-1.43Q88.18,17.2,79.78,9.45a2.52,2.52,0,0,0-1.63-.65,2.12,2.12,0,0,0-1.57.59l-9.25,7a40.09,40.09,0,0,0-5.87-2.41L59.64,2a1.92,1.92,0,0,0-.75-1.4A2.46,2.46,0,0,0,57.29,0H42.82a2.19,2.19,0,0,0-2.34,1.82,106,106,0,0,0-1.89,12.12,37.62,37.62,0,0,0-5.93,2.48l-9-7A2.78,2.78,0,0,0,22,8.8q-1.44,0-6.16,4.66a64.88,64.88,0,0,0-6.42,7A2.75,2.75,0,0,0,8.8,22a2.44,2.44,0,0,0,.65,1.56q4.37,5.28,7,9a32.38,32.38,0,0,0-2.54,6L1.76,40.34a2,2,0,0,0-1.24.85A2.5,2.5,0,0,0,0,42.69V57.16a2.44,2.44,0,0,0,.52,1.53,2,2,0,0,0,1.37.82l11.93,1.76a31.91,31.91,0,0,0,2.67,6.45Q15.31,69.35,13,72.31T9.65,76.65a2.54,2.54,0,0,0-.07,3q2.54,3.52,10.75,11a2.25,2.25,0,0,0,1.63.71,2.35,2.35,0,0,0,1.63-.59l9.19-7a40.54,40.54,0,0,0,5.87,2.41l1.82,12a1.92,1.92,0,0,0,.75,1.4,2.45,2.45,0,0,0,1.6.55H57.29a2.2,2.2,0,0,0,2.35-1.82,107.41,107.41,0,0,0,1.89-12.12,37.19,37.19,0,0,0,5.93-2.48l9,7a3.18,3.18,0,0,0,1.69.59q1.43,0,6.13-4.62a65.86,65.86,0,0,0,6.45-7,2.16,2.16,0,0,0,.59-1.5,2.51,2.51,0,0,0-.65-1.63q-4.69-5.74-7-9a41.57,41.57,0,0,0,2.54-5.93l12.06-1.82a2,2,0,0,0,1.3-.85,2.52,2.52,0,0,0,.52-1.5V43a2.46,2.46,0,0,0-.52-1.53ZM61.85,61.86a16.08,16.08,0,0,1-11.8,4.89A16.69,16.69,0,0,1,33.37,50.06,16.69,16.69,0,0,1,50.06,33.37,16.69,16.69,0,0,1,66.74,50.06a16.08,16.08,0,0,1-4.89,11.8Zm0,0"></path></svg></p>
319 <p><?php _e('Set up the way you want the scan to monitor your site security including custom scan configurations and scheduling.', 'wordfence'); ?></p>
320 <div class="wf-pointer-footer">
321 <ul class="wf-tour-pagination">
322 <li>&bullet;</li>
323 <li class="wf-active">&bullet;</li>
324 <li>&bullet;</li>
325 </ul>
326 <div id="wf-tour-previous"><a href="#" class="wf-onboarding-btn wf-onboarding-btn-default"><?php _e('Previous', 'wordfence'); ?></a></div>
327 <div id="wf-tour-continue"><a href="#" class="wf-onboarding-btn wf-onboarding-btn-primary"><?php _e('Next', 'wordfence'); ?></a></div>
328 </div>
329 <div id="wf-tour-close"><a href="#"><i class="wf-fa wf-fa-times-circle" aria-hidden="true"></i></a></div>
330 </div>
331 </script>
332 <script type="text/x-jquery-template" id="wfNewTour3">
333 <div>
334 <h3><?php _e('Start Your First Scan', 'wordfence'); ?></h3>
335 <p><?php _e('By default, Wordfence will scan your site daily. Start your first scan now to see if your site has any security issues that need to be addressed. From here you can run manual scans any time you like.', 'wordfence'); ?></p>
336 <div class="wf-pointer-footer">
337 <ul class="wf-tour-pagination">
338 <li>&bullet;</li>
339 <li>&bullet;</li>
340 <li class="wf-active">&bullet;</li>
341 </ul>
342 <div id="wf-tour-previous"><a href="#" class="wf-onboarding-btn wf-onboarding-btn-default"><?php _e('Previous', 'wordfence'); ?></a></div>
343 <div id="wf-tour-continue"><a href="#" class="wf-onboarding-btn wf-onboarding-btn-primary"><?php _e('Got it', 'wordfence'); ?></a></div>
344 </div>
345 <div id="wf-tour-close"><a href="#"><i class="wf-fa wf-fa-times-circle" aria-hidden="true"></i></a></div>
346 </div>
347 </script>
348 <?php endif; ?>
349
350 <?php if (wfOnboardingController::willShowUpgradeTour(wfOnboardingController::TOUR_SCAN)): ?>
351 <script type="application/javascript">
352 (function($) {
353 $(function() {
354 WFAD.tour1 = function() {
355 WFAD.tour('wfUpgradeTour1', 'wf-scan-option-all-options', 'right', 'right', null, WFAD.tour2);
356 };
357 WFAD.tour2 = function() {
358 WFAD.tour('wfUpgradeTour2', 'wf-scan-starter', 'left', 'left', WFAD.tour1, WFAD.tourComplete);
359 };
360 WFAD.tourComplete = function() { WFAD.tourFinish('<?php echo esc_attr(wfOnboardingController::TOUR_SCAN); ?>'); };
361
362 <?php if (wfOnboardingController::shouldShowUpgradeTour(wfOnboardingController::TOUR_SCAN)): ?>
363 if (!WFAD.isSmallScreen) { WFAD.tour1(); }
364 <?php endif; ?>
365 });
366 })(jQuery);
367 </script>
368
369 <script type="text/x-jquery-template" id="wfUpgradeTour1">
370 <div>
371 <h3><?php _e('Scan Options &amp; Settings', 'wordfence'); ?></h3>
372 <p class="wf-center"><svg viewBox="0 0 100.11 100.11" class="wf-icon"><path d="M99.59,41.42a2.06,2.06,0,0,0-1.37-.82L86.3,38.78a39.34,39.34,0,0,0-2.67-6.39q1.17-1.63,3.52-4.6t3.32-4.33A2.52,2.52,0,0,0,91,22a2.1,2.1,0,0,0-.46-1.43Q88.18,17.2,79.78,9.45a2.52,2.52,0,0,0-1.63-.65,2.12,2.12,0,0,0-1.57.59l-9.25,7a40.09,40.09,0,0,0-5.87-2.41L59.64,2a1.92,1.92,0,0,0-.75-1.4A2.46,2.46,0,0,0,57.29,0H42.82a2.19,2.19,0,0,0-2.34,1.82,106,106,0,0,0-1.89,12.12,37.62,37.62,0,0,0-5.93,2.48l-9-7A2.78,2.78,0,0,0,22,8.8q-1.44,0-6.16,4.66a64.88,64.88,0,0,0-6.42,7A2.75,2.75,0,0,0,8.8,22a2.44,2.44,0,0,0,.65,1.56q4.37,5.28,7,9a32.38,32.38,0,0,0-2.54,6L1.76,40.34a2,2,0,0,0-1.24.85A2.5,2.5,0,0,0,0,42.69V57.16a2.44,2.44,0,0,0,.52,1.53,2,2,0,0,0,1.37.82l11.93,1.76a31.91,31.91,0,0,0,2.67,6.45Q15.31,69.35,13,72.31T9.65,76.65a2.54,2.54,0,0,0-.07,3q2.54,3.52,10.75,11a2.25,2.25,0,0,0,1.63.71,2.35,2.35,0,0,0,1.63-.59l9.19-7a40.54,40.54,0,0,0,5.87,2.41l1.82,12a1.92,1.92,0,0,0,.75,1.4,2.45,2.45,0,0,0,1.6.55H57.29a2.2,2.2,0,0,0,2.35-1.82,107.41,107.41,0,0,0,1.89-12.12,37.19,37.19,0,0,0,5.93-2.48l9,7a3.18,3.18,0,0,0,1.69.59q1.43,0,6.13-4.62a65.86,65.86,0,0,0,6.45-7,2.16,2.16,0,0,0,.59-1.5,2.51,2.51,0,0,0-.65-1.63q-4.69-5.74-7-9a41.57,41.57,0,0,0,2.54-5.93l12.06-1.82a2,2,0,0,0,1.3-.85,2.52,2.52,0,0,0,.52-1.5V43a2.46,2.46,0,0,0-.52-1.53ZM61.85,61.86a16.08,16.08,0,0,1-11.8,4.89A16.69,16.69,0,0,1,33.37,50.06,16.69,16.69,0,0,1,50.06,33.37,16.69,16.69,0,0,1,66.74,50.06a16.08,16.08,0,0,1-4.89,11.8Zm0,0"></path></svg></p>
373 <p class="wf-center"><?php _e('All of your scan options, including scheduling, are now located here.', 'wordfence'); ?></p>
374 <div class="wf-pointer-footer">
375 <ul class="wf-tour-pagination">
376 <li class="wf-active">&bullet;</li>
377 <li>&bullet;</li>
378 </ul>
379 <div id="wf-tour-continue"><a href="#" class="wf-onboarding-btn wf-onboarding-btn-primary"><?php _e('Next', 'wordfence'); ?></a></div>
380 </div>
381 <div id="wf-tour-close"><a href="#"><i class="wf-fa wf-fa-times-circle" aria-hidden="true"></i></a></div>
382 </div>
383 </script>
384 <script type="text/x-jquery-template" id="wfUpgradeTour2">
385 <div>
386 <h3><?php _e('Scan Progress and Activity', 'wordfence'); ?></h3>
387 <p><?php _e('Track each scan stage as Wordfence scans your entire site. Along the way you can see the activity log one line at a time or expand the activity log for a more detailed view. Clicking on scan results will reveal detailed scan findings.', 'wordfence'); ?></p>
388 <div class="wf-pointer-footer">
389 <ul class="wf-tour-pagination">
390 <li>&bullet;</li>
391 <li class="wf-active">&bullet;</li>
392 </ul>
393 <div id="wf-tour-previous"><a href="#" class="wf-onboarding-btn wf-onboarding-btn-default"><?php _e('Previous', 'wordfence'); ?></a></div>
394 <div id="wf-tour-continue"><a href="#" class="wf-onboarding-btn wf-onboarding-btn-primary"><?php _e('Got it', 'wordfence'); ?></a></div>
395 </div>
396 <div id="wf-tour-close"><a href="#"><i class="wf-fa wf-fa-times-circle" aria-hidden="true"></i></a></div>
397 </div>
398 </script>
399 <?php endif; ?>
400
401 <script type="application/javascript">
402 (function($) {
403 $(function() {
404 $('#wf-beta-disable').on('click', function(e) {
405 e.preventDefault();
406 e.stopPropagation();
407
408 WFAD.setOption('betaThreatDefenseFeed', 0, function() {
409 window.location.reload(true);
410 });
411 });
412 });
413 })(jQuery);
414 </script>