public static function wordfenceStartScheduledScan() { //If scheduled scans are not enabled in the global config option, then don't run a scheduled scan. if (wfConfig::get('scheduledScansEnabled') != '1') { return; } //This prevents scheduled scans from piling up on low traffic blogs and all being run at once. //Only one scheduled scan runs within a given 60 min window. Won't run if another scan has run within 30 mins. $lastScanStart = wfConfig::get('lastScheduledScanStart', 0); if ($lastScanStart && time() - $lastScanStart < 1800) { //A scheduled scan was started in the last 30 mins, so skip this one. return; } wfConfig::set('lastScheduledScanStart', time()); wordfence::status(1, 'info', "Scheduled Wordfence scan starting at " . date('l jS \\of F Y h:i:s A', current_time('timestamp'))); //We call this before the scan actually starts to advance the schedule for the next week. //This ensures that if the scan crashes for some reason, the schedule will hold. wordfence::scheduleScans(); wfScanEngine::startScan(); }