Revision: 48512
Author: werdna
Date: 2009-03-18 05:45:36 +0000 (Wed, 18 Mar 2009)
Log Message:
-----------
Add a diff, if applicable, below the var dump in abuse log details
Modified Paths:
--------------
trunk/extensions/AbuseFilter/AbuseFilter.i18n.php
trunk/extensions/AbuseFilter/AbuseFilterVariableHolder.php
trunk/extensions/AbuseFilter/SpecialAbuseLog.php
Modified: trunk/extensions/AbuseFilter/AbuseFilter.i18n.php
===================================================================
--- trunk/extensions/AbuseFilter/AbuseFilter.i18n.php 2009-03-18 05:17:49 UTC
(rev 48511)
+++ trunk/extensions/AbuseFilter/AbuseFilter.i18n.php 2009-03-18 05:45:36 UTC
(rev 48512)
@@ -91,6 +91,7 @@
'abusefilter-log-details-private' => 'Private data',
'abusefilter-log-details-ip' => 'Originating IP address',
'abusefilter-log-noactions' => 'none',
+ 'abusefilter-log-details-diff' => 'Changes made in edit',
// Abuse filter management
'abusefilter-management' => 'Abuse filter management',
Modified: trunk/extensions/AbuseFilter/AbuseFilterVariableHolder.php
===================================================================
--- trunk/extensions/AbuseFilter/AbuseFilterVariableHolder.php 2009-03-18
05:17:49 UTC (rev 48511)
+++ trunk/extensions/AbuseFilter/AbuseFilterVariableHolder.php 2009-03-18
05:45:36 UTC (rev 48512)
@@ -235,7 +235,7 @@
while ($user = $dbr->fetchRow($res)) {
$users[] = $user[0];
}
- $result = implode( ",", $users );
+ $result = implode( ", ", $users );
break;
case 'get-page-restrictions':
$action = $parameters['action'];
Modified: trunk/extensions/AbuseFilter/SpecialAbuseLog.php
===================================================================
--- trunk/extensions/AbuseFilter/SpecialAbuseLog.php 2009-03-18 05:17:49 UTC
(rev 48511)
+++ trunk/extensions/AbuseFilter/SpecialAbuseLog.php 2009-03-18 05:45:36 UTC
(rev 48512)
@@ -133,6 +133,41 @@
$output .= AbuseFilter::buildVarDumpTable( $vars );
+ // Diff, if available
+ if ( $vars->getVar( 'action' )->toString() == 'edit' ) {
+ ## Stolen from DifferenceEngine.php
+ global $wgStylePath, $wgStyleVersion, $wgOut;
+ $wgOut->addStyle( 'common/diff.css' );
+
+ // JS is needed to detect old versions of Mozilla to
work around an annoyance bug.
+ $wgOut->addScript( "<script type=\"text/javascript\"
src=\"$wgStylePath/common/diff.js?$wgStyleVersion\"></script>" );
+
+ $old_wikitext =
$vars->getVar('old_wikitext')->toString();
+ $new_wikitext =
$vars->getVar('new_wikitext')->toString();
+
+ $old_lines = explode( "\n", $old_wikitext );
+ $new_lines = explode( "\n", $new_wikitext );
+
+ $diff = new Diff( $old_lines, $new_lines );
+ $formatter = new TableDiffFormatter;
+
+ static $colDescriptions = "<col class='diff-marker' />
+ <col class='diff-content' />
+ <col class='diff-marker' />
+ <col class='diff-content' />";
+
+ $formattedDiff = $formatter->format( $diff );
+ $formattedDiff =
+ "<table
class='diff'>$colDescriptions<tbody>$formattedDiff</tbody></table>";
+
+ $output .=
+ Xml::tags( 'h3',
+ null,
+ wfMsgExt(
'abusefilter-log-details-diff', 'parseinline' )
+ );
+ $output .= $formattedDiff;
+ }
+
if ($this->canSeePrivate()) {
// Private stuff, like IPs.
$header =
_______________________________________________
MediaWiki-CVS mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-cvs