userNameUtils = $userNameUtils; } /** * @see User::newFromName * @param string $name * @param string $validate Validation strategy, one of the UserNameUtils::RIGOR_* * constants. For no validation, use UserNameUtils::RIGOR_NONE. * @return User|bool */ public function newFromName( string $name, string $validate = UserNameUtils::RIGOR_VALID ) { return User::newFromName( $name, $validate ); } /** * Returns a new anonymous User based on ip. * * @since 1.35 * * @param string|null $ip IP address * @return User */ public function newAnonymous( $ip = null ) : User { if ( $ip ) { $validIp = $this->userNameUtils->isIP( $ip ); if ( $validIp ) { $user = $this->newFromName( $ip, UserNameUtils::RIGOR_NONE ); } else { throw new \InvalidArgumentException( 'Invalid IP address' ); } } else { $user = new User(); } return $user; } /** * @see User::newFromId * @param int $id * @return User */ public function newFromId( int $id ) : User { return User::newFromId( $id ); } /** * @see User::newFromActorId * @param int $actorId * @return User */ public function newFromActorId( int $actorId ) : User { return User::newFromActorId( $actorId ); } /** * @see User::newFromIdentity * @param UserIdentity $userIdentity * @return User */ public function newFromUserIdentity( UserIdentity $userIdentity ) : User { if ( $userIdentity instanceof User ) { return $userIdentity; } return $this->newFromAnyId( $userIdentity->getId() === 0 ? null : $userIdentity->getId(), $userIdentity->getName() === '' ? null : $userIdentity->getName(), $userIdentity->getActorId() === 0 ? null : $userIdentity->getActorId() ); } /** * @see User::newFromAnyId * @param ?int $userId * @param ?string $userName * @param ?int $actorId * @param bool|string $dbDomain * @return User */ public function newFromAnyId( ?int $userId, ?string $userName, ?int $actorId, $dbDomain = false ) : User { return User::newFromAnyId( $userId, $userName, $actorId, $dbDomain ); } /** * @see User::newFromConfirmationCode * @param string $confirmationCode * @param int $flags * @return User|null */ public function newFromConfirmationCode( string $confirmationCode, int $flags = self::READ_NORMAL ) { return User::newFromConfirmationCode( $confirmationCode, $flags ); } }