Added diff links to revision delete log items
authorAaron Schulz <aaron@users.mediawiki.org>
Sun, 22 Mar 2009 01:07:42 +0000 (01:07 +0000)
committerAaron Schulz <aaron@users.mediawiki.org>
Sun, 22 Mar 2009 01:07:42 +0000 (01:07 +0000)
includes/LogEventsList.php
languages/messages/MessagesEn.php

index 4e07cdb..ec091a6 100644 (file)
@@ -39,7 +39,8 @@ class LogEventsList {
                // Precache various messages
                if( !isset( $this->message ) ) {
                        $messages = array( 'revertmerge', 'protect_change', 'unblocklink', 'change-blocklink',
-                               'revertmove', 'undeletelink', 'revdel-restore', 'rev-delundel', 'hist', 'pipe-separator' );
+                               'revertmove', 'undeletelink', 'revdel-restore', 'rev-delundel', 'hist', 'diff',
+                               'pipe-separator' );
                        foreach( $messages as $msg ) {
                                $this->message[$msg] = wfMsgExt( $msg, array( 'escapenoentities' ) );
                        }
@@ -291,8 +292,17 @@ class LogEventsList {
                                foreach( $Ids as $n => $id ) {
                                        $revParams .= '&' . urlencode($key) . '[]=' . urlencode($id);
                                }
-                               $revert = '(' . $this->skin->makeKnownLinkObj( $revdel, $this->message['revdel-restore'], 
-                                       'target=' . $title->getPrefixedUrl() . $revParams ) . ')';
+                               $revert = array();
+                               // Diff link for single rev deletions
+                               if( $key === 'oldid' && count($Ids) == 1 ) {
+                                       $token = urlencode( $wgUser->editToken( intval($Ids[0]) ) );
+                                       $revert[] = $this->skin->makeKnownLinkObj( $title, $this->message['diff'], 
+                                               'diff='.intval($Ids[0])."&unhide=1&token=$token" );
+                               }
+                               // View/modify link...
+                               $revert[] = $this->skin->makeKnownLinkObj( $revdel, $this->message['revdel-restore'], 
+                                       'target=' . $title->getPrefixedUrl() . $revParams );
+                               $revert = '(' . implode(' | ',$revert) . ')';
                        }
                // Hidden log items, give review link
                } else if( self::typeAction($row,array('delete','suppress'),'event','deleterevision') ) {
index 3430439..43b1af2 100644 (file)
@@ -1335,7 +1335,7 @@ Please confirm that you intend to do this, that you understand the consequences,
 'logdelete-logentry'             => 'changed event visibility of [[$1]]',
 'revdelete-success'              => "'''Revision visibility successfully set.'''",
 'logdelete-success'              => "'''Log visibility successfully set.'''",
-'revdel-restore'                 => 'Change visibility',
+'revdel-restore'                 => 'change visibility',
 'pagehist'                       => 'Page history',
 'deletedhist'                    => 'Deleted history',
 'revdelete-content'              => 'content',