mirror of
https://gerrit.wikimedia.org/r/mediawiki/extensions/AbuseFilter.git
synced 2024-12-18 00:20:37 +00:00
fe592746b7
Bug: T339184 Change-Id: I381686678524868c85466bdafde3856a73a8cb1c
41 lines
938 B
PHP
41 lines
938 B
PHP
<?php
|
|
|
|
namespace MediaWiki\Extension\AbuseFilter;
|
|
|
|
use Wikimedia\Diff\Diff;
|
|
use Wikimedia\Diff\TableDiffFormatter;
|
|
|
|
/**
|
|
* Like TableDiffFormatter, but will always render the full context (even for empty diffs).
|
|
*
|
|
* @todo Consider moving to MW core (as a separate class, or as an option to TableDiffFormatter)
|
|
*
|
|
* @internal
|
|
*/
|
|
class TableDiffFormatterFullContext extends TableDiffFormatter {
|
|
/**
|
|
* Format a diff.
|
|
*
|
|
* @param Diff $diff
|
|
* @return string The formatted output.
|
|
*/
|
|
public function format( $diff ) {
|
|
$xlen = $ylen = 0;
|
|
|
|
// Calculate the length of the left and the right side
|
|
foreach ( $diff->edits as $edit ) {
|
|
if ( $edit->orig ) {
|
|
$xlen += count( $edit->orig );
|
|
}
|
|
if ( $edit->closing ) {
|
|
$ylen += count( $edit->closing );
|
|
}
|
|
}
|
|
|
|
// Just render the diff with no preprocessing
|
|
$this->startDiff();
|
|
$this->block( 1, $xlen, 1, $ylen, $diff->edits );
|
|
return $this->endDiff();
|
|
}
|
|
}
|