From a69eac16aa3b780c129a2be90b8e31924d47cb12 Mon Sep 17 00:00:00 2001 From: Ori Livneh Date: Wed, 7 Oct 2015 23:04:59 -0700 Subject: [PATCH] Small clean-ups for OutputPage::userCanPreview Change-Id: Ibd973750b60cbcc8d1289686de6cabcfdca5c5d9 --- includes/OutputPage.php | 25 +++++++++++++++++-------- 1 file changed, 17 insertions(+), 8 deletions(-) diff --git a/includes/OutputPage.php b/includes/OutputPage.php index f48497fd8b..d85c60c3f6 100644 --- a/includes/OutputPage.php +++ b/includes/OutputPage.php @@ -3312,22 +3312,31 @@ class OutputPage extends ContextSource { * @return bool */ public function userCanPreview() { - if ( $this->getRequest()->getVal( 'action' ) != 'submit' - || !$this->getRequest()->wasPosted() - || !$this->getUser()->matchEditToken( - $this->getRequest()->getVal( 'wpEditToken' ) ) - ) { + $request = $this->getRequest(); + if ( $request->getVal( 'action' ) !== 'submit' || !$request->wasPosted() ) { + return false; + } + + $user = $this->getUser(); + if ( !$user->matchEditToken( $request->getVal( 'wpEditToken' ) ) ) { return false; } - if ( !$this->getTitle()->isJsSubpage() && !$this->getTitle()->isCssSubpage() ) { + + $title = $this->getTitle(); + if ( !$title->isJsSubpage() && !$title->isCssSubpage() ) { return false; } - if ( !$this->getTitle()->isSubpageOf( $this->getUser()->getUserPage() ) ) { + if ( !$title->isSubpageOf( $user->getUserPage() ) ) { // Don't execute another user's CSS or JS on preview (T85855) return false; } - return !count( $this->getTitle()->getUserPermissionsErrors( 'edit', $this->getUser() ) ); + $errors = $title->getUserPermissionsErrors( 'edit', $user ); + if ( count( $errors ) !== 0 ) { + return false; + } + + return true; } /** -- 2.20.1