/** * Prints the error report. * * @param PHP_CodeSniffer $phpcs The PHP_CodeSniffer object containing * the errors. * @param string $report The type of report to print. * @param bool $showWarnings TRUE if warnings should also be printed. * @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 printErrorReport($phpcs, $report, $showWarnings, $showSources, $reportFile = '') { if ($reportFile !== '') { ob_start(); } switch ($report) { case 'xml': $numErrors = $phpcs->printXMLErrorReport($showWarnings); break; case 'checkstyle': $numErrors = $phpcs->printCheckstyleErrorReport($showWarnings); break; case 'csv': $numErrors = $phpcs->printCSVErrorReport($showWarnings); break; case 'emacs': $numErrors = $phpcs->printEmacsErrorReport($showWarnings); break; case 'summary': $numErrors = $phpcs->printErrorReportSummary($showWarnings, $showSources); break; case 'source': $numErrors = $phpcs->printSourceReport($showWarnings, $showSources); break; default: $numErrors = $phpcs->printErrorReport($showWarnings, $showSources); break; } if ($reportFile !== '') { $report = ob_get_contents(); ob_end_flush(); $report = trim($report); file_put_contents($reportFile, "{$report}\n"); } return $numErrors; }