X-Git-Url: https://scripts.mit.edu/gitweb/autoinstallsdev/mediawiki.git/blobdiff_plain/19e297c21b10b1b8a3acad5e73fc71dcb35db44a..6932310fd58ebef145fa01eb76edf7150284d8ea:/maintenance/rebuildSitesCache.php diff --git a/maintenance/rebuildSitesCache.php b/maintenance/rebuildSitesCache.php new file mode 100644 index 00000000..230e86d4 --- /dev/null +++ b/maintenance/rebuildSitesCache.php @@ -0,0 +1,68 @@ +addDescription( 'Cache sites as json for file-based lookup.' ); + $this->addOption( 'file', 'File to output the json to', false, true ); + } + + public function execute() { + $sitesCacheFileBuilder = new SitesCacheFileBuilder( + \MediaWiki\MediaWikiServices::getInstance()->getSiteLookup(), + $this->getCacheFile() + ); + + $sitesCacheFileBuilder->build(); + } + + /** + * @return string + */ + private function getCacheFile() { + if ( $this->hasOption( 'file' ) ) { + $jsonFile = $this->getOption( 'file' ); + } else { + $jsonFile = $this->getConfig()->get( 'SitesCacheFile' ); + + if ( $jsonFile === false ) { + $this->error( 'Error: No file set in configuration for SitesCacheFile.', 1 ); + } + } + + return $jsonFile; + } + +} + +$maintClass = "RebuildSitesCache"; +require_once RUN_MAINTENANCE_IF_MAIN;