0) { rlog(sprintf('%sannounce: %d finding(s) — %s%s', $dryRun ? 'dry-run: ' : '', $ann['count'], ($ann['sent'] ?? false) ? 'sent' : ($dryRun ? 'not sent (dry run)' : 'DELIVERY FAILED'), ' — ' . ($ann['subject'] ?? ''))); } // Nothing found and nothing to say. A line every fifteen minutes reporting no news is how a // log stops being read. if ($sum['findings'] === 0) { if ($sum['runs'] > 0 && $dryRun) rlog(sprintf('dry-run: %d run(s), nothing found (%dms)', $sum['runs'], $ms)); exit(0); } rlog(sprintf('%s%d run(s): %d finding(s), %d fixed, %d for the operator, %d resolved, %d quiet (%dms)', $dryRun ? 'dry-run: ' : '', $sum['runs'], $sum['findings'], $sum['fixed'], $sum['needs_operator'], $sum['resolved'], $sum['quiet'], $ms)); foreach ($sum['details'] as $d) rlog(' ' . $d); } finally { flock($lock, LOCK_UN); fclose($lock); } exit(0);