예제 #1
0
 /**
  * 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;
 }