getResults() as $title => $tests): $key = sanitize_key('wf-diagnostics-' . $title); $hasFailingTest = false; foreach ($tests['results'] as $result) { $infoOnly = isset($result['infoOnly']) && $result['infoOnly']; if (!$result['test'] && !$infoOnly) { $hasFailingTest = true; break; } } if ($inEmail): ?>
array(), 'strong' => array(), 'em' => array(), 'a' => array('href' => true), 'span' => array('class' => true) ))) ?>


> 'REMOTE_ADDR', 'HTTP_CF_CONNECTING_IP' => 'CF-Connecting-IP', 'HTTP_X_REAL_IP' => 'X-Real-IP', 'HTTP_X_FORWARDED_FOR' => 'X-Forwarded-For', ); foreach (wfUtils::getAllServerVariableIPs() as $variable => $ip): ?>
{$currentIP}", implode(', ', $output)); } else { echo esc_html($ip); } ?>
> $settingData): $escapedName = esc_html($settingName); $escapedDescription = ''; $escapedValue = __('(not set)', 'wordfence'); if (is_array($settingData)) { $escapedDescription = esc_html($settingData['description']); if (isset($settingData['value'])) { $escapedValue = esc_html($settingData['value']); } } else { $escapedDescription = esc_html($settingData); if (defined($settingName)) { $escapedValue = esc_html(constant($settingName)); } } ?>
> $pluginData): ?>
() -
> $pluginData): ?>
() -
> array( __( 'Advanced caching plugin', 'wordfence' ), 'WP_CACHE' ), // WP_CACHE 'db.php' => array( __( 'Custom database class', 'wordfence' ), true ), // auto on load 'db-error.php' => array( __( 'Custom database error message', 'wordfence' ), true ), // auto on error 'install.php' => array( __( 'Custom installation script', 'wordfence' ), true ), // auto on installation 'maintenance.php' => array( __( 'Custom maintenance message', 'wordfence' ), true ), // auto on maintenance 'object-cache.php' => array( __( 'External object cache', 'wordfence' ), true ), // auto on load 'php-error.php' => array( __( 'Custom PHP error message', 'wordfence' ), true ), // auto on error 'fatal-error-handler.php'=> array( __( 'Custom PHP fatal error handler', 'wordfence' ), true ), // auto on error ); $dropins['sunrise.php' ] = array( __( 'Executed before Multisite is loaded', 'wordfence' ), is_multisite() && 'SUNRISE' ); // SUNRISE $dropins['blog-deleted.php' ] = array( __( 'Custom site deleted message', 'wordfence' ), is_multisite() ); // auto on deleted blog $dropins['blog-inactive.php' ] = array( __( 'Custom site inactive message', 'wordfence' ), is_multisite() ); // auto on inactive blog $dropins['blog-suspended.php'] = array( __( 'Custom site suspended message', 'wordfence' ), is_multisite() ); // auto on archived or spammed blog ?> $data): ?>
()
> $themeData): ?>
() - get_stylesheet()): ?>
> $values) { if (is_array($values)) { foreach ($values as $cron_job => $v) { if (is_numeric($timestamp)) { $overdue = ((time() - 1800) > $timestamp); ?> >
(' . esc_html__('Overdue', 'wordfence') . ')' : '') ?>
querySingle('SELECT COUNT(*) FROM information_schema.TABLES WHERE TABLE_SCHEMA=DATABASE()'); $wordfenceTableNames = wfSchema::tableList(); $optionalWordfenceTableNames = wfSchema::optionalTableList(); if (WFWAF_IS_WINDOWS) { $wordfenceTableNames = wfUtils::array_strtolower($wordfenceTableNames); $optionalWordfenceTableNames = wfUtils::array_strtolower($optionalWordfenceTableNames); } $wordfenceTableNamesQuerySegment = array_map(function($t) { return "'" . esc_sql($t) . "'"; }, array_merge(array_values($wordfenceTableNames), array_values($optionalWordfenceTableNames))); $existingWordfenceTables = wfUtils::array_column($wfdb->querySelect('SELECT TABLE_NAME FROM information_schema.TABLES WHERE TABLE_SCHEMA=DATABASE() AND TABLE_NAME IN (' . implode(',', $wordfenceTableNamesQuerySegment) . ') ORDER BY TABLE_NAME ASC'), 'TABLE_NAME'); if (WFWAF_IS_WINDOWS) { $existingWordfenceTables = wfUtils::array_strtolower($existingWordfenceTables); } $otherTables = wfUtils::array_column($wfdb->querySelect('SELECT TABLE_NAME FROM information_schema.TABLES WHERE TABLE_SCHEMA=DATABASE() AND TABLE_NAME NOT IN (' . implode(',', $wordfenceTableNamesQuerySegment) . ') ORDER BY TABLE_NAME ASC LIMIT 250'), 'TABLE_NAME'); $otherTableNamesQuerySegment = array_map(function($t) { return "'" . esc_sql($t) . "'"; }, $otherTables); $q = $wfdb->querySelect("SHOW TABLE STATUS WHERE Name IN (" . implode(',', array_merge($wordfenceTableNamesQuerySegment, $otherTableNamesQuerySegment)) . ')'); if ($q): $databaseCols = count($q[0]); ?>
  • $table) { if (!in_array($table, $existingTables)) { $hasAll = false; $missingTables[] = $t; } } if ($hasAll): ?>
> $count) { ?>
> $readable): ?> format('M j, Y G:i:s') . ' ' . __('UTC', 'wordfence'); } } $shortLog = $log; if (strpos($shortLog, ABSPATH) === 0) { $shortLog = '~/' . substr($shortLog, strlen(ABSPATH)); } ?>
' . esc_html__('Download', 'wordfence') . ' (' . esc_html__('opens in new tab', 'wordfence') . ')' : '' . esc_html__('Requires downloading from the server directly', 'wordfence') . ''); ?>
' . esc_html__('Scan Issues', 'wordfence') . "\n"; $issues = wfIssues::shared()->getIssues(0, 50, 0, 50); $issueCounts = array_merge(array('new' => 0, 'ignoreP' => 0, 'ignoreC' => 0), wfIssues::shared()->getIssueCounts()); $issueTypes = wfIssues::validIssueTypes(); echo '

' . esc_html(sprintf(/* translators: Number of scan issues. */ __('New Issues (%d total)', 'wordfence'), $issueCounts['new'])) . "

\n"; if (isset($issues['new']) && count($issues['new'])) { foreach ($issues['new'] as $i) { if (!in_array($i['type'], $issueTypes)) { continue; } $viewContent = ''; try { $viewContent = wfView::create('scanner/text/issue-' . $i['type'], array('textOutput' => $i))->render(); } catch (wfViewNotFoundException $e) { //Ignore -- should never happen since we validate the type } if (!empty($viewContent)) { echo nl2br($viewContent) . "

\n"; } } } else { echo '

' . esc_html__('No New Issues', 'wordfence') . "

\n"; } } ?>
> $settingData): if (isset($settingData['subheader'])) { ?>
> $settingData): if (isset($settingData['subheader'])) { ?>
' . esc_html__('Unable to output phpinfo content because it is disabled', 'wordfence') . "\n"; } ?>