(bug 19014) If user had deletedhistory right, but not undeleted right, then
authorX! <soxred93@users.mediawiki.org>
Sat, 30 May 2009 21:17:17 +0000 (21:17 +0000)
committerX! <soxred93@users.mediawiki.org>
Sat, 30 May 2009 21:17:17 +0000 (21:17 +0000)
  show "view" instead of "view/restore" on logs.

RELEASE-NOTES
includes/LogEventsList.php
languages/messages/MessagesEn.php

index c3b38ff..0e0689d 100644 (file)
@@ -178,6 +178,8 @@ it from source control: http://www.mediawiki.org/wiki/Download_from_SVN
 * (bug 8873) Enable variant conversion in text on 'alt' and 'title' attributes
 * (bug 10837) Introducing the StubUserVariant class to determine the variant 
   variable instead of using this to overrules the user language preference.
+* (bug 19014) If user had deletedhistory right, but not undeleted right, then 
+  show "view" instead of "view/restore" on logs.
 
 == API changes in 1.16 ==
 
index e645750..32d73f3 100644 (file)
@@ -39,7 +39,7 @@ class LogEventsList {
                // Precache various messages
                if( !isset( $this->message ) ) {
                        $messages = array( 'revertmerge', 'protect_change', 'unblocklink', 'change-blocklink',
-                               'revertmove', 'undeletelink', 'revdel-restore', 'rev-delundel', 'hist', 'diff',
+                               'revertmove', 'undeletelink', 'undeleteviewlink', 'revdel-restore', 'rev-delundel', 'hist', 'diff',
                                'pipe-separator' );
                        foreach( $messages as $msg ) {
                                $this->message[$msg] = wfMsgExt( $msg, array( 'escapenoentities' ) );
@@ -250,9 +250,13 @@ class LogEventsList {
                                        '&wpMovetalk=0' ) . ')';
                        }
                // Show undelete link
-               } else if( self::typeAction($row,array('delete','suppress'),'delete','delete') ) {
+               } else if( self::typeAction($row,array('delete','suppress'),'delete','deletedhistory') ) {
+                       if( !$wgUser->isAllowed( 'undelete' ) ) 
+                               $viewdeleted = $this->message['undeleteviewlink'];
+                       else 
+                               $viewdeleted = $this->message['undeletelink'];
                        $revert = '(' . $this->skin->makeKnownLinkObj( SpecialPage::getTitleFor( 'Undelete' ),
-                               $this->message['undeletelink'], 'target='. urlencode( $title->getPrefixedDBkey() ) ) . ')';
+                               $viewdeleted, 'target='. urlencode( $title->getPrefixedDBkey() ) ) . ')';
                // Show unblock/change block link
                } else if( self::typeAction($row,array('block','suppress'),array('block','reblock'),'block') ) {
                        $revert = '(' .
index 67b55ab..08dabe9 100644 (file)
@@ -2544,6 +2544,7 @@ You may have a bad link, or the revision may have been restored or removed from
 'undelete-nodiff'              => 'No previous revision found.',
 'undeletebtn'                  => 'Restore',
 'undeletelink'                 => 'view/restore',
+'undeleteviewlink'             => 'view',
 'undeletereset'                => 'Reset',
 'undeleteinvert'               => 'Invert selection',
 'undeletecomment'              => 'Comment:',