Exemple #1
0
 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();
 }