diff options
author | Kosta Harlan <kharlan@wikimedia.org> | 2024-06-14 13:25:39 +0200 |
---|---|---|
committer | Kosta Harlan <kharlan@wikimedia.org> | 2024-06-14 15:26:44 +0000 |
commit | efcc1015fa1717dd4884dca3faf44f34d47497fa (patch) | |
tree | b231cd9f9f4be94701c91f73dc6503a03fff6297 /maintenance | |
parent | 20638462a74db10b5fbcbdd94fc35dd7801ddb80 (diff) | |
download | mediawikicore-efcc1015fa1717dd4884dca3faf44f34d47497fa.tar.gz mediawikicore-efcc1015fa1717dd4884dca3faf44f34d47497fa.zip |
expireTemporaryAccounts: Provide support for overriding the expiry period
Why:
- When disabling temporary accounts, the wiki operator may wish to also
expire active temporary accounts.
What:
- Provide an override of the config setting for 'expireAfterDays' in the
maintenance script. Setting a value of "--expiry=0" will expire all
temporary accounts
Bug: T356524
Change-Id: I7313ce947d7d4de340418d145a9bdd15910403e8
Diffstat (limited to 'maintenance')
-rw-r--r-- | maintenance/expireTemporaryAccounts.php | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/maintenance/expireTemporaryAccounts.php b/maintenance/expireTemporaryAccounts.php index a4ffada6fcc0..1a40e7006c26 100644 --- a/maintenance/expireTemporaryAccounts.php +++ b/maintenance/expireTemporaryAccounts.php @@ -36,6 +36,12 @@ class ExpireTemporaryAccounts extends Maintenance { $this->addDescription( 'Expire temporary accounts that exist for more than N days' ); $this->addOption( 'frequency', 'How frequently the script runs [days]', true, true ); + $this->addOption( + 'expiry', + 'Expire accounts older than this number of days. Use 0 to expire all temporary accounts', + false, + true + ); $this->addOption( 'verbose', 'Verbose logging output' ); } @@ -148,8 +154,12 @@ class ExpireTemporaryAccounts extends Maintenance { } $frequencyDays = (int)$this->getOption( 'frequency' ); - $expiryAfterDays = $this->tempUserConfig->getExpireAfterDays(); - if ( !$expiryAfterDays ) { + if ( $this->getOption( 'expiry' ) !== null ) { + $expiryAfterDays = (int)$this->getOption( 'expiry' ); + } else { + $expiryAfterDays = $this->tempUserConfig->getExpireAfterDays(); + } + if ( $expiryAfterDays === null ) { $this->output( 'Temporary account expiry is not enabled' . PHP_EOL ); return; } |