2declare( strict_types=1 );
6use CallbackFilterIterator;
11use Wikimedia\Timestamp\ConvertibleTimestamp;
12use Wikimedia\Timestamp\TimestampFormat as TS;
36 $userName = $user->getName();
38 !$this->tempUserConfig->isTempName( $userName ) ||
44 if ( !$this->expiryCache->has( $userName ) ) {
45 $registration = $this->userRegistrationLookup->getFirstRegistration( $user );
50 return $this->expiryCache->get( $userName );
61 foreach ( $users as $user ) {
62 $usersById[$user->getId()] = $user->getName();
65 $users = is_array( $users ) ?
new ArrayIterator( $users ) : new IteratorIterator( $users );
66 $timestampsById = $this->userRegistrationLookup->getFirstRegistrationBatch(
67 new CallbackFilterIterator(
70 $user->isRegistered() && $this->tempUserConfig->isTempName( $user->getName() )
74 foreach ( $timestampsById as $userId => $registrationTimestamp ) {
76 $this->expiryCache->set(
78 $this->getExpirationState( $registrationTimestamp )
90 if ( !is_string( $registration ) ) {
94 $expireAfterDays = $this->tempUserConfig->getExpireAfterDays();
95 $expiresAt = (int)
wfTimestamp( TS::UNIX, $registration ) + $expireAfterDays * 86400;
96 return $expiresAt < ConvertibleTimestamp::now( TS::UNIX );
wfTimestamp( $outputtype=TS::UNIX, $ts=0)
Get a timestamp string in one of various formats.
if(!defined('MW_SETUP_CALLBACK'))