Code Duplication    Length = 21-21 lines in 2 locations

includes/auth/AuthPluginPrimaryAuthenticationProvider.php 2 locations

@@ 216-236 (lines=21) @@
213
		}
214
	}
215
216
	public function testUserCanAuthenticate( $username ) {
217
		$username = User::getCanonicalName( $username, 'usable' );
218
		if ( $username === false ) {
219
			return false;
220
		}
221
222
		// We have to check every domain, because at least LdapAuthentication
223
		// interprets AuthPlugin::userExists() as applying only to the current
224
		// domain.
225
		$curDomain = $this->auth->getDomain();
226
		$domains = $this->auth->domainList() ?: [ '' ];
227
		foreach ( $domains as $domain ) {
228
			$this->auth->setDomain( $domain );
229
			if ( $this->testUserCanAuthenticateInternal( User::newFromName( $username ) ) ) {
230
				$this->auth->setDomain( $curDomain );
231
				return true;
232
			}
233
		}
234
		$this->auth->setDomain( $curDomain );
235
		return false;
236
	}
237
238
	/**
239
	 * @see self::testUserCanAuthenticate
@@ 281-301 (lines=21) @@
278
		}
279
	}
280
281
	public function testUserExists( $username, $flags = User::READ_NORMAL ) {
282
		$username = User::getCanonicalName( $username, 'usable' );
283
		if ( $username === false ) {
284
			return false;
285
		}
286
287
		// We have to check every domain, because at least LdapAuthentication
288
		// interprets AuthPlugin::userExists() as applying only to the current
289
		// domain.
290
		$curDomain = $this->auth->getDomain();
291
		$domains = $this->auth->domainList() ?: [ '' ];
292
		foreach ( $domains as $domain ) {
293
			$this->auth->setDomain( $domain );
294
			if ( $this->auth->userExists( $username ) ) {
295
				$this->auth->setDomain( $curDomain );
296
				return true;
297
			}
298
		}
299
		$this->auth->setDomain( $curDomain );
300
		return false;
301
	}
302
303
	public function providerAllowsPropertyChange( $property ) {
304
		// No way to know the domain, just hope the provider handles that.