aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--RELEASE-NOTES-1.4114
-rw-r--r--autoload.php10
-rwxr-xr-xdocs/config-schema.yaml2
-rw-r--r--includes/MainConfigSchema.php2
-rw-r--r--includes/MediaWikiServices.php4
-rw-r--r--includes/ParamValidator/TypeDef/UserDef.php2
-rw-r--r--includes/Permissions/PermissionManager.php2
-rw-r--r--includes/Permissions/RateLimiter.php2
-rw-r--r--includes/Rest/TokenAwareHandlerTrait.php2
-rw-r--r--includes/ServiceWiring.php2
-rw-r--r--includes/api/ApiFeedContributions.php1
-rw-r--r--includes/api/ApiLogin.php1
-rw-r--r--includes/api/ApiQueryUserContribs.php1
-rw-r--r--includes/api/ApiResetPassword.php1
-rw-r--r--includes/changes/RCCacheEntryFactory.php1
-rwxr-xr-xincludes/config-schema.php2
-rw-r--r--includes/editpage/EditPage.php2
-rw-r--r--includes/exception/PermissionsError.php1
-rw-r--r--includes/htmlform/fields/HTMLUserTextField.php1
-rw-r--r--includes/import/WikiImporter.php1
-rw-r--r--includes/linker/Linker.php2
-rw-r--r--includes/mail/EmailNotification.php1
-rw-r--r--includes/mail/EmailUser.php2
-rw-r--r--includes/mail/EmailUserFactory.php2
-rw-r--r--includes/page/WikiPage.php1
-rw-r--r--includes/preferences/DefaultPreferencesFactory.php2
-rw-r--r--includes/preferences/MultiUsernameFilter.php2
-rw-r--r--includes/session/BotPasswordSessionProvider.php2
-rw-r--r--includes/session/CsrfTokenSet.php2
-rw-r--r--includes/specials/SpecialBotPasswords.php4
-rw-r--r--includes/specials/SpecialContributions.php2
-rw-r--r--includes/specials/SpecialListGroupRights.php2
-rw-r--r--includes/specials/SpecialMute.php2
-rw-r--r--includes/specials/SpecialPasswordPolicies.php2
-rw-r--r--includes/specials/SpecialPasswordReset.php2
-rw-r--r--includes/specials/SpecialStatistics.php2
-rw-r--r--includes/specials/SpecialUserRights.php2
-rw-r--r--includes/specials/pagers/NewFilesPager.php2
-rw-r--r--includes/specials/pagers/UsersPager.php2
-rw-r--r--includes/user/ActorStore.php1
-rw-r--r--includes/user/BotPassword.php22
-rw-r--r--includes/user/BotPasswordStore.php3
-rw-r--r--includes/user/CentralId/CentralIdLookup.php12
-rw-r--r--includes/user/CentralId/CentralIdLookupFactory.php2
-rw-r--r--includes/user/CentralId/LocalIdLookup.php10
-rw-r--r--includes/user/ExternalUserNames.php10
-rw-r--r--includes/user/Hook/UserArrayFromResultHook.php2
-rw-r--r--includes/user/Hook/UserGroupsChangedHook.php2
-rw-r--r--includes/user/LoggedOutEditToken.php8
-rw-r--r--includes/user/PasswordReset.php19
-rw-r--r--includes/user/User.php5
-rw-r--r--includes/user/UserArray.php11
-rw-r--r--includes/user/UserArrayFromResult.php11
-rw-r--r--includes/user/UserGroupManager.php1
-rw-r--r--includes/user/UserGroupMembership.php13
-rw-r--r--includes/user/UserRightsProxy.php11
-rw-r--r--maintenance/createBotPassword.php1
-rw-r--r--maintenance/invalidateBotPasswords.php2
-rw-r--r--maintenance/renameUser.php1
-rw-r--r--tests/phpunit/includes/api/ApiLoginTest.php1
-rw-r--r--tests/phpunit/includes/preferences/DefaultPreferencesFactoryTest.php1
-rw-r--r--tests/phpunit/includes/session/BotPasswordSessionProviderTest.php5
-rw-r--r--tests/phpunit/includes/user/BotPasswordTest.php2
-rw-r--r--tests/phpunit/includes/user/ExternalUserNamesTest.php1
-rw-r--r--tests/phpunit/includes/user/LocalIdLookupTest.php2
-rw-r--r--tests/phpunit/includes/user/UserGroupMembershipTest.php2
-rw-r--r--tests/phpunit/integration/includes/Permissions/RateLimiterTest.php2
-rw-r--r--tests/phpunit/integration/includes/user/UserRightsProxyTest.php22
-rw-r--r--tests/phpunit/unit/includes/mail/EmailUserTest.php2
-rw-r--r--tests/phpunit/unit/includes/preferences/FiltersTest.php1
-rw-r--r--tests/phpunit/unit/includes/user/CentralId/CentralIdLookupFactoryTest.php4
-rw-r--r--tests/phpunit/unit/includes/user/CentralId/CentralIdLookupTest.php2
-rw-r--r--tests/phpunit/unit/includes/user/UserArrayFromResultTest.php2
73 files changed, 215 insertions, 73 deletions
diff --git a/RELEASE-NOTES-1.41 b/RELEASE-NOTES-1.41
index cb673428497b..5101c5e2e93e 100644
--- a/RELEASE-NOTES-1.41
+++ b/RELEASE-NOTES-1.41
@@ -683,9 +683,19 @@ because of Phabricator reports.
- TitleFormatter
- TitleParser
- TitleValue
-* Some user-related classes have been namespaced under MediaWiki\User, with the
- old class names are now deprecated aliases:
+* All remaining user-related classes have been namespaced under MediaWiki\User,
+ with the old class names are now deprecated aliases:
+ - BotPassword
+ - ExternalUserNames
+ - LoggedOutEditToken
+ - PasswordReset
- User
+ - UserArray
+ - UserArrayFromResult
+ - UserGroupMembership
+ - UserRightsProxy
+ - CentralIdLookup (under MediaWiki\User\CentralId)
+ - LocalIdLookup (under MediaWiki\User\CentralId)
* Various mediawiki.ui variables have been deprecated in favor of
'mediawiki.skin.variables.less' Codex design tokens featuring replacements.
* Hook handlers must now be specified either as a PHP callable, or as a PHP
diff --git a/autoload.php b/autoload.php
index 730a0b973102..6a20e4d2ffb2 100644
--- a/autoload.php
+++ b/autoload.php
@@ -2206,9 +2206,13 @@ $wgAutoloadLocalClasses = [
'MediaWiki\\User\\ActorNormalization' => __DIR__ . '/includes/user/ActorNormalization.php',
'MediaWiki\\User\\ActorStore' => __DIR__ . '/includes/user/ActorStore.php',
'MediaWiki\\User\\ActorStoreFactory' => __DIR__ . '/includes/user/ActorStoreFactory.php',
+ 'MediaWiki\\User\\BotPassword' => __DIR__ . '/includes/user/BotPassword.php',
'MediaWiki\\User\\BotPasswordStore' => __DIR__ . '/includes/user/BotPasswordStore.php',
+ 'MediaWiki\\User\\CentralId\\CentralIdLookup' => __DIR__ . '/includes/user/CentralId/CentralIdLookup.php',
'MediaWiki\\User\\CentralId\\CentralIdLookupFactory' => __DIR__ . '/includes/user/CentralId/CentralIdLookupFactory.php',
+ 'MediaWiki\\User\\CentralId\\LocalIdLookup' => __DIR__ . '/includes/user/CentralId/LocalIdLookup.php',
'MediaWiki\\User\\DefaultOptionsLookup' => __DIR__ . '/includes/user/DefaultOptionsLookup.php',
+ 'MediaWiki\\User\\ExternalUserNames' => __DIR__ . '/includes/user/ExternalUserNames.php',
'MediaWiki\\User\\Hook\\AutopromoteConditionHook' => __DIR__ . '/includes/user/Hook/AutopromoteConditionHook.php',
'MediaWiki\\User\\Hook\\ConfirmEmailCompleteHook' => __DIR__ . '/includes/user/Hook/ConfirmEmailCompleteHook.php',
'MediaWiki\\User\\Hook\\EmailConfirmedHook' => __DIR__ . '/includes/user/Hook/EmailConfirmedHook.php',
@@ -2240,8 +2244,10 @@ $wgAutoloadLocalClasses = [
'MediaWiki\\User\\Hook\\UserSetEmailAuthenticationTimestampHook' => __DIR__ . '/includes/user/Hook/UserSetEmailAuthenticationTimestampHook.php',
'MediaWiki\\User\\Hook\\UserSetEmailHook' => __DIR__ . '/includes/user/Hook/UserSetEmailHook.php',
'MediaWiki\\User\\Hook\\User__mailPasswordInternalHook' => __DIR__ . '/includes/user/Hook/User__mailPasswordInternalHook.php',
+ 'MediaWiki\\User\\LoggedOutEditToken' => __DIR__ . '/includes/user/LoggedOutEditToken.php',
'MediaWiki\\User\\Options\\Hook\\LoadUserOptionsHook' => __DIR__ . '/includes/user/Options/Hook/LoadUserOptionsHook.php',
'MediaWiki\\User\\Options\\Hook\\SaveUserOptionsHook' => __DIR__ . '/includes/user/Options/Hook/SaveUserOptionsHook.php',
+ 'MediaWiki\\User\\PasswordReset' => __DIR__ . '/includes/user/PasswordReset.php',
'MediaWiki\\User\\Registration\\IUserRegistrationProvider' => __DIR__ . '/includes/user/Registration/IUserRegistrationProvider.php',
'MediaWiki\\User\\Registration\\LocalUserRegistrationProvider' => __DIR__ . '/includes/user/Registration/LocalUserRegistrationProvider.php',
'MediaWiki\\User\\Registration\\UserRegistrationLookup' => __DIR__ . '/includes/user/Registration/UserRegistrationLookup.php',
@@ -2261,10 +2267,13 @@ $wgAutoloadLocalClasses = [
'MediaWiki\\User\\TempUser\\TempUserConfig' => __DIR__ . '/includes/user/TempUser/TempUserConfig.php',
'MediaWiki\\User\\TempUser\\TempUserCreator' => __DIR__ . '/includes/user/TempUser/TempUserCreator.php',
'MediaWiki\\User\\User' => __DIR__ . '/includes/user/User.php',
+ 'MediaWiki\\User\\UserArray' => __DIR__ . '/includes/user/UserArray.php',
+ 'MediaWiki\\User\\UserArrayFromResult' => __DIR__ . '/includes/user/UserArrayFromResult.php',
'MediaWiki\\User\\UserEditTracker' => __DIR__ . '/includes/user/UserEditTracker.php',
'MediaWiki\\User\\UserFactory' => __DIR__ . '/includes/user/UserFactory.php',
'MediaWiki\\User\\UserGroupManager' => __DIR__ . '/includes/user/UserGroupManager.php',
'MediaWiki\\User\\UserGroupManagerFactory' => __DIR__ . '/includes/user/UserGroupManagerFactory.php',
+ 'MediaWiki\\User\\UserGroupMembership' => __DIR__ . '/includes/user/UserGroupMembership.php',
'MediaWiki\\User\\UserIdentity' => __DIR__ . '/includes/user/UserIdentity.php',
'MediaWiki\\User\\UserIdentityLookup' => __DIR__ . '/includes/user/UserIdentityLookup.php',
'MediaWiki\\User\\UserIdentityUtils' => __DIR__ . '/includes/user/UserIdentityUtils.php',
@@ -2273,6 +2282,7 @@ $wgAutoloadLocalClasses = [
'MediaWiki\\User\\UserNameUtils' => __DIR__ . '/includes/user/UserNameUtils.php',
'MediaWiki\\User\\UserOptionsLookup' => __DIR__ . '/includes/user/UserOptionsLookup.php',
'MediaWiki\\User\\UserOptionsManager' => __DIR__ . '/includes/user/UserOptionsManager.php',
+ 'MediaWiki\\User\\UserRightsProxy' => __DIR__ . '/includes/user/UserRightsProxy.php',
'MediaWiki\\User\\UserRigorOptions' => __DIR__ . '/includes/user/UserRigorOptions.php',
'MediaWiki\\User\\UserSelectQueryBuilder' => __DIR__ . '/includes/user/UserSelectQueryBuilder.php',
'MediaWiki\\User\\UserTimeCorrection' => __DIR__ . '/includes/user/UserTimeCorrection.php',
diff --git a/docs/config-schema.yaml b/docs/config-schema.yaml
index 4acd5aa61ed6..6f74da42239c 100755
--- a/docs/config-schema.yaml
+++ b/docs/config-schema.yaml
@@ -4365,7 +4365,7 @@ config-schema:
@since 1.36
CentralIdLookupProviders:
default:
- local: { class: LocalIdLookup, services: [MainConfig, DBLoadBalancerFactory] }
+ local: { class: MediaWiki\User\CentralId\LocalIdLookup, services: [MainConfig, DBLoadBalancerFactory] }
type: object
description: |-
Central ID lookup providers
diff --git a/includes/MainConfigSchema.php b/includes/MainConfigSchema.php
index 07d2d9ffc371..74341b7abdfc 100644
--- a/includes/MainConfigSchema.php
+++ b/includes/MainConfigSchema.php
@@ -43,13 +43,13 @@ use JavaScriptContentHandler;
use JobQueueDB;
use JsonContentHandler;
use LayeredParameterizedPassword;
-use LocalIdLookup;
use LocalisationCache;
use LocalRepo;
use LogFormatter;
use MediaWiki\Request\WebRequest;
use MediaWiki\Settings\Source\JsonSchemaTrait;
use MediaWiki\Title\NamespaceInfo;
+use MediaWiki\User\CentralId\LocalIdLookup;
use MediaWiki\User\Registration\LocalUserRegistrationProvider;
use MediaWikiSite;
use MemcachedPeclBagOStuff;
diff --git a/includes/MediaWikiServices.php b/includes/MediaWikiServices.php
index 04e896fc96de..087b24a2b355 100644
--- a/includes/MediaWikiServices.php
+++ b/includes/MediaWikiServices.php
@@ -21,7 +21,6 @@
namespace MediaWiki;
use BagOStuff;
-use CentralIdLookup;
use Config;
use ConfigFactory;
use CryptHKDF;
@@ -156,7 +155,9 @@ use MediaWiki\User\ActorNormalization;
use MediaWiki\User\ActorStore;
use MediaWiki\User\ActorStoreFactory;
use MediaWiki\User\BotPasswordStore;
+use MediaWiki\User\CentralId\CentralIdLookup;
use MediaWiki\User\CentralId\CentralIdLookupFactory;
+use MediaWiki\User\PasswordReset;
use MediaWiki\User\Registration\UserRegistrationLookup;
use MediaWiki\User\TalkPageNotificationManager;
use MediaWiki\User\TempUser\RealTempUserConfig;
@@ -182,7 +183,6 @@ use Parser;
use ParserCache;
use ParserFactory;
use PasswordFactory;
-use PasswordReset;
use RepoGroup;
use SearchEngine;
use SearchEngineConfig;
diff --git a/includes/ParamValidator/TypeDef/UserDef.php b/includes/ParamValidator/TypeDef/UserDef.php
index 41a6a7d3884b..b464d0dbeb02 100644
--- a/includes/ParamValidator/TypeDef/UserDef.php
+++ b/includes/ParamValidator/TypeDef/UserDef.php
@@ -2,9 +2,9 @@
namespace MediaWiki\ParamValidator\TypeDef;
-use ExternalUserNames;
use MediaWiki\Title\MalformedTitleException;
use MediaWiki\Title\TitleParser;
+use MediaWiki\User\ExternalUserNames;
use MediaWiki\User\UserIdentity;
use MediaWiki\User\UserIdentityLookup;
use MediaWiki\User\UserIdentityValue;
diff --git a/includes/Permissions/PermissionManager.php b/includes/Permissions/PermissionManager.php
index 0fbeb84f7d6f..629f36308e59 100644
--- a/includes/Permissions/PermissionManager.php
+++ b/includes/Permissions/PermissionManager.php
@@ -42,6 +42,7 @@ use MediaWiki\User\TempUser\TempUserConfig;
use MediaWiki\User\User;
use MediaWiki\User\UserFactory;
use MediaWiki\User\UserGroupManager;
+use MediaWiki\User\UserGroupMembership;
use MediaWiki\User\UserIdentity;
use Message;
use MessageSpecifier;
@@ -49,7 +50,6 @@ use PermissionsError;
use RequestContext;
use StatusValue;
use UserCache;
-use UserGroupMembership;
use Wikimedia\ScopedCallback;
/**
diff --git a/includes/Permissions/RateLimiter.php b/includes/Permissions/RateLimiter.php
index 065c78baf76c..be247a6e7d1d 100644
--- a/includes/Permissions/RateLimiter.php
+++ b/includes/Permissions/RateLimiter.php
@@ -20,13 +20,13 @@
namespace MediaWiki\Permissions;
-use CentralIdLookup;
use Liuggio\StatsdClient\Factory\StatsdDataFactoryInterface;
use MediaWiki\Config\ServiceOptions;
use MediaWiki\HookContainer\HookContainer;
use MediaWiki\HookContainer\HookRunner;
use MediaWiki\Logger\LoggerFactory;
use MediaWiki\MainConfigNames;
+use MediaWiki\User\CentralId\CentralIdLookup;
use MediaWiki\User\UserFactory;
use MediaWiki\User\UserGroupManager;
use NullStatsdDataFactory;
diff --git a/includes/Rest/TokenAwareHandlerTrait.php b/includes/Rest/TokenAwareHandlerTrait.php
index c5187303332c..151a3bbcdc67 100644
--- a/includes/Rest/TokenAwareHandlerTrait.php
+++ b/includes/Rest/TokenAwareHandlerTrait.php
@@ -2,9 +2,9 @@
namespace MediaWiki\Rest;
-use LoggedOutEditToken;
use LogicException;
use MediaWiki\Session\Session;
+use MediaWiki\User\LoggedOutEditToken;
use Wikimedia\Message\DataMessageValue;
use Wikimedia\Message\MessageValue;
use Wikimedia\ParamValidator\ParamValidator;
diff --git a/includes/ServiceWiring.php b/includes/ServiceWiring.php
index 9a2ee18f9a38..6b62ee169e16 100644
--- a/includes/ServiceWiring.php
+++ b/includes/ServiceWiring.php
@@ -190,8 +190,10 @@ use MediaWiki\User\ActorNormalization;
use MediaWiki\User\ActorStore;
use MediaWiki\User\ActorStoreFactory;
use MediaWiki\User\BotPasswordStore;
+use MediaWiki\User\CentralId\CentralIdLookup;
use MediaWiki\User\CentralId\CentralIdLookupFactory;
use MediaWiki\User\DefaultOptionsLookup;
+use MediaWiki\User\PasswordReset;
use MediaWiki\User\Registration\LocalUserRegistrationProvider;
use MediaWiki\User\Registration\UserRegistrationLookup;
use MediaWiki\User\TalkPageNotificationManager;
diff --git a/includes/api/ApiFeedContributions.php b/includes/api/ApiFeedContributions.php
index b8af1f3f214a..fccffe2f3ac7 100644
--- a/includes/api/ApiFeedContributions.php
+++ b/includes/api/ApiFeedContributions.php
@@ -37,6 +37,7 @@ use MediaWiki\SpecialPage\SpecialPage;
use MediaWiki\Title\NamespaceInfo;
use MediaWiki\Title\Title;
use MediaWiki\Title\TitleParser;
+use MediaWiki\User\ExternalUserNames;
use MediaWiki\User\UserFactory;
use MediaWiki\User\UserRigorOptions;
use Wikimedia\ParamValidator\ParamValidator;
diff --git a/includes/api/ApiLogin.php b/includes/api/ApiLogin.php
index 8b3565b8616f..fe1745d5ca99 100644
--- a/includes/api/ApiLogin.php
+++ b/includes/api/ApiLogin.php
@@ -26,6 +26,7 @@ use MediaWiki\Auth\AuthenticationResponse;
use MediaWiki\Auth\AuthManager;
use MediaWiki\Logger\LoggerFactory;
use MediaWiki\MainConfigNames;
+use MediaWiki\User\BotPassword;
use Wikimedia\ParamValidator\ParamValidator;
/**
diff --git a/includes/api/ApiQueryUserContribs.php b/includes/api/ApiQueryUserContribs.php
index a695fb207f4e..f692645c1bf7 100644
--- a/includes/api/ApiQueryUserContribs.php
+++ b/includes/api/ApiQueryUserContribs.php
@@ -30,6 +30,7 @@ use MediaWiki\Storage\NameTableAccessException;
use MediaWiki\Storage\NameTableStore;
use MediaWiki\Title\Title;
use MediaWiki\User\ActorMigration;
+use MediaWiki\User\ExternalUserNames;
use MediaWiki\User\UserIdentity;
use MediaWiki\User\UserIdentityLookup;
use MediaWiki\User\UserIdentityValue;
diff --git a/includes/api/ApiResetPassword.php b/includes/api/ApiResetPassword.php
index afd0f075dc1b..2a21688790f6 100644
--- a/includes/api/ApiResetPassword.php
+++ b/includes/api/ApiResetPassword.php
@@ -23,6 +23,7 @@
use MediaWiki\MainConfigNames;
use MediaWiki\ParamValidator\TypeDef\UserDef;
use MediaWiki\Status\Status;
+use MediaWiki\User\PasswordReset;
use Wikimedia\ParamValidator\ParamValidator;
/**
diff --git a/includes/changes/RCCacheEntryFactory.php b/includes/changes/RCCacheEntryFactory.php
index af7d3d7e0c94..be972f49d644 100644
--- a/includes/changes/RCCacheEntryFactory.php
+++ b/includes/changes/RCCacheEntryFactory.php
@@ -26,6 +26,7 @@ use MediaWiki\Permissions\Authority;
use MediaWiki\Revision\RevisionRecord;
use MediaWiki\SpecialPage\SpecialPage;
use MediaWiki\Title\Title;
+use MediaWiki\User\ExternalUserNames;
class RCCacheEntryFactory {
diff --git a/includes/config-schema.php b/includes/config-schema.php
index 627cdd6423fc..29aa3af2557f 100755
--- a/includes/config-schema.php
+++ b/includes/config-schema.php
@@ -839,7 +839,7 @@ return [
'RevertedTagMaxDepth' => 15,
'CentralIdLookupProviders' => [
'local' => [
- 'class' => 'LocalIdLookup',
+ 'class' => 'MediaWiki\\User\\CentralId\\LocalIdLookup',
'services' => [
0 => 'MainConfig',
1 => 'DBLoadBalancerFactory',
diff --git a/includes/editpage/EditPage.php b/includes/editpage/EditPage.php
index 710247212efc..26034e73c61b 100644
--- a/includes/editpage/EditPage.php
+++ b/includes/editpage/EditPage.php
@@ -29,7 +29,6 @@ use DeferredUpdates;
use DeprecationHelper;
use DerivativeContext;
use ErrorPageError;
-use ExternalUserNames;
use IContextSource;
use LogPage;
use ManualLogEntry;
@@ -83,6 +82,7 @@ use MediaWiki\Status\Status;
use MediaWiki\Storage\EditResult;
use MediaWiki\Storage\PageUpdater;
use MediaWiki\Title\Title;
+use MediaWiki\User\ExternalUserNames;
use MediaWiki\User\TempUser\CreateStatus;
use MediaWiki\User\TempUser\TempUserCreator;
use MediaWiki\User\User;
diff --git a/includes/exception/PermissionsError.php b/includes/exception/PermissionsError.php
index d11e23d7fb16..50b401c1abf9 100644
--- a/includes/exception/PermissionsError.php
+++ b/includes/exception/PermissionsError.php
@@ -20,6 +20,7 @@
use MediaWiki\MediaWikiServices;
use MediaWiki\Permissions\PermissionStatus;
+use MediaWiki\User\UserGroupMembership;
/**
* Show an error when a user tries to do something they do not have the necessary
diff --git a/includes/htmlform/fields/HTMLUserTextField.php b/includes/htmlform/fields/HTMLUserTextField.php
index 265fd467baed..f6348e30ee3e 100644
--- a/includes/htmlform/fields/HTMLUserTextField.php
+++ b/includes/htmlform/fields/HTMLUserTextField.php
@@ -1,6 +1,7 @@
<?php
use MediaWiki\MediaWikiServices;
+use MediaWiki\User\ExternalUserNames;
use MediaWiki\Widget\UserInputWidget;
use Wikimedia\IPUtils;
diff --git a/includes/import/WikiImporter.php b/includes/import/WikiImporter.php
index 2a4d0a01755a..82f3029fd8df 100644
--- a/includes/import/WikiImporter.php
+++ b/includes/import/WikiImporter.php
@@ -46,6 +46,7 @@ use MediaWiki\Title\NamespaceInfo;
use MediaWiki\Title\SubpageImportTitleFactory;
use MediaWiki\Title\Title;
use MediaWiki\Title\TitleFactory;
+use MediaWiki\User\ExternalUserNames;
use Wikimedia\AtEase\AtEase;
use Wikimedia\NormalizedException\NormalizedException;
diff --git a/includes/linker/Linker.php b/includes/linker/Linker.php
index f5a4ebdb0861..561df2c6a4f0 100644
--- a/includes/linker/Linker.php
+++ b/includes/linker/Linker.php
@@ -24,7 +24,6 @@ namespace MediaWiki\Linker;
use ContextSource;
use DerivativeContext;
-use ExternalUserNames;
use File;
use HtmlArmor;
use IContextSource;
@@ -41,6 +40,7 @@ use MediaWiki\Revision\RevisionRecord;
use MediaWiki\SpecialPage\SpecialPage;
use MediaWiki\Title\Title;
use MediaWiki\Title\TitleValue;
+use MediaWiki\User\ExternalUserNames;
use MediaWiki\User\User;
use Message;
use MessageLocalizer;
diff --git a/includes/mail/EmailNotification.php b/includes/mail/EmailNotification.php
index efc9ab98df22..12671005401b 100644
--- a/includes/mail/EmailNotification.php
+++ b/includes/mail/EmailNotification.php
@@ -33,6 +33,7 @@ use MediaWiki\SpecialPage\SpecialPage;
use MediaWiki\Status\Status;
use MediaWiki\Title\Title;
use MediaWiki\User\User;
+use MediaWiki\User\UserArray;
use MediaWiki\User\UserIdentity;
/**
diff --git a/includes/mail/EmailUser.php b/includes/mail/EmailUser.php
index 77ed8917ae10..7dcc61b045d6 100644
--- a/includes/mail/EmailUser.php
+++ b/includes/mail/EmailUser.php
@@ -21,7 +21,6 @@
namespace MediaWiki\Mail;
use BadMethodCallException;
-use CentralIdLookup;
use MailAddress;
use MediaWiki\Block\AbstractBlock;
use MediaWiki\Config\ServiceOptions;
@@ -33,6 +32,7 @@ use MediaWiki\MediaWikiServices;
use MediaWiki\Permissions\Authority;
use MediaWiki\Preferences\MultiUsernameFilter;
use MediaWiki\SpecialPage\SpecialPage;
+use MediaWiki\User\CentralId\CentralIdLookup;
use MediaWiki\User\User;
use MediaWiki\User\UserFactory;
use MediaWiki\User\UserOptionsLookup;
diff --git a/includes/mail/EmailUserFactory.php b/includes/mail/EmailUserFactory.php
index 001ec0f536f4..5543b33ec90e 100644
--- a/includes/mail/EmailUserFactory.php
+++ b/includes/mail/EmailUserFactory.php
@@ -20,11 +20,11 @@
namespace MediaWiki\Mail;
-use CentralIdLookup;
use Config;
use MediaWiki\Config\ServiceOptions;
use MediaWiki\HookContainer\HookContainer;
use MediaWiki\Permissions\Authority;
+use MediaWiki\User\CentralId\CentralIdLookup;
use MediaWiki\User\UserFactory;
use MediaWiki\User\UserOptionsLookup;
use Wikimedia\Message\IMessageFormatterFactory;
diff --git a/includes/page/WikiPage.php b/includes/page/WikiPage.php
index 2f4827502a82..6c83555652da 100644
--- a/includes/page/WikiPage.php
+++ b/includes/page/WikiPage.php
@@ -50,6 +50,7 @@ use MediaWiki\Title\Title;
use MediaWiki\Title\TitleArray;
use MediaWiki\User\ActorMigration;
use MediaWiki\User\User;
+use MediaWiki\User\UserArrayFromResult;
use MediaWiki\User\UserIdentity;
use MediaWiki\Utils\MWTimestamp;
use MediaWiki\WikiMap\WikiMap;
diff --git a/includes/preferences/DefaultPreferencesFactory.php b/includes/preferences/DefaultPreferencesFactory.php
index 2053c634e05f..a1b09cc0480c 100644
--- a/includes/preferences/DefaultPreferencesFactory.php
+++ b/includes/preferences/DefaultPreferencesFactory.php
@@ -48,6 +48,7 @@ use MediaWiki\Title\NamespaceInfo;
use MediaWiki\Title\Title;
use MediaWiki\User\User;
use MediaWiki\User\UserGroupManager;
+use MediaWiki\User\UserGroupMembership;
use MediaWiki\User\UserOptionsLookup;
use MediaWiki\User\UserOptionsManager;
use MediaWiki\User\UserTimeCorrection;
@@ -62,7 +63,6 @@ use Psr\Log\LoggerAwareTrait;
use Psr\Log\NullLogger;
use SkinFactory;
use UnexpectedValueException;
-use UserGroupMembership;
use Xml;
/**
diff --git a/includes/preferences/MultiUsernameFilter.php b/includes/preferences/MultiUsernameFilter.php
index 82f3d3e2dfc3..18edf6dd5129 100644
--- a/includes/preferences/MultiUsernameFilter.php
+++ b/includes/preferences/MultiUsernameFilter.php
@@ -20,9 +20,9 @@
namespace MediaWiki\Preferences;
-use CentralIdLookup;
use MediaWiki\MediaWikiServices;
use MediaWiki\Permissions\Authority;
+use MediaWiki\User\CentralId\CentralIdLookup;
class MultiUsernameFilter implements Filter {
/**
diff --git a/includes/session/BotPasswordSessionProvider.php b/includes/session/BotPasswordSessionProvider.php
index 005d7a9b841c..e5f1c05c170a 100644
--- a/includes/session/BotPasswordSessionProvider.php
+++ b/includes/session/BotPasswordSessionProvider.php
@@ -23,10 +23,10 @@
namespace MediaWiki\Session;
-use BotPassword;
use MediaWiki\MainConfigNames;
use MediaWiki\Permissions\GrantsInfo;
use MediaWiki\Request\WebRequest;
+use MediaWiki\User\BotPassword;
use MediaWiki\User\User;
/**
diff --git a/includes/session/CsrfTokenSet.php b/includes/session/CsrfTokenSet.php
index d8f8171892fe..15a66012afec 100644
--- a/includes/session/CsrfTokenSet.php
+++ b/includes/session/CsrfTokenSet.php
@@ -20,8 +20,8 @@
namespace MediaWiki\Session;
-use LoggedOutEditToken;
use MediaWiki\Request\WebRequest;
+use MediaWiki\User\LoggedOutEditToken;
/**
* Stores and matches CSRF tokens belonging to a given session user.
diff --git a/includes/specials/SpecialBotPasswords.php b/includes/specials/SpecialBotPasswords.php
index 39889f983aa5..a95a8000002b 100644
--- a/includes/specials/SpecialBotPasswords.php
+++ b/includes/specials/SpecialBotPasswords.php
@@ -23,8 +23,6 @@
namespace MediaWiki\Specials;
-use BotPassword;
-use CentralIdLookup;
use ErrorPageError;
use HTMLForm;
use HTMLRestrictionsField;
@@ -36,6 +34,8 @@ use MediaWiki\Permissions\GrantsInfo;
use MediaWiki\Permissions\GrantsLocalization;
use MediaWiki\SpecialPage\FormSpecialPage;
use MediaWiki\Status\Status;
+use MediaWiki\User\BotPassword;
+use MediaWiki\User\CentralId\CentralIdLookup;
use MediaWiki\User\User;
use PasswordError;
use PasswordFactory;
diff --git a/includes/specials/SpecialContributions.php b/includes/specials/SpecialContributions.php
index 01c52b70f200..94f354b89d67 100644
--- a/includes/specials/SpecialContributions.php
+++ b/includes/specials/SpecialContributions.php
@@ -23,7 +23,6 @@
namespace MediaWiki\Specials;
-use ExternalUserNames;
use HTMLForm;
use HTMLMultiSelectField;
use LogEventsList;
@@ -43,6 +42,7 @@ use MediaWiki\Specials\Contribute\ContributeFactory;
use MediaWiki\Status\Status;
use MediaWiki\Title\NamespaceInfo;
use MediaWiki\Title\Title;
+use MediaWiki\User\ExternalUserNames;
use MediaWiki\User\User;
use MediaWiki\User\UserFactory;
use MediaWiki\User\UserIdentity;
diff --git a/includes/specials/SpecialListGroupRights.php b/includes/specials/SpecialListGroupRights.php
index 988f060fd8aa..2cf9c896aa7a 100644
--- a/includes/specials/SpecialListGroupRights.php
+++ b/includes/specials/SpecialListGroupRights.php
@@ -33,8 +33,8 @@ use MediaWiki\Title\NamespaceInfo;
use MediaWiki\Title\Title;
use MediaWiki\User\User;
use MediaWiki\User\UserGroupManager;
+use MediaWiki\User\UserGroupMembership;
use Sanitizer;
-use UserGroupMembership;
use Xml;
/**
diff --git a/includes/specials/SpecialMute.php b/includes/specials/SpecialMute.php
index 83ef2fa7af3f..7ca1b4fee553 100644
--- a/includes/specials/SpecialMute.php
+++ b/includes/specials/SpecialMute.php
@@ -21,12 +21,12 @@
namespace MediaWiki\Specials;
-use CentralIdLookup;
use ErrorPageError;
use HTMLForm;
use MediaWiki\MainConfigNames;
use MediaWiki\Preferences\MultiUsernameFilter;
use MediaWiki\SpecialPage\FormSpecialPage;
+use MediaWiki\User\CentralId\CentralIdLookup;
use MediaWiki\User\User;
use MediaWiki\User\UserIdentity;
use MediaWiki\User\UserIdentityLookup;
diff --git a/includes/specials/SpecialPasswordPolicies.php b/includes/specials/SpecialPasswordPolicies.php
index f22477c86786..2f48d478ca52 100644
--- a/includes/specials/SpecialPasswordPolicies.php
+++ b/includes/specials/SpecialPasswordPolicies.php
@@ -28,8 +28,8 @@ use MediaWiki\MainConfigNames;
use MediaWiki\SpecialPage\SpecialPage;
use MediaWiki\Title\Title;
use MediaWiki\User\UserGroupManager;
+use MediaWiki\User\UserGroupMembership;
use Sanitizer;
-use UserGroupMembership;
use UserPasswordPolicy;
use Xml;
diff --git a/includes/specials/SpecialPasswordReset.php b/includes/specials/SpecialPasswordReset.php
index 4d03e1197344..0053c3d5a897 100644
--- a/includes/specials/SpecialPasswordReset.php
+++ b/includes/specials/SpecialPasswordReset.php
@@ -28,8 +28,8 @@ use HTMLForm;
use MediaWiki\MainConfigNames;
use MediaWiki\SpecialPage\FormSpecialPage;
use MediaWiki\Status\Status;
+use MediaWiki\User\PasswordReset;
use MediaWiki\User\User;
-use PasswordReset;
use ThrottledError;
/**
diff --git a/includes/specials/SpecialStatistics.php b/includes/specials/SpecialStatistics.php
index 497e1d6edc51..e1be1c5d0af3 100644
--- a/includes/specials/SpecialStatistics.php
+++ b/includes/specials/SpecialStatistics.php
@@ -29,8 +29,8 @@ use MediaWiki\SiteStats\SiteStats;
use MediaWiki\SpecialPage\SpecialPage;
use MediaWiki\Title\Title;
use MediaWiki\User\UserGroupManager;
+use MediaWiki\User\UserGroupMembership;
use Sanitizer;
-use UserGroupMembership;
use Xml;
/**
diff --git a/includes/specials/SpecialUserRights.php b/includes/specials/SpecialUserRights.php
index 34f98af0a0e0..b9d46a412f7e 100644
--- a/includes/specials/SpecialUserRights.php
+++ b/includes/specials/SpecialUserRights.php
@@ -39,6 +39,7 @@ use MediaWiki\User\ActorStoreFactory;
use MediaWiki\User\UserFactory;
use MediaWiki\User\UserGroupManager;
use MediaWiki\User\UserGroupManagerFactory;
+use MediaWiki\User\UserGroupMembership;
use MediaWiki\User\UserIdentity;
use MediaWiki\User\UserNamePrefixSearch;
use MediaWiki\User\UserNameUtils;
@@ -46,7 +47,6 @@ use MediaWiki\Watchlist\WatchlistManager;
use MediaWiki\WikiMap\WikiMap;
use PermissionsError;
use UserBlockedError;
-use UserGroupMembership;
use Xml;
use XmlSelect;
diff --git a/includes/specials/pagers/NewFilesPager.php b/includes/specials/pagers/NewFilesPager.php
index 4bfc17e47087..f724b729058c 100644
--- a/includes/specials/pagers/NewFilesPager.php
+++ b/includes/specials/pagers/NewFilesPager.php
@@ -21,7 +21,6 @@
namespace MediaWiki\Pager;
-use ExternalUserNames;
use IContextSource;
use ImageGalleryBase;
use ImageGalleryClassNotFoundException;
@@ -31,6 +30,7 @@ use MediaWiki\Linker\LinkRenderer;
use MediaWiki\Permissions\GroupPermissionsLookup;
use MediaWiki\Title\Title;
use MediaWiki\Title\TitleValue;
+use MediaWiki\User\ExternalUserNames;
use RecentChange;
use Wikimedia\Rdbms\IConnectionProvider;
diff --git a/includes/specials/pagers/UsersPager.php b/includes/specials/pagers/UsersPager.php
index cd0e5507d8ec..70acf92d5a66 100644
--- a/includes/specials/pagers/UsersPager.php
+++ b/includes/specials/pagers/UsersPager.php
@@ -40,11 +40,11 @@ use MediaWiki\Linker\Linker;
use MediaWiki\MainConfigNames;
use MediaWiki\Title\Title;
use MediaWiki\User\UserGroupManager;
+use MediaWiki\User\UserGroupMembership;
use MediaWiki\User\UserIdentity;
use MediaWiki\User\UserIdentityLookup;
use MediaWiki\User\UserIdentityValue;
use stdClass;
-use UserGroupMembership;
use Wikimedia\Rdbms\IConnectionProvider;
/**
diff --git a/includes/user/ActorStore.php b/includes/user/ActorStore.php
index f803157909d8..c390e2b4efb5 100644
--- a/includes/user/ActorStore.php
+++ b/includes/user/ActorStore.php
@@ -22,7 +22,6 @@ namespace MediaWiki\User;
use CannotCreateActorException;
use DBAccessObjectUtils;
-use ExternalUserNames;
use InvalidArgumentException;
use MediaWiki\DAO\WikiAwareEntity;
use MediaWiki\User\TempUser\TempUserConfig;
diff --git a/includes/user/BotPassword.php b/includes/user/BotPassword.php
index 1a52648a1e53..955fdfefcbe1 100644
--- a/includes/user/BotPassword.php
+++ b/includes/user/BotPassword.php
@@ -18,6 +18,13 @@
* http://www.gnu.org/copyleft/gpl.html
*/
+namespace MediaWiki\User;
+
+use Config;
+use DBAccessObjectUtils;
+use FormatJson;
+use IDBAccessObject;
+use InvalidPassword;
use MediaWiki\Auth\AuthenticationResponse;
use MediaWiki\Auth\Throttler;
use MediaWiki\HookContainer\HookRunner;
@@ -27,8 +34,13 @@ use MediaWiki\Request\WebRequest;
use MediaWiki\Session\BotPasswordSessionProvider;
use MediaWiki\Session\SessionManager;
use MediaWiki\Status\Status;
-use MediaWiki\User\User;
-use MediaWiki\User\UserIdentity;
+use MWRestrictions;
+use ObjectCache;
+use Password;
+use PasswordError;
+use PasswordFactory;
+use stdClass;
+use UnexpectedValueException;
use Wikimedia\Rdbms\IDatabase;
/**
@@ -516,3 +528,9 @@ class BotPassword implements IDBAccessObject {
return $status;
}
}
+
+/**
+ * Retain the old class name for backwards compatibility.
+ * @deprecated since 1.41
+ */
+class_alias( BotPassword::class, 'BotPassword' );
diff --git a/includes/user/BotPasswordStore.php b/includes/user/BotPasswordStore.php
index a968ba104f8c..5c29907a9008 100644
--- a/includes/user/BotPasswordStore.php
+++ b/includes/user/BotPasswordStore.php
@@ -22,13 +22,12 @@
namespace MediaWiki\User;
-use BotPassword;
-use CentralIdLookup;
use DBAccessObjectUtils;
use FormatJson;
use IDBAccessObject;
use MediaWiki\Config\ServiceOptions;
use MediaWiki\MainConfigNames;
+use MediaWiki\User\CentralId\CentralIdLookup;
use MWCryptRand;
use MWRestrictions;
use Password;
diff --git a/includes/user/CentralId/CentralIdLookup.php b/includes/user/CentralId/CentralIdLookup.php
index 070b92c7c07a..93ecef8daa33 100644
--- a/includes/user/CentralId/CentralIdLookup.php
+++ b/includes/user/CentralId/CentralIdLookup.php
@@ -20,11 +20,17 @@
* @file
*/
+namespace MediaWiki\User\CentralId;
+
+use IDBAccessObject;
+use InvalidArgumentException;
+use LogicException;
use MediaWiki\MediaWikiServices;
use MediaWiki\Permissions\Authority;
use MediaWiki\User\User;
use MediaWiki\User\UserIdentity;
use MediaWiki\User\UserIdentityLookup;
+use Throwable;
/**
* The CentralIdLookup service allows for connecting local users with
@@ -296,3 +302,9 @@ abstract class CentralIdLookup implements IDBAccessObject {
}
}
+
+/**
+ * Retain the old class name for backwards compatibility.
+ * @deprecated since 1.41
+ */
+class_alias( CentralIdLookup::class, 'CentralIdLookup' );
diff --git a/includes/user/CentralId/CentralIdLookupFactory.php b/includes/user/CentralId/CentralIdLookupFactory.php
index a02d1400e877..c6f855754d11 100644
--- a/includes/user/CentralId/CentralIdLookupFactory.php
+++ b/includes/user/CentralId/CentralIdLookupFactory.php
@@ -20,9 +20,7 @@
namespace MediaWiki\User\CentralId;
-use CentralIdLookup;
use InvalidArgumentException;
-use LocalIdLookup;
use MediaWiki\Config\ServiceOptions;
use MediaWiki\MainConfigNames;
use MediaWiki\User\UserIdentityLookup;
diff --git a/includes/user/CentralId/LocalIdLookup.php b/includes/user/CentralId/LocalIdLookup.php
index d39f3d9c10ff..afbf978fea86 100644
--- a/includes/user/CentralId/LocalIdLookup.php
+++ b/includes/user/CentralId/LocalIdLookup.php
@@ -20,6 +20,10 @@
* @file
*/
+namespace MediaWiki\User\CentralId;
+
+use Config;
+use DBAccessObjectUtils;
use MediaWiki\MainConfigNames;
use MediaWiki\User\UserIdentity;
use MediaWiki\WikiMap\WikiMap;
@@ -140,3 +144,9 @@ class LocalIdLookup extends CentralIdLookup {
return $nameToId;
}
}
+
+/**
+ * Retain the old class name for backwards compatibility.
+ * @deprecated since 1.41
+ */
+class_alias( LocalIdLookup::class, 'LocalIdLookup' );
diff --git a/includes/user/ExternalUserNames.php b/includes/user/ExternalUserNames.php
index f15ca91b7635..8480cbeffb89 100644
--- a/includes/user/ExternalUserNames.php
+++ b/includes/user/ExternalUserNames.php
@@ -20,11 +20,13 @@
* @file
*/
+namespace MediaWiki\User;
+
+use IDBAccessObject;
use MediaWiki\HookContainer\HookRunner;
use MediaWiki\MediaWikiServices;
use MediaWiki\SpecialPage\SpecialPage;
use MediaWiki\Title\Title;
-use MediaWiki\User\UserRigorOptions;
/**
* Class to parse and build external user names
@@ -172,3 +174,9 @@ class ExternalUserNames {
}
}
+
+/**
+ * Retain the old class name for backwards compatibility.
+ * @deprecated since 1.41
+ */
+class_alias( ExternalUserNames::class, 'ExternalUserNames' );
diff --git a/includes/user/Hook/UserArrayFromResultHook.php b/includes/user/Hook/UserArrayFromResultHook.php
index 887b2feadd7c..0c49bc9f9da5 100644
--- a/includes/user/Hook/UserArrayFromResultHook.php
+++ b/includes/user/Hook/UserArrayFromResultHook.php
@@ -2,7 +2,7 @@
namespace MediaWiki\User\Hook;
-use UserArrayFromResult;
+use MediaWiki\User\UserArrayFromResult;
use Wikimedia\Rdbms\IResultWrapper;
/**
diff --git a/includes/user/Hook/UserGroupsChangedHook.php b/includes/user/Hook/UserGroupsChangedHook.php
index 3674f97e8ab7..ae979f06a894 100644
--- a/includes/user/Hook/UserGroupsChangedHook.php
+++ b/includes/user/Hook/UserGroupsChangedHook.php
@@ -3,8 +3,8 @@
namespace MediaWiki\User\Hook;
use MediaWiki\User\User;
+use MediaWiki\User\UserGroupMembership;
use MediaWiki\User\UserIdentity;
-use UserGroupMembership;
/**
* This is a hook handler interface, see docs/Hooks.md.
diff --git a/includes/user/LoggedOutEditToken.php b/includes/user/LoggedOutEditToken.php
index 0b950f02c508..d19aebd86064 100644
--- a/includes/user/LoggedOutEditToken.php
+++ b/includes/user/LoggedOutEditToken.php
@@ -21,6 +21,8 @@
* @ingroup Session
*/
+namespace MediaWiki\User;
+
use MediaWiki\Session\Token;
/**
@@ -51,3 +53,9 @@ class LoggedOutEditToken extends Token {
return $userToken === self::SUFFIX;
}
}
+
+/**
+ * Retain the old class name for backwards compatibility.
+ * @deprecated since 1.41
+ */
+class_alias( LoggedOutEditToken::class, 'LoggedOutEditToken' );
diff --git a/includes/user/PasswordReset.php b/includes/user/PasswordReset.php
index bfb8a00f7c40..c3ae4d699d16 100644
--- a/includes/user/PasswordReset.php
+++ b/includes/user/PasswordReset.php
@@ -20,19 +20,24 @@
* @file
*/
+namespace MediaWiki\User;
+
+use DeferredUpdates;
+use LogicException;
+use MapCacheLRU;
use MediaWiki\Auth\AuthManager;
use MediaWiki\Auth\TemporaryPasswordAuthenticationRequest;
use MediaWiki\Config\ServiceOptions;
use MediaWiki\HookContainer\HookContainer;
use MediaWiki\HookContainer\HookRunner;
use MediaWiki\MainConfigNames;
-use MediaWiki\User\User;
-use MediaWiki\User\UserFactory;
-use MediaWiki\User\UserNameUtils;
-use MediaWiki\User\UserOptionsLookup;
+use Message;
use Psr\Log\LoggerAwareInterface;
use Psr\Log\LoggerAwareTrait;
use Psr\Log\LoggerInterface;
+use Sanitizer;
+use SendPasswordResetEmailUpdate;
+use StatusValue;
use Wikimedia\Rdbms\IConnectionProvider;
/**
@@ -378,3 +383,9 @@ class PasswordReset implements LoggerAwareInterface {
}
}
+
+/**
+ * Retain the old class name for backwards compatibility.
+ * @deprecated since 1.41
+ */
+class_alias( PasswordReset::class, 'PasswordReset' );
diff --git a/includes/user/User.php b/includes/user/User.php
index 2d8ba1fd9c41..2a199820c202 100644
--- a/includes/user/User.php
+++ b/includes/user/User.php
@@ -26,11 +26,9 @@ use AllowDynamicProperties;
use ArrayIterator;
use DBAccessObjectUtils;
use Exception;
-use ExternalUserNames;
use FatalError;
use IDBAccessObject;
use InvalidArgumentException;
-use LoggedOutEditToken;
use MailAddress;
use MediaWiki\Auth\AuthenticationRequest;
use MediaWiki\Auth\AuthManager;
@@ -65,10 +63,7 @@ use RuntimeException;
use Sanitizer;
use stdClass;
use UnexpectedValueException;
-use UserArray;
-use UserArrayFromResult;
use UserCache;
-use UserGroupMembership;
use UserMailer;
use UserPasswordPolicy;
use WANObjectCache;
diff --git a/includes/user/UserArray.php b/includes/user/UserArray.php
index 428ee9878810..d6f9b710d145 100644
--- a/includes/user/UserArray.php
+++ b/includes/user/UserArray.php
@@ -20,9 +20,12 @@
* @file
*/
+namespace MediaWiki\User;
+
+use ArrayIterator;
+use Iterator;
use MediaWiki\HookContainer\HookRunner;
use MediaWiki\MediaWikiServices;
-use MediaWiki\User\User;
use Wikimedia\Rdbms\IResultWrapper;
abstract class UserArray implements Iterator {
@@ -101,3 +104,9 @@ abstract class UserArray implements Iterator {
*/
abstract public function key(): int;
}
+
+/**
+ * Retain the old class name for backwards compatibility.
+ * @deprecated since 1.41
+ */
+class_alias( UserArray::class, 'UserArray' );
diff --git a/includes/user/UserArrayFromResult.php b/includes/user/UserArrayFromResult.php
index 5a9d82ea0e96..05d441f93b03 100644
--- a/includes/user/UserArrayFromResult.php
+++ b/includes/user/UserArrayFromResult.php
@@ -20,7 +20,10 @@
* @file
*/
-use MediaWiki\User\User;
+namespace MediaWiki\User;
+
+use Countable;
+use stdClass;
use Wikimedia\Rdbms\IResultWrapper;
class UserArrayFromResult extends UserArray implements Countable {
@@ -88,3 +91,9 @@ class UserArrayFromResult extends UserArray implements Countable {
return $this->current !== false;
}
}
+
+/**
+ * Retain the old class name for backwards compatibility.
+ * @deprecated since 1.41
+ */
+class_alias( UserArrayFromResult::class, 'UserArrayFromResult' );
diff --git a/includes/user/UserGroupManager.php b/includes/user/UserGroupManager.php
index 93c6f85b29eb..445dfa641c57 100644
--- a/includes/user/UserGroupManager.php
+++ b/includes/user/UserGroupManager.php
@@ -37,7 +37,6 @@ use MediaWiki\WikiMap\WikiMap;
use Psr\Log\LoggerInterface;
use Sanitizer;
use UserGroupExpiryJob;
-use UserGroupMembership;
use Wikimedia\Assert\Assert;
use Wikimedia\IPUtils;
use Wikimedia\Rdbms\IConnectionProvider;
diff --git a/includes/user/UserGroupMembership.php b/includes/user/UserGroupMembership.php
index e33047f8cc47..ee7ef1435a30 100644
--- a/includes/user/UserGroupMembership.php
+++ b/includes/user/UserGroupMembership.php
@@ -20,9 +20,14 @@
* @file
*/
+namespace MediaWiki\User;
+
+use IContextSource;
+use InvalidArgumentException;
use MediaWiki\MediaWikiServices;
use MediaWiki\Title\Title;
-use MediaWiki\User\UserIdentity;
+use Message;
+use RequestContext;
/**
* Represents a "user group membership" -- a specific instance of a user belonging
@@ -299,3 +304,9 @@ class UserGroupMembership {
}
}
+
+/**
+ * Retain the old class name for backwards compatibility.
+ * @deprecated since 1.41
+ */
+class_alias( UserGroupMembership::class, 'UserGroupMembership' );
diff --git a/includes/user/UserRightsProxy.php b/includes/user/UserRightsProxy.php
index e88133eb96d7..7b55f2965e2d 100644
--- a/includes/user/UserRightsProxy.php
+++ b/includes/user/UserRightsProxy.php
@@ -20,12 +20,13 @@
* @file
*/
+namespace MediaWiki\User;
+
+use IDBAccessObject;
use MediaWiki\DAO\WikiAwareEntityTrait;
use MediaWiki\MainConfigNames;
use MediaWiki\MediaWikiServices;
use MediaWiki\Title\Title;
-use MediaWiki\User\UserGroupManager;
-use MediaWiki\User\UserIdentity;
use MediaWiki\WikiMap\WikiMap;
use Wikimedia\Rdbms\IDatabase;
@@ -338,3 +339,9 @@ class UserRightsProxy implements UserIdentity {
return $this->dbDomain;
}
}
+
+/**
+ * Retain the old class name for backwards compatibility.
+ * @deprecated since 1.41
+ */
+class_alias( UserRightsProxy::class, 'UserRightsProxy' );
diff --git a/maintenance/createBotPassword.php b/maintenance/createBotPassword.php
index c0a71566e506..ef77a3e33e1e 100644
--- a/maintenance/createBotPassword.php
+++ b/maintenance/createBotPassword.php
@@ -22,6 +22,7 @@
* @author Alex Dean <wikimedia@mostlyalex.com>
*/
+use MediaWiki\User\BotPassword;
use MediaWiki\User\User;
require_once __DIR__ . '/Maintenance.php';
diff --git a/maintenance/invalidateBotPasswords.php b/maintenance/invalidateBotPasswords.php
index fe684aa6bb0d..05dd62dd6cc0 100644
--- a/maintenance/invalidateBotPasswords.php
+++ b/maintenance/invalidateBotPasswords.php
@@ -21,6 +21,8 @@
* @ingroup Maintenance
*/
+use MediaWiki\User\BotPassword;
+
require_once __DIR__ . '/Maintenance.php';
/**
diff --git a/maintenance/renameUser.php b/maintenance/renameUser.php
index 01b12cc32a46..6ba1cc9e5ff7 100644
--- a/maintenance/renameUser.php
+++ b/maintenance/renameUser.php
@@ -24,6 +24,7 @@ require_once __DIR__ . '/Maintenance.php';
use MediaWiki\Page\MovePageFactory;
use MediaWiki\RenameUser\RenameuserSQL;
use MediaWiki\Title\Title;
+use MediaWiki\User\CentralId\CentralIdLookup;
use MediaWiki\User\User;
use MediaWiki\User\UserFactory;
diff --git a/tests/phpunit/includes/api/ApiLoginTest.php b/tests/phpunit/includes/api/ApiLoginTest.php
index a9e77fc48825..411c1932d4e1 100644
--- a/tests/phpunit/includes/api/ApiLoginTest.php
+++ b/tests/phpunit/includes/api/ApiLoginTest.php
@@ -3,6 +3,7 @@
use MediaWiki\MainConfigNames;
use MediaWiki\Session\BotPasswordSessionProvider;
use MediaWiki\Session\SessionManager;
+use MediaWiki\User\BotPassword;
use MediaWiki\User\User;
use Wikimedia\TestingAccessWrapper;
diff --git a/tests/phpunit/includes/preferences/DefaultPreferencesFactoryTest.php b/tests/phpunit/includes/preferences/DefaultPreferencesFactoryTest.php
index 026bbe83af5a..183752c0fef0 100644
--- a/tests/phpunit/includes/preferences/DefaultPreferencesFactoryTest.php
+++ b/tests/phpunit/includes/preferences/DefaultPreferencesFactoryTest.php
@@ -19,6 +19,7 @@ use MediaWiki\Title\NamespaceInfo;
use MediaWiki\Title\Title;
use MediaWiki\User\User;
use MediaWiki\User\UserGroupManager;
+use MediaWiki\User\UserGroupMembership;
use MediaWiki\User\UserIdentity;
use MediaWiki\User\UserOptionsLookup;
use MediaWiki\User\UserOptionsManager;
diff --git a/tests/phpunit/includes/session/BotPasswordSessionProviderTest.php b/tests/phpunit/includes/session/BotPasswordSessionProviderTest.php
index 7ac42015ee42..feeaab9559ff 100644
--- a/tests/phpunit/includes/session/BotPasswordSessionProviderTest.php
+++ b/tests/phpunit/includes/session/BotPasswordSessionProviderTest.php
@@ -3,6 +3,7 @@
namespace MediaWiki\Session;
use MediaWiki\MainConfigNames;
+use MediaWiki\User\BotPassword;
use MediaWikiIntegrationTestCase;
use MultiConfig;
use Psr\Log\LogLevel;
@@ -211,7 +212,7 @@ class BotPasswordSessionProviderTest extends MediaWikiIntegrationTestCase {
->onlyMethods( [ 'getIP' ] )->getMock();
$request->method( 'getIP' )
->willReturn( '127.0.0.1' );
- $bp = \BotPassword::newFromUser( $user, 'BotPasswordSessionProvider' );
+ $bp = BotPassword::newFromUser( $user, 'BotPasswordSessionProvider' );
$session = $provider->newSessionForRequest( $user, $bp, $request );
$this->assertInstanceOf( Session::class, $session );
@@ -239,7 +240,7 @@ class BotPasswordSessionProviderTest extends MediaWikiIntegrationTestCase {
->onlyMethods( [ 'getIP' ] )->getMock();
$request->method( 'getIP' )
->willReturn( '127.0.0.1' );
- $bp = \BotPassword::newFromUser( $user, 'BotPasswordSessionProvider' );
+ $bp = BotPassword::newFromUser( $user, 'BotPasswordSessionProvider' );
$data = [
'provider' => $provider,
diff --git a/tests/phpunit/includes/user/BotPasswordTest.php b/tests/phpunit/includes/user/BotPasswordTest.php
index bbe64b01f2a6..dc16be6245a0 100644
--- a/tests/phpunit/includes/user/BotPasswordTest.php
+++ b/tests/phpunit/includes/user/BotPasswordTest.php
@@ -4,6 +4,8 @@ use MediaWiki\MainConfigNames;
use MediaWiki\Request\FauxRequest;
use MediaWiki\Session\SessionManager;
use MediaWiki\Status\Status;
+use MediaWiki\User\BotPassword;
+use MediaWiki\User\CentralId\CentralIdLookup;
use Wikimedia\ScopedCallback;
use Wikimedia\TestingAccessWrapper;
diff --git a/tests/phpunit/includes/user/ExternalUserNamesTest.php b/tests/phpunit/includes/user/ExternalUserNamesTest.php
index d8b66080b6ef..3e05e3a96db4 100644
--- a/tests/phpunit/includes/user/ExternalUserNamesTest.php
+++ b/tests/phpunit/includes/user/ExternalUserNamesTest.php
@@ -2,6 +2,7 @@
use MediaWiki\Tests\Unit\DummyServicesTrait;
use MediaWiki\Title\Title;
+use MediaWiki\User\ExternalUserNames;
/**
* @covers ExternalUserNames
diff --git a/tests/phpunit/includes/user/LocalIdLookupTest.php b/tests/phpunit/includes/user/LocalIdLookupTest.php
index 3bcce65c7e62..747030c9a3cd 100644
--- a/tests/phpunit/includes/user/LocalIdLookupTest.php
+++ b/tests/phpunit/includes/user/LocalIdLookupTest.php
@@ -3,6 +3,8 @@
use MediaWiki\Block\DatabaseBlock;
use MediaWiki\MainConfigNames;
use MediaWiki\Tests\Unit\Permissions\MockAuthorityTrait;
+use MediaWiki\User\CentralId\CentralIdLookup;
+use MediaWiki\User\CentralId\LocalIdLookup;
use MediaWiki\User\UserIdentityValue;
/**
diff --git a/tests/phpunit/includes/user/UserGroupMembershipTest.php b/tests/phpunit/includes/user/UserGroupMembershipTest.php
index b1c5ac95fc46..21e9bfa31112 100644
--- a/tests/phpunit/includes/user/UserGroupMembershipTest.php
+++ b/tests/phpunit/includes/user/UserGroupMembershipTest.php
@@ -1,5 +1,7 @@
<?php
+use MediaWiki\User\UserGroupMembership;
+
class UserGroupMembershipTest extends MediaWikiIntegrationTestCase {
protected function setUp(): void {
diff --git a/tests/phpunit/integration/includes/Permissions/RateLimiterTest.php b/tests/phpunit/integration/includes/Permissions/RateLimiterTest.php
index 9ee7ea616d93..8982162fd6a2 100644
--- a/tests/phpunit/integration/includes/Permissions/RateLimiterTest.php
+++ b/tests/phpunit/integration/includes/Permissions/RateLimiterTest.php
@@ -3,7 +3,6 @@
namespace MediaWiki\Tests\Integration\Permissions;
use BufferingStatsdDataFactory;
-use CentralIdLookup;
use HashBagOStuff;
use Liuggio\StatsdClient\Entity\StatsdData;
use Liuggio\StatsdClient\Entity\StatsdDataInterface;
@@ -11,6 +10,7 @@ use MediaWiki\Config\ServiceOptions;
use MediaWiki\MainConfigNames;
use MediaWiki\Permissions\RateLimiter;
use MediaWiki\Permissions\RateLimitSubject;
+use MediaWiki\User\CentralId\CentralIdLookup;
use MediaWiki\User\UserIdentity;
use MediaWiki\User\UserIdentityValue;
use MediaWikiIntegrationTestCase;
diff --git a/tests/phpunit/integration/includes/user/UserRightsProxyTest.php b/tests/phpunit/integration/includes/user/UserRightsProxyTest.php
index 02a27df89482..37defd45b1b0 100644
--- a/tests/phpunit/integration/includes/user/UserRightsProxyTest.php
+++ b/tests/phpunit/integration/includes/user/UserRightsProxyTest.php
@@ -6,8 +6,8 @@ use MediaWiki\Config\SiteConfiguration;
use MediaWiki\MainConfigNames;
use MediaWiki\User\UserGroupManager;
use MediaWiki\User\UserGroupManagerFactory;
+use MediaWiki\User\UserRightsProxy;
use MediaWikiIntegrationTestCase;
-use UserRightsProxy;
use Wikimedia\Rdbms\DBConnRef;
use Wikimedia\Rdbms\ILoadBalancer;
use Wikimedia\Rdbms\LBFactory;
@@ -54,7 +54,7 @@ class UserRightsProxyTest extends MediaWikiIntegrationTestCase {
* @covers ::validDatabase
*/
public function testValidDatabase() {
- $this->hideDeprecated( 'UserRightsProxy::validDatabase' );
+ $this->hideDeprecated( 'MediaWiki\User\UserRightsProxy::validDatabase' );
$this->assertTrue( UserRightsProxy::validDatabase( 'foowiki' ) );
$this->assertFalse( UserRightsProxy::validDatabase( 'barwiki' ) );
@@ -66,7 +66,7 @@ class UserRightsProxyTest extends MediaWikiIntegrationTestCase {
* @covers ::getId
*/
public function testNewFromId() {
- $this->hideDeprecated( 'UserRightsProxy::newFromId' );
+ $this->hideDeprecated( 'MediaWiki\User\UserRightsProxy::newFromId' );
$id = 12345;
$userRightsProxy = UserRightsProxy::newFromId( 'foowiki', $id );
@@ -80,7 +80,7 @@ class UserRightsProxyTest extends MediaWikiIntegrationTestCase {
* @covers ::getName
*/
public function testNewFromName() {
- $this->hideDeprecated( 'UserRightsProxy::newFromName' );
+ $this->hideDeprecated( 'MediaWiki\User\UserRightsProxy::newFromName' );
$name = 'UserRightsProxyTest';
$userRightsProxy = UserRightsProxy::newFromName( 'foowiki', $name );
@@ -93,7 +93,7 @@ class UserRightsProxyTest extends MediaWikiIntegrationTestCase {
* @covers ::newFromLookup
*/
public function testInvalidDB() {
- $this->hideDeprecated( 'UserRightsProxy::newFromName' );
+ $this->hideDeprecated( 'MediaWiki\User\UserRightsProxy::newFromName' );
$userRightsProxy = UserRightsProxy::newFromName( 'barwiki', 'test' );
$this->assertNull( $userRightsProxy );
@@ -103,7 +103,7 @@ class UserRightsProxyTest extends MediaWikiIntegrationTestCase {
* @covers ::getUserPage
*/
public function testGetUserPage() {
- $this->hideDeprecated( 'UserRightsProxy::newFromName' );
+ $this->hideDeprecated( 'MediaWiki\User\UserRightsProxy::newFromName' );
$userRightsProxy = UserRightsProxy::newFromName( 'foowiki', 'UserRightsProxyTest' );
$userPage = $userRightsProxy->getUserPage();
@@ -115,7 +115,7 @@ class UserRightsProxyTest extends MediaWikiIntegrationTestCase {
* @covers ::equals
*/
public function testEquals() {
- $this->hideDeprecated( 'UserRightsProxy::newFromName' );
+ $this->hideDeprecated( 'MediaWiki\User\UserRightsProxy::newFromName' );
$userRightsProxy = UserRightsProxy::newFromName( 'foowiki', 'UserRightsProxyTest' );
$userRightsProxy2 = $this->createMock( UserRightsProxy::class );
@@ -127,7 +127,7 @@ class UserRightsProxyTest extends MediaWikiIntegrationTestCase {
* @covers ::getWikiId
*/
public function testGetWikiId() {
- $this->hideDeprecated( 'UserRightsProxy::newFromName' );
+ $this->hideDeprecated( 'MediaWiki\User\UserRightsProxy::newFromName' );
$userRightsProxy = UserRightsProxy::newFromName( 'foowiki', 'UserRightsProxyTest' );
$this->assertSame( 'foowiki', $userRightsProxy->getWikiId() );
@@ -138,7 +138,7 @@ class UserRightsProxyTest extends MediaWikiIntegrationTestCase {
* @covers ::isRegistered
*/
public function testIsRegistered() {
- $this->hideDeprecated( 'UserRightsProxy::newFromName' );
+ $this->hideDeprecated( 'MediaWiki\User\UserRightsProxy::newFromName' );
$userRightsProxy = UserRightsProxy::newFromName( 'foowiki', 'UserRightsProxyTest' );
$this->assertTrue( $userRightsProxy->isRegistered() );
@@ -152,7 +152,7 @@ class UserRightsProxyTest extends MediaWikiIntegrationTestCase {
* @covers ::removeGroup
*/
public function testGroupMethods() {
- $this->hideDeprecated( 'UserRightsProxy::newFromName' );
+ $this->hideDeprecated( 'MediaWiki\User\UserRightsProxy::newFromName' );
$userGroupManagerMock = $this->createMock( UserGroupManager::class );
$userGroupManagerMock
@@ -206,7 +206,7 @@ class UserRightsProxyTest extends MediaWikiIntegrationTestCase {
* @covers ::invalidateCache
*/
public function testOptions() {
- $this->hideDeprecated( 'UserRightsProxy::newFromName' );
+ $this->hideDeprecated( 'MediaWiki\User\UserRightsProxy::newFromName' );
$key = 'foo';
$value = 'bar';
diff --git a/tests/phpunit/unit/includes/mail/EmailUserTest.php b/tests/phpunit/unit/includes/mail/EmailUserTest.php
index e8b1bbb9f3b1..5bdf94ecee0e 100644
--- a/tests/phpunit/unit/includes/mail/EmailUserTest.php
+++ b/tests/phpunit/unit/includes/mail/EmailUserTest.php
@@ -2,7 +2,6 @@
namespace MediaWiki\Tests\Unit\Mail;
-use CentralIdLookup;
use Generator;
use MediaWiki\Block\AbstractBlock;
use MediaWiki\Config\ServiceOptions;
@@ -11,6 +10,7 @@ use MediaWiki\Mail\EmailUser;
use MediaWiki\Mail\IEmailer;
use MediaWiki\MainConfigNames;
use MediaWiki\Permissions\Authority;
+use MediaWiki\User\CentralId\CentralIdLookup;
use MediaWiki\User\User;
use MediaWiki\User\UserFactory;
use MediaWiki\User\UserOptionsLookup;
diff --git a/tests/phpunit/unit/includes/preferences/FiltersTest.php b/tests/phpunit/unit/includes/preferences/FiltersTest.php
index b24ebf4933df..972001eb7853 100644
--- a/tests/phpunit/unit/includes/preferences/FiltersTest.php
+++ b/tests/phpunit/unit/includes/preferences/FiltersTest.php
@@ -21,6 +21,7 @@
use MediaWiki\Preferences\IntvalFilter;
use MediaWiki\Preferences\MultiUsernameFilter;
use MediaWiki\Preferences\TimezoneFilter;
+use MediaWiki\User\CentralId\CentralIdLookup;
/**
* @group Preferences
diff --git a/tests/phpunit/unit/includes/user/CentralId/CentralIdLookupFactoryTest.php b/tests/phpunit/unit/includes/user/CentralId/CentralIdLookupFactoryTest.php
index b30679c0ab08..778e9342f7c5 100644
--- a/tests/phpunit/unit/includes/user/CentralId/CentralIdLookupFactoryTest.php
+++ b/tests/phpunit/unit/includes/user/CentralId/CentralIdLookupFactoryTest.php
@@ -2,14 +2,14 @@
namespace MediaWiki\Tests\User\CentralId;
-use CentralIdLookup;
use HashConfig;
use InvalidArgumentException;
-use LocalIdLookup;
use MediaWiki\Config\ServiceOptions;
use MediaWiki\MainConfigNames;
use MediaWiki\Tests\Unit\DummyServicesTrait;
+use MediaWiki\User\CentralId\CentralIdLookup;
use MediaWiki\User\CentralId\CentralIdLookupFactory;
+use MediaWiki\User\CentralId\LocalIdLookup;
use MediaWiki\User\UserIdentityLookup;
use MediaWikiUnitTestCase;
use Wikimedia\Rdbms\IConnectionProvider;
diff --git a/tests/phpunit/unit/includes/user/CentralId/CentralIdLookupTest.php b/tests/phpunit/unit/includes/user/CentralId/CentralIdLookupTest.php
index 731041d2cbac..128fee6b9737 100644
--- a/tests/phpunit/unit/includes/user/CentralId/CentralIdLookupTest.php
+++ b/tests/phpunit/unit/includes/user/CentralId/CentralIdLookupTest.php
@@ -2,11 +2,11 @@
namespace MediaWiki\Tests\User\CentralId;
-use CentralIdLookup;
use InvalidArgumentException;
use LogicException;
use MediaWiki\Permissions\Authority;
use MediaWiki\Tests\Unit\Permissions\MockAuthorityTrait;
+use MediaWiki\User\CentralId\CentralIdLookup;
use MediaWiki\User\User;
use MediaWiki\User\UserIdentity;
use MediaWiki\User\UserIdentityLookup;
diff --git a/tests/phpunit/unit/includes/user/UserArrayFromResultTest.php b/tests/phpunit/unit/includes/user/UserArrayFromResultTest.php
index 8d10ee317f3a..eb541a4b0791 100644
--- a/tests/phpunit/unit/includes/user/UserArrayFromResultTest.php
+++ b/tests/phpunit/unit/includes/user/UserArrayFromResultTest.php
@@ -1,5 +1,7 @@
<?php
+use MediaWiki\User\UserArrayFromResult;
+
/**
* @author Addshore
* @covers UserArrayFromResult