X-Git-Url: https://git.heureux-cyclage.org/?a=blobdiff_plain;f=includes%2Fspecials%2FSpecialCreateAccount.php;h=2f87c478bbd043d144d119fb3f3b7ffdd0bc546b;hb=54c93f1d384cd5accd2db2ebbb911e4d627c2980;hp=73beafce0f5ece6a1e732256de2ca7c1d25de260;hpb=4a975b8099ee11b15421d03be02206935a8422f1;p=lhc%2Fweb%2Fwiklou.git diff --git a/includes/specials/SpecialCreateAccount.php b/includes/specials/SpecialCreateAccount.php index 73beafce0f..cc2fc80970 100644 --- a/includes/specials/SpecialCreateAccount.php +++ b/includes/specials/SpecialCreateAccount.php @@ -23,6 +23,7 @@ use MediaWiki\Auth\AuthManager; use MediaWiki\Logger\LoggerFactory; +use MediaWiki\MediaWikiServices; /** * Implements Special:CreateAccount @@ -50,7 +51,9 @@ class SpecialCreateAccount extends LoginSignupSpecialPage { } public function isRestricted() { - return !User::groupHasPermission( '*', 'createaccount' ); + return !MediaWikiServices::getInstance() + ->getPermissionManager() + ->groupHasPermission( '*', 'createaccount' ); } public function userCanExecute( User $user ) { @@ -63,6 +66,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 exist already + if ( $user->isBlockedFromCreateAccount() ) { + MediaWikiServices::getInstance()->getBlockManager()->trackBlockWithCookie( $user ); + } throw new ErrorPageError( 'createacct-error', $status->getMessage() ); } }