Page MenuHomePhabricator
Authored By
mmartorana
Aug 18 2022, 3:56 PM
Size
2 KB
Referenced Files
None
Subscribers
None

T307278.patch

From 56a2582d67a17f776d8046a96455a442c660e57c Mon Sep 17 00:00:00 2001
From: Manfredi Martorana <mmartorana@wikimedia.org>
Date: Thu, 18 Aug 2022 17:53:34 +0200
Subject: [PATCH] T307278 - Remove suppressed usernames from rollback page.
---
includes/actions/RollbackAction.php | 17 +++++++++++++----
1 file changed, 13 insertions(+), 4 deletions(-)
diff --git a/includes/actions/RollbackAction.php b/includes/actions/RollbackAction.php
index 935e9cf..17da6bd 100644
--- a/includes/actions/RollbackAction.php
+++ b/includes/actions/RollbackAction.php
@@ -28,6 +28,7 @@ use MediaWiki\Revision\RevisionRecord;
use MediaWiki\Revision\SlotRecord;
use MediaWiki\User\UserOptionsLookup;
use MediaWiki\Watchlist\WatchlistManager;
+use MediaWiki\MediaWikiServices;
/**
* User interface for the rollback action
@@ -157,7 +158,9 @@ class RollbackAction extends FormAction {
}
$revUser = $rev->getUser();
+
$userText = $revUser ? $revUser->getName() : '';
+
if ( $from !== $userText ) {
throw new ErrorPageError( 'rollbackfailed', 'alreadyrolled', [
$this->getTitle()->getPrefixedText(),
@@ -170,11 +173,17 @@ class RollbackAction extends FormAction {
throw new ErrorPageError( 'sessionfailure-title', 'sessionfailure' );
}
- // The revision has the user suppressed, so the rollback has empty 'from',
- // so the check above would succeed in that case.
+ # Check if the user has rights to view suppressed usernames
if ( !$revUser ) {
- $revUser = $rev->getUser( RevisionRecord::RAW );
- }
+ // T307278
+ if($this->getAuthority()->isAllowedAny( 'suppressrevision', 'viewsuppressed' ) ) {
+ $revUser = $rev->getUser( RevisionRecord::RAW );
+ } else {
+ $userFactory = MediaWikiServices::getInstance()->getUserFactory();
+
+ $revUser = $userFactory->newFromName( $this->context->msg( 'rev-deleted-user' )->escaped() );
+ }
+ }
$rollbackResult = $this->rollbackPageFactory
// @phan-suppress-next-line PhanTypeMismatchArgumentNullable use of raw avoids null here
--
2.32.1 (Apple Git-133)

File Metadata

Mime Type
text/x-diff
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
9711164
Default Alt Text
T307278.patch (2 KB)

Event Timeline