From fa15782409f7f8e2d7d56f835ec47dbf29ac038e Mon Sep 17 00:00:00 2001 From: X! Date: Sat, 30 May 2009 21:17:17 +0000 Subject: [PATCH] (bug 19014) If user had deletedhistory right, but not undeleted right, then show "view" instead of "view/restore" on logs. --- RELEASE-NOTES | 2 ++ includes/LogEventsList.php | 10 +++++++--- languages/messages/MessagesEn.php | 1 + 3 files changed, 10 insertions(+), 3 deletions(-) diff --git a/RELEASE-NOTES b/RELEASE-NOTES index c3b38ff469..0e0689d263 100644 --- a/RELEASE-NOTES +++ b/RELEASE-NOTES @@ -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 == diff --git a/includes/LogEventsList.php b/includes/LogEventsList.php index e645750b24..32d73f3d7e 100644 --- a/includes/LogEventsList.php +++ b/includes/LogEventsList.php @@ -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 = '(' . diff --git a/languages/messages/MessagesEn.php b/languages/messages/MessagesEn.php index 67b55abc9a..08dabe915e 100644 --- a/languages/messages/MessagesEn.php +++ b/languages/messages/MessagesEn.php @@ -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:', -- 2.20.1