EditPage: Avoid use of &$this in hooks
authorJustin Du <justin.d128@gmail.com>
Tue, 27 Dec 2016 14:36:04 +0000 (08:36 -0600)
committerLegoktm <legoktm@member.fsf.org>
Wed, 28 Dec 2016 07:39:27 +0000 (07:39 +0000)
* This triggers warnings in PHP 7.1

Bug: T153505
Change-Id: I5324a6bfe9e8ed255975104c5de7e7a7011cb741

includes/EditPage.php

index 1f871e1..c11df5d 100644 (file)
@@ -2602,7 +2602,9 @@ class EditPage {
                        $previewOutput = $this->getPreviewText();
                }
 
-               Hooks::run( 'EditPage::showEditForm:initial', [ &$this, &$wgOut ] );
+               // Avoid PHP 7.1 warning of passing $this by reference
+               $editPage = $this;
+               Hooks::run( 'EditPage::showEditForm:initial', [ &$editPage, &$wgOut ] );
 
                $this->setHeaders();
 
@@ -2679,7 +2681,9 @@ class EditPage {
                        . Xml::closeElement( 'div' )
                );
 
-               Hooks::run( 'EditPage::showEditForm:fields', [ &$this, &$wgOut ] );
+               // Avoid PHP 7.1 warning of passing $this by reference
+               $editPage = $this;
+               Hooks::run( 'EditPage::showEditForm:fields', [ &$editPage, &$wgOut ] );
 
                // Put these up at the top to ensure they aren't lost on early form submission
                $this->showFormBeforeText();
@@ -3541,7 +3545,9 @@ HTML
        protected function showConflict() {
                global $wgOut;
 
-               if ( Hooks::run( 'EditPageBeforeConflictDiff', [ &$this, &$wgOut ] ) ) {
+               // Avoid PHP 7.1 warning of passing $this by reference
+               $editPage = $this;
+               if ( Hooks::run( 'EditPageBeforeConflictDiff', [ &$editPage, &$wgOut ] ) ) {
                        $stats = MediaWikiServices::getInstance()->getStatsdDataFactory();
                        $stats->increment( 'edit.failures.conflict' );
                        // Only include 'standard' namespaces to avoid creating unknown numbers of statsd metrics
@@ -4069,7 +4075,10 @@ HTML
                                $checkboxes['watch'] = $watchThisHtml;
                        }
                }
-               Hooks::run( 'EditPageBeforeEditChecks', [ &$this, &$checkboxes, &$tabindex ] );
+
+               // Avoid PHP 7.1 warning of passing $this by reference
+               $editPage = $this;
+               Hooks::run( 'EditPageBeforeEditChecks', [ &$editPage, &$checkboxes, &$tabindex ] );
                return $checkboxes;
        }
 
@@ -4118,7 +4127,9 @@ HTML
                $buttons['diff'] = Html::submitButton( $this->context->msg( 'showdiff' )->text(),
                        $attribs );
 
-               Hooks::run( 'EditPageBeforeEditButtons', [ &$this, &$buttons, &$tabindex ] );
+               // Avoid PHP 7.1 warning of passing $this by reference
+               $editPage = $this;
+               Hooks::run( 'EditPageBeforeEditButtons', [ &$editPage, &$buttons, &$tabindex ] );
                return $buttons;
        }
 
@@ -4132,7 +4143,10 @@ HTML
                $wgOut->prepareErrorPage( $this->context->msg( 'nosuchsectiontitle' ) );
 
                $res = $this->context->msg( 'nosuchsectiontext', $this->section )->parseAsBlock();
-               Hooks::run( 'EditPageNoSuchSection', [ &$this, &$res ] );
+
+               // Avoid PHP 7.1 warning of passing $this by reference
+               $editPage = $this;
+               Hooks::run( 'EditPageNoSuchSection', [ &$editPage, &$res ] );
                $wgOut->addHTML( $res );
 
                $wgOut->returnToMain( false, $this->mTitle );