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

Reply via email to