MediaWiki  master
purgeExpiredUserrights.php
Go to the documentation of this file.
1 <?php
22 
23 require_once __DIR__ . '/Maintenance.php';
24 
25 /*
26  * Remove expired userrights from user_groups table and move them to former_user_groups.
27  *
28  * By default, this does not need to be run. The UserGroupManager service naturally
29  * takes care of detecting expired rows when it is written to (e.g. from SpecialUserrights)
30  * and queues UserGroupExpiryJob to purge expired rows.
31  *
32  * Large wiki farms may experience stale rows if their users manage local groups
33  * via a central wiki. In that case, UserGroupExpiryJob may run rarely or never
34  * from local wikis, in which case this script can help to periodically clean up
35  * expired rows.
36  *
37  * @since 1.31
38  * @ingroup Maintenance
39  * @author Eddie Greiner-Petter <wikimedia.org at eddie-sh.de>
40  */
42  public function __construct() {
43  parent::__construct();
44  $this->addDescription( 'Move expired userrights from user_groups to former_user_groups table.' );
45  }
46 
47  public function execute() {
48  $this->output( "Purging expired user rights...\n" );
49  $res = MediaWikiServices::getInstance()->getUserGroupManager()->purgeExpired();
50  if ( $res === false ) {
51  $this->output( "Purging failed.\n" );
52  } else {
53  $this->output( "$res rows purged.\n" );
54  }
55  }
56 }
57 
58 $maintClass = PurgeExpiredUserrights::class;
59 require_once RUN_MAINTENANCE_IF_MAIN;
Abstract maintenance class for quickly writing and churning out maintenance scripts with minimal effo...
Definition: Maintenance.php:66
output( $out, $channel=null)
Throw some output to the user.
addDescription( $text)
Set the description text.
Service locator for MediaWiki core services.
execute()
Do the actual work.
__construct()
Default constructor.