MediaWiki  master
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;
40  $dbr = $this->getDB( DB_REPLICA );
42  $res = $dbr->select( 'interwiki', [ 'iw_prefix' ], '', __METHOD__ );
43  $prefixes = [];
44  foreach ( $res as $row ) {
45  $prefixes[] = $row->iw_prefix;
46  }
47 
48  foreach ( $wgLocalDatabases as $wikiId ) {
49  $this->output( "$wikiId..." );
50  foreach ( $prefixes as $prefix ) {
51  $cache->delete( "$wikiId:interwiki:$prefix" );
52  }
53  $this->output( "done\n" );
54  }
55  }
56 }
57 
58 $maintClass = ClearInterwikiCache::class;
59 require_once RUN_MAINTENANCE_IF_MAIN;
RUN_MAINTENANCE_IF_MAIN
const RUN_MAINTENANCE_IF_MAIN
Definition: Maintenance.php:38
$wgLocalDatabases
string[] $wgLocalDatabases
Other wikis on this site, can be administered from a single developer account.
Definition: DefaultSettings.php:2275
ObjectCache\getLocalClusterInstance
static getLocalClusterInstance()
Get the main cluster-local cache object.
Definition: ObjectCache.php:272
Maintenance\addDescription
addDescription( $text)
Set the description text.
Definition: Maintenance.php:327
Maintenance
Abstract maintenance class for quickly writing and churning out maintenance scripts with minimal effo...
Definition: Maintenance.php:55
$maintClass
$maintClass
Definition: clearInterwikiCache.php:58
$res
$res
Definition: testCompression.php:57
$dbr
$dbr
Definition: testCompression.php:54
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:1370
ClearInterwikiCache\__construct
__construct()
Default constructor.
Definition: clearInterwikiCache.php:33
$cache
$cache
Definition: mcc.php:33
Maintenance\output
output( $out, $channel=null)
Throw some output to the user.
Definition: Maintenance.php:434