From acc16e85f36576cf80bd3f61371d42534eba4500 Mon Sep 17 00:00:00 2001 From: Leon Liesener Date: Sun, 20 Jul 2014 19:13:38 +0200 Subject: [PATCH] Adjusted show/hide links This change replaces checkboxes with show links for users with the 'viewsuppressed' right assigned who cannot hide/unhide suppressed revisions. Change-Id: Id575b9830c84a17075ba6d10a5a305a38afd94e2 --- includes/logging/LogEventsList.php | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/includes/logging/LogEventsList.php b/includes/logging/LogEventsList.php index c88af04281..4dc25ef3ab 100644 --- a/includes/logging/LogEventsList.php +++ b/includes/logging/LogEventsList.php @@ -355,9 +355,13 @@ class LogEventsList extends ContextSource { // Don't show useless checkbox to people who cannot hide log entries if ( $user->isAllowed( 'deletedhistory' ) ) { $canHide = $user->isAllowed( 'deletelogentry' ); + $canViewSuppressedOnly = $user->isAllowed( 'viewsuppressed' ) && + !$user->isAllowed( 'suppressrevision' ); + $entryIsSuppressed = self::isDeleted( $row, LogPage::DELETED_RESTRICTED ); + $canViewThisSuppressedEntry = $canViewSuppressedOnly && $entryIsSuppressed; if ( $row->log_deleted || $canHide ) { // Show checkboxes instead of links. - if ( $canHide && $this->flags & self::USE_REVDEL_CHECKBOXES ) { + if ( $canHide && $this->flags & self::USE_REVDEL_CHECKBOXES && !$canViewThisSuppressedEntry ) { // If event was hidden from sysops if ( !self::userCan( $row, LogPage::DELETED_RESTRICTED, $user ) ) { $del = Xml::check( 'deleterevisions', false, array( 'disabled' => 'disabled' ) ); @@ -380,8 +384,8 @@ class LogEventsList extends ContextSource { ); $del = Linker::revDeleteLink( $query, - self::isDeleted( $row, LogPage::DELETED_RESTRICTED ), - $canHide + $entryIsSuppressed, + $canHide && !$canViewThisSuppressedEntry ); } } -- 2.20.1