$user = $this->getUser();
$status = AuthManager::singleton()->checkAccountCreatePermissions( $user );
if ( !$status->isGood() ) {
+ // track block with a cookie if it doesn't exists already
+ if ( $user->isBlockedFromCreateAccount() ) {
+ $user->trackBlockWithCookie();
+ }
throw new ErrorPageError( 'createacct-error', $status->getMessage() );
}
}
} else {
$out->addWikiMsg( 'accountcreatedtext', $user->getName() );
}
- $out->addReturnTo( $this->getPageTitle() );
+
+ $rt = Title::newFromText( $this->mReturnTo );
+ $out->addReturnTo(
+ ( $rt && !$rt->isExternal() ) ? $rt : $this->getPageTitle(),
+ wfCgiToArray( $this->mReturnToQuery )
+ );
return;
}
}