aboutsummaryrefslogtreecommitdiffstats
path: root/maintenance
diff options
context:
space:
mode:
authorKosta Harlan <kharlan@wikimedia.org>2024-06-14 13:25:39 +0200
committerKosta Harlan <kharlan@wikimedia.org>2024-06-14 15:26:44 +0000
commitefcc1015fa1717dd4884dca3faf44f34d47497fa (patch)
treeb231cd9f9f4be94701c91f73dc6503a03fff6297 /maintenance
parent20638462a74db10b5fbcbdd94fc35dd7801ddb80 (diff)
downloadmediawikicore-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.php14
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;
}