Code Duplication    Length = 8-9 lines in 3 locations

includes/auth/AuthManager.php 3 locations

@@ 1603-1611 (lines=9) @@
1600
		}
1601
1602
		// Is the username creatable?
1603
		if ( !User::isCreatableName( $username ) ) {
1604
			$this->logger->debug( __METHOD__ . ': name "{username}" is not creatable', [
1605
				'username' => $username,
1606
			] );
1607
			$session->set( 'AuthManager::AutoCreateBlacklist', 'noname' );
1608
			$user->setId( 0 );
1609
			$user->loadFromId();
1610
			return Status::newFatal( 'noname' );
1611
		}
1612
1613
		// Is the IP user able to create accounts?
1614
		$anon = new User;
@@ 1630-1637 (lines=8) @@
1627
		// Avoid account creation races on double submissions
1628
		$cache = \ObjectCache::getLocalClusterInstance();
1629
		$lock = $cache->getScopedLock( $cache->makeGlobalKey( 'account', md5( $username ) ) );
1630
		if ( !$lock ) {
1631
			$this->logger->debug( __METHOD__ . ': Could not acquire account creation lock', [
1632
				'user' => $username,
1633
			] );
1634
			$user->setId( 0 );
1635
			$user->loadFromId();
1636
			return Status::newFatal( 'usernameinprogress' );
1637
		}
1638
1639
		// Denied by providers?
1640
		$options = [
@@ 1663-1670 (lines=8) @@
1660
		}
1661
1662
		$backoffKey = wfMemcKey( 'AuthManager', 'autocreate-failed', md5( $username ) );
1663
		if ( $cache->get( $backoffKey ) ) {
1664
			$this->logger->debug( __METHOD__ . ': {username} denied by prior creation attempt failures', [
1665
				'username' => $username,
1666
			] );
1667
			$user->setId( 0 );
1668
			$user->loadFromId();
1669
			return Status::newFatal( 'authmanager-autocreate-exception' );
1670
		}
1671
1672
		// Checks passed, create the user...
1673
		$from = isset( $_SERVER['REQUEST_URI'] ) ? $_SERVER['REQUEST_URI'] : 'CLI';