Fix PreferencesForm alias
authorReedy <reedy@wikimedia.org>
Tue, 29 May 2018 20:24:40 +0000 (20:24 +0000)
committerReedy <reedy@wikimedia.org>
Tue, 29 May 2018 21:44:18 +0000 (21:44 +0000)
Change-Id: I6f24c6283b4165b9209e53f8fc3b8ecb5feb9ca4

includes/Preferences.php
includes/preferences/DefaultPreferencesFactory.php
includes/preferences/PreferencesFactory.php
includes/specials/SpecialPreferences.php
includes/specials/forms/PreferencesFormLegacy.php
tests/phpunit/includes/preferences/DefaultPreferencesFactoryTest.php

index 035b494..c458af0 100644 (file)
@@ -262,12 +262,12 @@ class Preferences {
         * @param IContextSource $context
         * @param string $formClass
         * @param array $remove Array of items to remove
-        * @return PreferencesForm|HTMLForm
+        * @return PreferencesFormLegacy|HTMLForm
         */
        public static function getFormObject(
                $user,
                IContextSource $context,
-               $formClass = PreferencesForm::class,
+               $formClass = PreferencesFormLegacy::class,
                array $remove = []
        ) {
                $preferencesFactory = self::getDefaultPreferencesFactory();
index 755d108..eb94ff1 100644 (file)
@@ -45,7 +45,7 @@ use MWTimestamp;
 use OutputPage;
 use Parser;
 use ParserOptions;
-use PreferencesForm;
+use PreferencesFormLegacy;
 use Psr\Log\LoggerAwareTrait;
 use Psr\Log\NullLogger;
 use Skin;
@@ -1488,7 +1488,7 @@ class DefaultPreferencesFactory implements PreferencesFactory {
        public function getForm(
                User $user,
                IContextSource $context,
-               $formClass = PreferencesForm::class,
+               $formClass = PreferencesFormLegacy::class,
                array $remove = []
        ) {
                if ( SpecialPreferences::isOouiEnabled( $context ) ) {
index 685f78c..478edce 100644 (file)
@@ -28,8 +28,8 @@ use User;
  * A PreferencesFactory is a MediaWiki service that provides the definitions of preferences for a
  * given user. These definitions are in the form of an HTMLForm descriptor.
  *
- * PreferencesForm (a subclass of HTMLForm) is used to generate the Preferences form, and handles
- * generic submission, CSRF protection, layout and other logic in a reusable manner.
+ * PreferencesFormLegacy (a subclass of HTMLForm) is used to generate the Preferences form, and
+ * handles generic submission, CSRF protection, layout and other logic in a reusable manner.
  *
  * In order to generate the form, the HTMLForm object needs an array structure detailing the
  * form fields available, and that's what this implementations of this interface provide. Each
@@ -62,7 +62,7 @@ interface PreferencesFactory {
        public function getForm(
                User $user,
                IContextSource $contextSource,
-               $formClass = \PreferencesForm::class,
+               $formClass = \PreferencesFormLegacy::class,
                array $remove = []
        );
 
index 27b6a07..41ee353 100644 (file)
@@ -163,7 +163,7 @@ class SpecialPreferences extends SpecialPage {
         * Get the preferences form to use.
         * @param User $user The user.
         * @param IContextSource $context The context.
-        * @return PreferencesForm|HTMLForm
+        * @return PreferencesFormLegacy|HTMLForm
         */
        protected function getFormObject( $user, IContextSource $context ) {
                $preferencesFactory = MediaWikiServices::getInstance()->getPreferencesFactory();
index 8193c5a..48bded4 100644 (file)
@@ -144,9 +144,10 @@ class PreferencesFormLegacy extends HTMLForm {
        }
 }
 
-// Retain the old class name for backwards compatibility.
-// In the future, this alias will be changed to point to PreferencesFormOOUI.
-class PreferencesForm extends PreferencesFormLegacy {
-}
-// Phan doesn't understand class_alias()?
-// class_alias( PreferencesFormLegacy::class, 'PreferencesForm' );
+/**
+ * Retain the old class name for backwards compatibility.
+ * In the future, this alias will be changed to point to PreferencesFormOOUI.
+ *
+ * @deprecated since 1.32
+ */
+class_alias( PreferencesFormLegacy::class, 'PreferencesForm' );
index 62ab44c..9a8608f 100644 (file)
@@ -66,7 +66,7 @@ class DefaultPreferencesFactoryTest extends MediaWikiTestCase {
        public function testGetForm() {
                $testUser = $this->getTestUser();
                $form = $this->getPreferencesFactory()->getForm( $testUser->getUser(), $this->context );
-               $this->assertInstanceOf( PreferencesForm::class, $form );
+               $this->assertInstanceOf( PreferencesFormLegacy::class, $form );
                $this->assertCount( 5, $form->getPreferenceSections() );
        }