looks like i solved it. There are 2 steps:
- Set rejected items to expire immediately (LocalSettings.php)
- Prune rejected items at beginning of Request action (RequestAccount_body.php)
Details:
In LocalSettings.php, after required declaration, set Rejected-Age to 0. That ensures rejected requests will be removed on prune-action:
require_once "$IP/extensions/ConfirmAccount/ConfirmAccount.php";
$wgRejectedAccountMaxAge = 0;
Add Prune code to the function that shows the Request form:
in /ConfirmAccount/frontend/specialpages/actions/RequestAccount_body.php, function showForm, add very last command in the function:
old code:
$out->addWikiMsg( 'requestaccount-footer' );
}
new code:
$out->addWikiMsg( 'requestaccount-footer' );
# PRUNE
ConfirmAccount::runAutoMaintenance();
}