(bug 18666) Add show/hide links to deletedcontribs
authorAaron Schulz <aaron@users.mediawiki.org>
Mon, 4 May 2009 13:40:09 +0000 (13:40 +0000)
committerAaron Schulz <aaron@users.mediawiki.org>
Mon, 4 May 2009 13:40:09 +0000 (13:40 +0000)
includes/specials/SpecialDeletedContributions.php

index 7882851..9751736 100644 (file)
@@ -106,10 +106,9 @@ class DeletedContribsPager extends IndexPager {
         * @todo This would probably look a lot nicer in a table.
         */
        function formatRow( $row ) {
+               global $wgUser, $wgLang;
                wfProfileIn( __METHOD__ );
 
-               global $wgLang;
-
                $sk = $this->getSkin();
 
                $rev = new Revision( array(
@@ -164,8 +163,23 @@ class DeletedContribsPager extends IndexPager {
                        $mflag = '';
                }
 
+               if( $wgUser->isAllowed( 'deleterevision' ) ) {
+                       // If revision was hidden from sysops
+                       if( !$rev->userCan( Revision::DELETED_RESTRICTED ) ) {
+                               $del = Xml::tags( 'span', array( 'class'=>'mw-revdelundel-link' ),
+                                       '(' . $this->message['rev-delundel'] . ')' ) . ' ';
+                       // Otherwise, show the link...
+                       } else {
+                               $query = array( 'target' => $page->getPrefixedDbkey(),
+                                       'artimestamp' => $rev->getTimestamp() );
+                               $del = $this->mSkin->revDeleteLink( $query,
+                                       $rev->isDeleted( Revision::DELETED_RESTRICTED ) ) . ' ';
+                       }
+               } else {
+                       $del = '';
+               }
 
-               $ret = "{$link} ($last) ({$dellog}) ({$reviewlink}) . . {$mflag} {$pagelink} {$comment}";
+               $ret = "{$del}{$link} ({$last}) ({$dellog}) ({$reviewlink}) . . {$mflag} {$pagelink} {$comment}";
                if( $rev->isDeleted( Revision::DELETED_TEXT ) ) {
                        $ret .= ' ' . wfMsgHtml( 'deletedrev' );
                }