MediaWiki REL1_37
|
Helper class for the password reset functionality shared by the web UI and the API. More...
Public Member Functions | |
__construct (ServiceOptions $config, LoggerInterface $logger, AuthManager $authManager, HookContainer $hookContainer, ILoadBalancer $loadBalancer, UserFactory $userFactory, UserNameUtils $userNameUtils, UserOptionsLookup $userOptionsLookup) | |
This class is managed by MediaWikiServices, don't instantiate directly. | |
execute (User $performingUser, $username=null, $email=null) | |
Do a password reset. | |
isAllowed (User $user) | |
Check if a given user has permission to use this functionality. | |
Public Attributes | |
const | CONSTRUCTOR_OPTIONS |
Protected Member Functions | |
getUsersByEmail ( $email) | |
Private Member Functions | |
isBlocked (User $user) | |
Check whether the user is blocked. | |
Private Attributes | |
AuthManager | $authManager |
ServiceOptions | $config |
HookRunner | $hookRunner |
ILoadBalancer | $loadBalancer |
MapCacheLRU | $permissionCache |
In-process cache for isAllowed lookups, by username. | |
UserFactory | $userFactory |
UserNameUtils | $userNameUtils |
UserOptionsLookup | $userOptionsLookup |
Helper class for the password reset functionality shared by the web UI and the API.
Requires the TemporaryPasswordPrimaryAuthenticationProvider and the EmailNotificationSecondaryAuthenticationProvider (or something providing equivalent functionality) to be enabled.
Definition at line 43 of file PasswordReset.php.
PasswordReset::__construct | ( | ServiceOptions | $config, |
LoggerInterface | $logger, | ||
AuthManager | $authManager, | ||
HookContainer | $hookContainer, | ||
ILoadBalancer | $loadBalancer, | ||
UserFactory | $userFactory, | ||
UserNameUtils | $userNameUtils, | ||
UserOptionsLookup | $userOptionsLookup | ||
) |
This class is managed by MediaWikiServices, don't instantiate directly.
ServiceOptions | $config | |
LoggerInterface | $logger | |
AuthManager | $authManager | |
HookContainer | $hookContainer | |
ILoadBalancer | $loadBalancer | |
UserFactory | $userFactory | |
UserNameUtils | $userNameUtils | |
UserOptionsLookup | $userOptionsLookup |
Definition at line 95 of file PasswordReset.php.
References $userOptionsLookup, and MediaWiki\Config\ServiceOptions\assertRequiredOptions().
PasswordReset::execute | ( | User | $performingUser, |
$username = null , |
|||
$email = null |
|||
) |
Do a password reset.
Authorization is the caller's responsibility.
Process the form. At this point we know that the user passes all the criteria in userCanExecute(), and if the data array contains 'Username', etc, then Username resets are allowed.
User | $performingUser | The user that does the password reset |
string | null | $username | The user whose password is reset |
string | null | Alternative way to specify the user |
LogicException | When the user is not allowed to perform the action |
MWException | On unexpected DB errors |
Definition at line 177 of file PasswordReset.php.
References $userOptionsLookup, User\getId(), User\getName(), User\getRequest(), getUsersByEmail(), isAllowed(), Message\newFromSpecifier(), and User\pingLimiter().
|
protected |
string |
MWException | On unexpected database errors |
Definition at line 364 of file PasswordReset.php.
References $res, DB_REPLICA, and User\getQueryInfo().
Referenced by execute().
PasswordReset::isAllowed | ( | User | $user | ) |
Check if a given user has permission to use this functionality.
User | $user |
Definition at line 126 of file PasswordReset.php.
References User\getName(), User\isAllowed(), and isBlocked().
Referenced by execute().
|
private |
Check whether the user is blocked.
Ignores certain types of system blocks that are only meant to force users to log in.
User | $user |
Definition at line 349 of file PasswordReset.php.
References User\getBlock(), and User\getGlobalBlock().
Referenced by isAllowed().
|
private |
Definition at line 50 of file PasswordReset.php.
|
private |
Definition at line 47 of file PasswordReset.php.
|
private |
Definition at line 53 of file PasswordReset.php.
|
private |
Definition at line 56 of file PasswordReset.php.
|
private |
In-process cache for isAllowed lookups, by username.
Contains a StatusValue object
Definition at line 72 of file PasswordReset.php.
|
private |
Definition at line 59 of file PasswordReset.php.
|
private |
Definition at line 62 of file PasswordReset.php.
|
private |
Definition at line 65 of file PasswordReset.php.
const PasswordReset::CONSTRUCTOR_OPTIONS |
Definition at line 77 of file PasswordReset.php.