Viewing file: Summary.php (4.2 KB) -rw-rw-rw- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php /** * Summary report for PHP_CodeSniffer. * * PHP version 5 * * @category PHP * @package PHP_CodeSniffer * @author Gabriele Santini <gsantini@sqli.com> * @author Greg Sherwood <gsherwood@squiz.net> * @copyright 2009 SQLI <www.sqli.com> * @copyright 2006-2011 Squiz Pty Ltd (ABN 77 084 670 600) * @license http://matrix.squiz.net/developer/tools/php_cs/licence BSD Licence * @link http://pear.php.net/package/PHP_CodeSniffer */
/** * Summary report for PHP_CodeSniffer. * * PHP version 5 * * @category PHP * @package PHP_CodeSniffer * @author Gabriele Santini <gsantini@sqli.com> * @author Greg Sherwood <gsherwood@squiz.net> * @copyright 2009 SQLI <www.sqli.com> * @copyright 2006-2011 Squiz Pty Ltd (ABN 77 084 670 600) * @license http://matrix.squiz.net/developer/tools/php_cs/licence BSD Licence * @version Release: 1.3.3 * @link http://pear.php.net/package/PHP_CodeSniffer */ class PHP_CodeSniffer_Reports_Summary implements PHP_CodeSniffer_Report {
/** * Generates a summary of errors and warnings for each file processed. * * If verbose output is enabled, results are shown for all files, even if * they have no errors or warnings. If verbose output is disabled, we only * show files that have at least one warning or error. * * @param array $report Prepared report. * @param boolean $showSources Show sources? * @param int $width Maximum allowed lne width. * @param boolean $toScreen Is the report being printed to screen? * * @return string */ public function generate( $report, $showSources=false, $width=80, $toScreen=true ) { $errorFiles = array(); $width = max($width, 70);
foreach ($report['files'] as $filename => $file) { $numWarnings = $file['warnings']; $numErrors = $file['errors'];
// If verbose output is enabled, we show the results for all files, // but if not, we only show files that had errors or warnings. if (PHP_CODESNIFFER_VERBOSITY > 0 || $numErrors > 0 || $numWarnings > 0 ) { $errorFiles[$filename] = array( 'warnings' => $numWarnings, 'errors' => $numErrors, ); }//end if }//end foreach
if (empty($errorFiles) === true) { // Nothing to print. return 0; }
echo PHP_EOL.'PHP CODE SNIFFER REPORT SUMMARY'.PHP_EOL; echo str_repeat('-', $width).PHP_EOL; echo 'FILE'.str_repeat(' ', ($width - 20)).'ERRORS WARNINGS'.PHP_EOL; echo str_repeat('-', $width).PHP_EOL;
$totalErrors = 0; $totalWarnings = 0; $totalFiles = 0;
foreach ($errorFiles as $file => $errors) { $padding = ($width - 18 - strlen($file)); if ($padding < 0) { $file = '...'.substr($file, (($padding * -1) + 3)); $padding = 0; }
echo $file.str_repeat(' ', $padding).' '; echo $errors['errors']; echo str_repeat(' ', (8 - strlen((string) $errors['errors']))); echo $errors['warnings']; echo PHP_EOL;
$totalFiles++; }//end foreach
echo str_repeat('-', $width).PHP_EOL; echo 'A TOTAL OF '.$report['totals']['errors'].' ERROR(S) '; echo 'AND '.$report['totals']['warnings'].' WARNING(S) ';
echo 'WERE FOUND IN '.$totalFiles.' FILE(S)'.PHP_EOL; echo str_repeat('-', $width).PHP_EOL.PHP_EOL;
if ($showSources === true) { $source = new PHP_CodeSniffer_Reports_Source(); $source->generate($report, $showSources, $width); }
if ($toScreen === true && PHP_CODESNIFFER_INTERACTIVE === false && class_exists('PHP_Timer', false) === true ) { echo PHP_Timer::resourceUsage().PHP_EOL.PHP_EOL; }
return ($report['totals']['errors'] + $report['totals']['warnings']);
}//end generate()
}//end class
?>
|