MediaWiki  1.34.0
clearInterwikiCache.php
Go to the documentation of this file.
1 <?php
24 require_once __DIR__ . '/Maintenance.php';
25 
32 
33  public function __construct() {
34  parent::__construct();
35  $this->addDescription( 'Clear all interwiki links for all languages from the cache' );
36  }
37 
38  public function execute() {
39  global $wgLocalDatabases, $wgMemc;
40  $dbr = $this->getDB( DB_REPLICA );
41  $res = $dbr->select( 'interwiki', [ 'iw_prefix' ], '', __METHOD__ );
42  $prefixes = [];
43  foreach ( $res as $row ) {
44  $prefixes[] = $row->iw_prefix;
45  }
46 
47  foreach ( $wgLocalDatabases as $wikiId ) {
48  $this->output( "$wikiId..." );
49  foreach ( $prefixes as $prefix ) {
50  $wgMemc->delete( "$wikiId:interwiki:$prefix" );
51  }
52  $this->output( "done\n" );
53  }
54  }
55 }
56 
57 $maintClass = ClearInterwikiCache::class;
58 require_once RUN_MAINTENANCE_IF_MAIN;
RUN_MAINTENANCE_IF_MAIN
const RUN_MAINTENANCE_IF_MAIN
Definition: Maintenance.php:39
$wgLocalDatabases
string[] $wgLocalDatabases
Other wikis on this site, can be administered from a single developer account.
Definition: DefaultSettings.php:2168
Maintenance\addDescription
addDescription( $text)
Set the description text.
Definition: Maintenance.php:348
Maintenance
Abstract maintenance class for quickly writing and churning out maintenance scripts with minimal effo...
Definition: Maintenance.php:82
$maintClass
$maintClass
Definition: clearInterwikiCache.php:57
$res
$res
Definition: testCompression.php:52
$dbr
$dbr
Definition: testCompression.php:50
$wgMemc
$wgMemc
Definition: Setup.php:791
ClearInterwikiCache\execute
execute()
Do the actual work.
Definition: clearInterwikiCache.php:38
DB_REPLICA
const DB_REPLICA
Definition: defines.php:25
ClearInterwikiCache
Maintenance script to clear the cache of interwiki prefixes for all local wikis.
Definition: clearInterwikiCache.php:31
Maintenance\getDB
getDB( $db, $groups=[], $dbDomain=false)
Returns a database to be used by current maintenance script.
Definition: Maintenance.php:1396
ClearInterwikiCache\__construct
__construct()
Default constructor.
Definition: clearInterwikiCache.php:33
Maintenance\output
output( $out, $channel=null)
Throw some output to the user.
Definition: Maintenance.php:453