15 AuthManager::ACTION_LINK, AuthManager::ACTION_LINK_CONTINUE,
22 parent::__construct(
'LinkAccounts' );
35 return $this->
getConfig()->get( MainConfigNames::ChangeCredentialsBlacklist );
48 if ( $this->authAction === AuthManager::ACTION_LINK ) {
50 $titleMessage = $this->
msg(
'cannotlink-no-provider-title' );
51 $errorMessage = $this->
msg(
'cannotlink-no-provider' );
66 if ( $status ===
false || !$status->isOK() ) {
71 $response = $status->getValue();
73 switch ( $response->status ) {
74 case AuthenticationResponse::PASS:
77 case AuthenticationResponse::FAIL:
78 $this->
loadAuth(
'', AuthManager::ACTION_LINK,
true );
79 $this->
displayForm( StatusValue::newFatal( $response->message ) );
81 case AuthenticationResponse::REDIRECT:
82 $this->
getOutput()->redirect( $response->redirectTarget );
84 case AuthenticationResponse::UI:
85 $this->authAction = AuthManager::ACTION_LINK_CONTINUE;
86 $this->authRequests = $response->neededRequests;
87 $this->
displayForm( StatusValue::newFatal( $response->message ) );
90 throw new LogicException(
'invalid AuthenticationResponse' );
95 return AuthManager::ACTION_LINK;
104 $form = parent::getAuthForm( $requests, $action );
105 $form->setSubmitTextMsg(
'linkaccounts-submit' );
113 $this->
loadAuth(
'', AuthManager::ACTION_LINK,
true );
114 $this->
displayForm( StatusValue::newFatal( $this->
msg(
'linkaccounts-success-text' ) ) );
A special page subclass for authentication-related special pages.
isActionAllowed( $action)
Checks whether AuthManager is ready to perform the action.
displayForm( $status)
Display the form.
loadAuth( $subPage, $authAction=null, $reset=false)
Load or initialize $authAction, $authRequests and $subPage.
string $subPage
Subpage of the special page.
trySubmit()
Attempts to do an authentication step with the submitted data.
An error page which can definitely be safely rendered using the OutputPage.
A class containing constants representing the names of configuration variables.
Links/unlinks external accounts to the current user.
__construct(AuthManager $authManager)
success()
Show a success message.
isListed()
Whether this special page is listed in Special:SpecialPages.
getAuthForm(array $requests, $action)
getRequestBlacklist()
Allows blacklisting certain request types.
getGroupName()
Under which header this special page is listed in Special:SpecialPages See messages 'specialpages-gro...
getDefaultAction( $subPage)
Get the default action for this special page, if none is given via URL/POST data.
outputHeader( $summaryMessageKey='')
Outputs a summary message on top of special pages Per default the message key is the canonical name o...
setHeaders()
Sets headers - this should be called from the execute() method of all derived classes!
getOutput()
Get the OutputPage being used for this instance.
msg( $key,... $params)
Wrapper around wfMessage that sets the current context.
getConfig()
Shortcut to get main config object.
setAuthManager(AuthManager $authManager)
Set the injected AuthManager from the special page constructor.
getPageTitle( $subpage=false)
Get a self-referential title object.