X-Git-Url: https://git.heureux-cyclage.org/?a=blobdiff_plain;f=includes%2Fspecials%2FSpecialCreateAccount.php;h=2f87c478bbd043d144d119fb3f3b7ffdd0bc546b;hb=a9164f143a59a8d957a1d7f205715ac57fff3c8c;hp=2b43a49cee02da14087cb606cd475f040351f29e;hpb=99dbf4e1d4d7f18e02935bdb8cd3be4413ffe729;p=lhc%2Fweb%2Fwiklou.git diff --git a/includes/specials/SpecialCreateAccount.php b/includes/specials/SpecialCreateAccount.php index 2b43a49cee..2f87c478bb 100644 --- a/includes/specials/SpecialCreateAccount.php +++ b/includes/specials/SpecialCreateAccount.php @@ -63,6 +63,10 @@ class SpecialCreateAccount extends LoginSignupSpecialPage { $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() ); } } @@ -119,7 +123,12 @@ class SpecialCreateAccount extends LoginSignupSpecialPage { } 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; } }