From 6a07296e8a6ac9e719fd01422ee08b0ea8c2c26a Mon Sep 17 00:00:00 2001 From: Andrew Garrett Date: Thu, 8 Oct 2009 19:40:53 +0000 Subject: [PATCH] Replace broken nested terneries (causing a nasty bug where all admins could view fully suppressed revisions) with clear, easy to read if/then/elseif/else structure. --- includes/Revision.php | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/includes/Revision.php b/includes/Revision.php index fc43989ca9..eee97cbb2e 100644 --- a/includes/Revision.php +++ b/includes/Revision.php @@ -979,9 +979,16 @@ class Revision { public function userCan( $field ) { if( $this->mDeleted & $field ) { global $wgUser; - $permission = ( $this->mDeleted & self::DELETED_RESTRICTED ) - ? 'suppressrevision' - : ( $field & self::DELETED_TEXT ) ? 'deletedtext' : 'deletedhistory'; + + $permission = ''; + if ( $this->mDeleted & self::DELETED_RESTRICTED ) { + $permission = 'suppressrevision'; + } elseif ( $field & self::DELETED_TEXT ) { + $permission = 'deletedtext'; + } else { + $permission = 'deletedhistory'; + } + wfDebug( "Checking for $permission due to $field match on $this->mDeleted\n" ); return $wgUser->isAllowed( $permission ); } else { -- 2.20.1