/** * Prints the error report. * * * * @param PHP_CodeSniffer $phpcs The PHP_CodeSniffer object containing * the errors. * @param string $standard Standard to use. * @param string $report The type of report to print. * @param bool $showLevel Cut level for this report * @param bool $showSources TRUE if the report should show error sources * (not used by all reports). * @param string $reportFile A file to log the report out to. * * @return int The number of error and warning messages shown. */ public function printReport($phpcs, $standard, $report, $showLevel, $showSources, $reportFile = '') { $reportManager = new SQLI_CodeSniffer_Reports(); $reportClass = $reportManager->factory($report); $fileEvents = $phpcs->getFilesEvents(); $reportData = $reportManager->prepareErrorReport($fileEvents, $standard, $showLevel); if ($reportFile !== '') { ob_start(); } $numErrors = $reportClass->generate($reportData, $showSources); if ($reportFile !== '') { $generatedReport = ob_get_clean(); $generatedReport = trim($generatedReport); file_put_contents($reportFile, "{$generatedReport}\n"); } return $numErrors; }