X-Git-Url: https://git.heureux-cyclage.org/?p=lhc%2Fweb%2Fwiklou.git;a=blobdiff_plain;f=includes%2Fauth%2FCreateFromLoginAuthenticationRequest.php;h=db827972cb36bb11b2ee57085c38b0e720466631;hp=949302d8bc402c716af1a82004bd1802f92d1092;hb=2480aae0c97d822e10b50619e7b48b25c45af073;hpb=5fd224c00b940f75c1f83e56b99961be94bde70a diff --git a/includes/auth/CreateFromLoginAuthenticationRequest.php b/includes/auth/CreateFromLoginAuthenticationRequest.php index 949302d8bc..db827972cb 100644 --- a/includes/auth/CreateFromLoginAuthenticationRequest.php +++ b/includes/auth/CreateFromLoginAuthenticationRequest.php @@ -25,7 +25,8 @@ namespace MediaWiki\Auth; * This transfers state between the login and account creation flows. * * AuthManager::getAuthenticationRequests() won't return this type, but it - * may be passed to AuthManager::beginAccountCreation() anyway. + * may be passed to AuthManager::beginAuthentication() or + * AuthManager::beginAccountCreation() anyway. * * @ingroup Auth * @since 1.27 @@ -50,6 +51,7 @@ class CreateFromLoginAuthenticationRequest extends AuthenticationRequest { ) { $this->createRequest = $createRequest; $this->maybeLink = $maybeLink; + $this->username = $createRequest ? $createRequest->username : null; } public function getFieldInfo() { @@ -59,4 +61,36 @@ class CreateFromLoginAuthenticationRequest extends AuthenticationRequest { public function loadFromSubmission( array $data ) { return true; } + + /** + * Indicate whether this request contains any state for the specified + * action. + * @param string $action One of the AuthManager::ACTION_* constants + * @return bool + */ + public function hasStateForAction( $action ) { + switch ( $action ) { + case AuthManager::ACTION_LOGIN: + return (bool)$this->maybeLink; + case AuthManager::ACTION_CREATE: + return $this->maybeLink || $this->createRequest; + default: + return false; + } + } + + /** + * Indicate whether this request contains state for the specified + * action sufficient to replace other primary-required requests. + * @param string $action One of the AuthManager::ACTION_* constants + * @return bool + */ + public function hasPrimaryStateForAction( $action ) { + switch ( $action ) { + case AuthManager::ACTION_CREATE: + return (bool)$this->createRequest; + default: + return false; + } + } }